我已经将我的OpenCV开发从Python转移到Java,以便在Android设备上使用它。第一步是移植一个相当简单的Canny/HoughLines算法。通过一些研究,我最终得到了:
Mat lines = inputFrame.gray();
Mat cny=new Mat();
Imgproc.Canny(lines,cny,100,150);
Mat lns = new Mat();
Imgproc.HoughLinesP(cny, lns, 1, Math.PI/180, 50, 20, 20);
Log.w("MainActivity",String.valueOf(lns.cols()));
return cny;
这段代码的问题在于它总是打印出'1'或'0'行。从我Python代码的角度来看,它返回了数百行相同阈值和其他值,而这段代码只返回了一行。
我尝试调整所有参数,但没有成功。从Canny返回的Mat显示出合理的边缘,但HoughLines(标准和概率)始终只返回一条线。
我错过了什么?