Opencv C ++ «VideoCapture.open ()» всегда возвращает false в Android (Xamarin Android) - PullRequest
1 голос
/ 25 октября 2019

После создания объекта и инициализации его путем mpej / avi / mp4 я всегда получаю «false» в «obj.isOpened ()». Всегда получая флаг false независимо от того, что вы вводите в функцию открытия в качестве входного параметра. Я работаю в Xamarin Android. Код довольно прост, но я понятия не имею, почему он не работает.

Использование следующих инструментов:

1) VS2017

2) Xamarin Android (BindingПроект OpenCV с приложением Xamarin для Android. Использовал эту ссылку https://www.youtube.com/watch?v=pFv_1KeMZVs)

3) Opencv c ++ 4.0.1-1.4.4, jar

Я пробовалследующие

1) Предоставить все разрешения из манифеста Android

2) Использовать следующие в качестве входных параметров

**a)** Link

**b)** 0    ,  -1   , 2......5000

**c)** Local file from assets folder as well as Resource-> Drawable folder

3) Пробовал разные форматы (mp4, Mpeg, Avi). Ничего не сработало.

4) Импортировано "FFmpeg-2.1 -1.4.4.jar" в проекте привязки. Это не сработало.

5) Скачал пример проекта Opencv (версия = 3.1.0) и запустил мой код в проекте. Это не сработало.

Код:

string Video_Path = ("android.resource://" + this.PackageName +"/" + Resource.Drawable.sample2);
VideoCapture capture = new VideoCapture();
bool flag=capture.Open(Video_Path);
if (capture.IsOpened)
{
}
else
{
}

Примечание: В приведенном выше примере sample2 находится мой файл mpej / mp4 / avi.
OpenCV работает нормально, потому что я проверил свой код, преобразовав изображение в оттенки серого, и это сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...