我已将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;
Run Code Online (Sandbox Code Playgroud)
这段代码的问题在于它总是打印"1"或"0"行.从与我的Python代码相同的角度返回100个具有相同阈值和其他值的行,此代码返回一个.
我试过调整所有参数,没有运气.Canny返回的Mat显示合理的边缘,但HoughLines(标准的和概率的)总是只返回一行.
我错过了什么?
| 归档时间: |
|
| 查看次数: |
2595 次 |
| 最近记录: |