После создания объекта и инициализации его путем 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 работает нормально, потому что я проверил свой код, преобразовав изображение в оттенки серого, и это сработало.