圆检测图像处理布尔输出

时间:2016-07-12 13:11:22

标签: matlab image-processing

我正致力于在相机预览中的图像中实现霍夫变换以进行圆检测。在一些阈值处理之后,图像最有可能看起来如下。

enter image description here

我刚刚介绍了hough变换,我正在使用以下代码。

[rows,columns] = size(circle);
acc = zeros(rows,columns);

r=9;

for x=1:columns
    for y=1:rows
        if(circle(y,x)==0)
            for ang=0:360
                t=(ang*pi)/180;
                x0=round(x-r*cos(t));
                y0=round(y-r*sin(t));
                if(x0<columns && x0>0 && y0<rows && y0>0)
                    acc(y0,x0)=acc(y0,x0)+1;
                end
            end
        end
    end
end

如何使用累加器返回一个布尔值(例如,如果有一个圆圈,则返回true)。

如果有比使用Hough Transform更简单的方法,请告诉我。谢谢。

1 个答案:

答案 0 :(得分:0)

已经有一个matlab函数可以解决这个问题 http://de.mathworks.com/help/images/ref/imfindcircles.html

或者你只是想自己写一下hough-transform?