Android中的JavaCV错误
这可能是之前提出的关于Android上JavaCV的相关问题。我的主要目标是在视频上应用灰度/其他图像效果Android中的JavaCV错误,android,opencv,ffmpeg,video-processing,javacv,Android,Opencv,Ffmpeg,Video Processing,Javacv,这可能是之前提出的关于Android上JavaCV的相关问题。我的主要目标是在视频上应用灰度/其他图像效果 File sourceFile = new File(Environment.getExternalStorageDirectory() + File.separator + "test.mp4"); FFmpegFrameGrabber ffg = new FFmpegFrameGrabber(sourceFile); OpenCVFrameCon
File sourceFile = new File(Environment.getExternalStorageDirectory()
+ File.separator + "test.mp4");
FFmpegFrameGrabber ffg = new FFmpegFrameGrabber(sourceFile);
OpenCVFrameConverter.ToIplImage converter = new OpenCVFrameConverter.ToIplImage();
try {
ffg.start();
int count = 0;
while (true) {
Log.d("JAVA_CV", "Counting . . . " + count);
Frame original_frame = ffg.grab();
if (original_frame == null) {
Log.d("JAVA_CV", "original_frame is NULL at" + count);
break;
} else {
Log.d("JAVA_CV", "original_frame is NOT_NULL at" + count);
opencv_core.IplImage frame1 = converter.convert(original_frame);
opencv_core.IplImage frame2 = opencv_core.IplImage.create(original_frame.imageWidth, original_frame.imageHeight, opencv_core.IPL_DEPTH_8U, 1);
opencv_imgproc.cvCvtColor(frame1, frame2, opencv_imgproc.COLOR_RGB2GRAY);
}
count++;
}
} catch (FrameGrabber.Exception fe) {
fe.printStackTrace();
System.out.println(fe.getMessage());
} catch (Exception e) {
e.printStackTrace();
System.out.println(e.getMessage());
}
}
第行发生异常
opencv_imgproc.cvCvtColor(frame1, frame2, opencv_imgproc.COLOR_RGB2GRAY);
异常堆栈显示:
OpenCV Error: Assertion failed (scn == 3 || scn == 4) in void cv::cvtColor(cv::InputArray, cv::OutputArray, int, int), file /home/saudet/projects/bytedeco/javacpp-presets/opencv/cppbuild/android-arm/opencv-2.4.11/modules/imgproc/src/color.cpp, line 3739
我的研究表明,问题在于频道和目标颜色,如前所述。请告诉我在哪里可以获得彩色频道表?或者其他替代方案