>我正在尝试制作一个简单的应用程序来检测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 函数中的第一个参数应该是(来自文档):
8 位单通道二进制源映像。
您的 mRgba 是 4 通道图像(红色、绿色、蓝色和 alpha)。将其转换为灰色(例如 inputFrame.gray() )。