目录
💥1 概述
📚2 运行结果
🎉3 参考文献
👨💻4 Matlab代码
💥1 概述
Hough变换的基本原理在于,利用点与线的对偶性,将图像空间的线条变为参数空间的聚集点,从而检测给定图像是否存在给定性质的曲线。圆的方程为:(x-a)^2+(y-b)^2=r^2,通过Hough变换,将图像空间对应到参数空间。
📚2 运行结果
主函数部分代码:
fname = '.\traffic\001.jpg';
I = imread(fname);
[m,n,k] = size(I);
if k==3
I=rgb2gray(I); % Transform RGB image to a Gray one.
end
figure; imshow(uint8(I));
% prerprocessing,histogram equation and filter
I = adapthisteq(I);
fltr4img = fspecial('gaussian',5,1);
I = filter2( fltr4img,I);
% CACD main
cirparam = curature_HT(I,7,1.8,0);
cirparam = circheck(cirparam);
if ~isempty(cirparam)
figure; imshow(rgb2gray((imread(fname)))); colormap('gray'); axis image;
hold on;
plot(cirparam(:,1), cirparam(:,2), 'r+','LineWidth',1);
for k = 1 : size(cirparam, 1),
DrawCircle(cirparam(k,1), cirparam(k,2), cirparam(k,3), 128, 'r-');
end
hold off;
title(['Raw Image with Circles Detected ', ...
'(center positions and radii marked)']);
end
size(cirparam,1)
🎉3 参考文献
[1]屈汉章,王洋,吴成茂.基于直径累积的霍夫变换检测圆算法[J].西安邮电大学学报,2017,22(05):89-93.
部分理论引用网络文献,若有侵权联系博主删除。