资源简介
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编写的离散余弦变换编码
- Hough变换实现椭圆及圆检测(MATLAB)
- 数字图像处理radon matlab变换算法代码
- HHT变换的三种方法 Matlab,包含CMD分解
- 同步挤压小波变换分离混沌干扰 mat
- matlab.m 获取wav文件基频 mel倒谱 ff
- HHT变换的三种方法+Matlab程序
- HHT变换的三种方法 Matlab
- matlab 图像傅里叶变换 (源代码)
- 基于KL变换的人脸识别 matlab
- 基于matlab的坐标变换程序,通过坐标
- 基于MATLAB的傅里叶级数可视化
- 遥感影像融合_数字图像处理的matlab程
- 小波变换工具箱
- 傅里叶变化频谱图及频域滤波
- 图像处理---matlab
- matlab数字图像处理之几何变换将图像
- matlab数字图像处理之图像几何变换
- MATLAB霍夫曼变换的表盘刻度识别系统
- matlab实现一维和二维离散小波变换,
- 边缘检测+hough直线检测
- 遥感数字图像处理-matlab-主成份及穗帽
- 基于运动想象脑电信号的多特征融合
- 基于Hough变化的答题卡识别.zip
- 小波变换图像融合的matlab实现
- 基于K-L变换的人脸识别系统
- 基于DCT变换和DFT变换的数字图像压缩
评论
共有 条评论