基于Matlab的Hough变换形状检测

时间:2015-05-04 06:52:44

标签: matlab hough-transform shape-recognition

我正在使用正确工作的Matlab代码(原始代码来自here),它使用Hough trnsform来检测基本形状,如圆形,方形和三角形。以下是重要的代码段。 / p>

[H, theta,rho]=hough(S);

H以上是Hough变换矩阵,S是形状的黑白图像。

for cnt = 1:max(max(H))
    data(cnt) = sum(sum(H == cnt));
end

这是形状检测部分。

[maxval,maxind] = max(data);
medval = median(data);

[p]=polyfit(1:maxind-5,data(1:maxind-5),2);

if maxval<3*medval
    set(handles.txtResult,'string','Triangle');
elseif  p(3)>100
    set(handles.txtResult,'string','Square');
else
    set(handles.txtResult,'string','Round'); 
end

我可以理解&#34;数据&#34;(存储Hough Matrix强度频率)。我无法理解它用来检测形状的逻辑。 maxval<3*medvalp(3)>100

0 个答案:

没有答案
相关问题