【发布时间】:2018-05-08 22:33:13
【问题描述】:
我想裁剪我使用霍夫变换检测到的圆圈,我成功地检测到了圆圈,但我不明白如何裁剪它们。 这是我用于霍夫变换的代码:
for( int i=0;i<circles.cols();i++){
Point center = new Point( Math.round(circles.get(0,i)[0]),
Math.round(circles.get(0, i)[1]));
System.out.println("X============="+i+":"+circles.get(0,i)[0]);
System.out.println("Y============="+i+":"+circles.get(0,i)[1]);
int radius = (int) Math.round(circles.get(0, i)[2]);
//System.out.println("--Rayon--:"+radius);
Imgproc.circle( image, center, radius, new Scalar(0,0,255),3);//radius, color) `
【问题讨论】:
-
霍夫圆变换的结果为您提供中心像素和半径。这应该足以定义包含圆圈的感兴趣区域,您可以将其插入新矩阵以创建裁剪图像。
-
我没明白,如果你能解释更多或给我一个算法,可以吗?
-
裁剪到底是什么意思?我从来没有使用过 JavaCV,但如果你具体说明你的意思,我可能会找到一个资源来展示如何为圆圈创建 ROI 或掩码。
-
我的意思是我想隔离我在矩阵中使用霍夫变换检测到的圆圈。