我正在尝试制作一个简单的应用程序来检测OpenCV的行

我的代码基于opencv示例代码

我只编辑了OnCameraFrame部分

这是我所拥有的:

public Mat onCameraFrame(CvCameraViewFrame inputFrame) {
        Mat mRgba;
        mRgba = inputFrame.rgba();

        int thresh;
        double min;
        double max;

        Mat lines = new Mat();
        thresh = 50;
        min = 20;
        max = 20;
        Imgproc.HoughLinesP(mRgba, lines, 1, Math.PI/180, thresh, min, max);
        return mRgba;
    }

应用程序崩溃了,但是

如果我删除此行,它可以正常运行:
Imgproc.HoughLinesP(mRgba, lines, 1, Math.PI/180, thresh, min, max);

这是我启动应用程序时得到的:

http://pastebin.com/swGn7ZVJ

最佳答案

这个Imgproc函数的第一个参数应该是(来自docs):



您的mRgba是4通道图像(红色,绿色,蓝色和Alpha)。将其转换为灰色(例如inputFrame.gray())。

10-05 17:59