Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android中的JavaCV错误_Android_Opencv_Ffmpeg_Video Processing_Javacv - Fatal编程技术网

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

这可能是之前提出的关于Android上JavaCV的相关问题。我的主要目标是在视频上应用灰度/其他图像效果

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
我的研究表明,问题在于频道和目标颜色,如前所述。请告诉我在哪里可以获得彩色频道表?或者其他替代方案