我想使用OpenCV开发一个用于检测道路线的Android应用程序。 但我无法检查它。所以我需要阅读视频并处理每一帧,我想同时展示它。我怎样才能做到这一点? 阅读视频并获取功能中的每个帧并返回处理过的帧并在屏幕上显示该帧?
VideoCapture capture;
capture.open(R.raw.vid);
if (!capture.isOpened())
{
Log.i(TAG,"capture isn't open. closing..");
}
for( ; ; )
{
capture.retrieve(mRgba, Highgui.CV_CAP_ANDROID_COLOR_FRAME_RGBA);
if(mRgba.empty()){
break; }
Imgproc.cvtColor(mRgba, mRgba, Imgproc.COLOR_RGB2BGRA);
Bitmap bmp = Bitmap.createBitmap(mRgba.cols(), mRgba.rows(), Bitmap.Config.ARGB_8888);
Utils.matToBitmap(mRgba, bmp);
ImageView imgView = (ImageView) findViewById(R.id.imageView1);
imgView.setImageBitmap(bmp);
}
此代码有什么问题?
谢谢
答案 0 :(得分:0)
抱歉这个坏消息,但是不支持在opencv上读/写视频文件(由于缺少ffmpeg后端)
你必须为此提出自己的(原生)解决方案。