资源简介
Hough变换可以检测已知形状的目标,而且受噪声和曲线间断的影响小,matlab代码。
代码片段和文件信息
function [hough_spacehough_circlepara] = hough_circle(BWstep_rstep_angler_minr_maxp)
% %%%%%%%%%%%%%%%%%%%%%%%%%%
% input
% BW:二值图像;
% step_r:检测的圆半径步长
% step_angle:角度步长,单位为弧度
% r_min:最小圆半径
% r_max:最大圆半径
% p:阈值,0,1之间的数
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% output
% hough_space:参数空间,h(abr)表示圆心在(ab)半径为r的圆上的点数
% hough_circl:二值图像,检测到的圆
% para:检测到的圆的圆心、半径
[mn] = size(BW);
size_r = round((r_max-r_min)/step_r)+1;
size_angle = round(2*pi/step_angle);
hough_space = zeros(mnsize_r);
[rowscols] = find(BW);
ecount = size(rows);
% Hough变换
% 将图像空间(xy)对应到参数空间(abr)
% a = x-r*cos(angle)
% b = y-r*sin(angle)
for i=1:ecount
for r=1:size_r
for k=1:size_angle
a = round(rows(i)-(r_min+(r-1)*step_r)*cos(k*step_angle));
b = round(cols(i)-(r_min+(r-1)*step_r)*sin(k*step_angle));
if(a>0&a<=m&b>0&b<=n)
hough_space(abr) = hough_space(abr)+1;
end
end
end
end
% 搜索超过阈值的聚集点
max_para = max(max(max(hough_space)));
index = find(hough_space>=max_para*p);
length = size(index);
hough_circle = false(mn);
for i=1:ecount
for k=1:length
par3 = floor(index(k)/(m*n))+1;
par2 = floor((index(k)-(par3-1)*(m*n))/m)+1;
par1 = index(k)-(par3-1)*(m*n)-(par2-1)*m;
if((rows(i)-par1)^2+(cols(i)-par2)^2<(r_min+(par3-1)*step_r)^2+5&...
(rows(i)-par1)^2+(cols(i)-par2)^2>(r_min+(par3-1)*step_r)^2-5)
hough_circle(rows(i)cols(i)) = true;
end
end
end
% 打印检测结果
for k=1:length
par3 = floor(index(k)/(m*n))+1;
par2 = floor((index(k)-(par3-1)*(m*n))/m)+1;
par1 = index(k)-(par3-1)*(m*n)-(par2-1)*m;
par3 = r_min+(par3-1)*step_r;
fprintf(1‘Center %d %d radius %d\n‘par1par2par3);
para(:k) = [par1par2par3];
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 406 2005-12-17 12:39 main.m
文件 36352 2005-12-17 13:37 Hough变换.doc
文件 46926 2005-12-16 11:34 2.bmp
文件 1973 2005-12-17 13:33 hough_circle.m
* 文件 4862 2006-09-29 09:08 中国图象图形网下载说明.html
----------- --------- ---------- ----- ----
90519 5
相关资源
- 基于小波变换的图像数字水印MATLAB代
- 小波变换MATLAB代码
- matlab实现文件读写波形处理,小波变
- 小波变换 matlab程序
- matlab代码,小波变换实现图像去噪,
- 永磁同步电机矢量变换控制MATLAB仿真
- DQ变换Matlab 仿真实现
- SAR图像去噪matlab小波去噪、contourlet变
- 基于MATLABhough变换的表盘刻度识别系统
- matlab实现的小波变换彩色图像水印嵌
- 小波变换的压缩感知图像处理
- 图像的检测消失点
- BuckBoost变换器
- 小波变换实现微弱信号检测
- 二维傅里叶变换相位提取
- matlab的高帽变换
- 检测ECG信号的R波
- 基于墨西哥草帽小波函数进行连续小
- 小波变换的水下图像目标检测
- 分数阶傅里叶变换
- 基于Hough变换的航迹起始方法
- HHT变换matlab程序
- LBP特征提取的MATLAB实现
- 基于HOUGH变换的车道线检测和识别的程
- 石墨烯的电导率计算 (Complex conduc
- 用于压缩感知的各种稀疏变换基和观
- 以全控型器件和PWM 技术为特征的二极
- 矩阵变换器永磁同步电机矢量控制
- 基于DSP和CPLD的矩阵变换器控制研究
- 基于小波变换的数字水印算法
评论
共有 条评论