%圆的方程是(x-a).^2+(y-b)>^2=r.^2
%转换为极坐标系是x=a-r*cos(theta);y=b-sin(theta);[Equation1]
%因此根据霍夫变换的原理,需要建立一个三维的累加数组A(a,b,j)
%其中a,b表示圆心的坐标,j表示圆的半径
%为了计算的方便,运算的速度,我们只针对图像的边缘进行检测和累加,因此先进行边缘检测
%在极坐标下,我们对x,y取遍所有的边缘点值,theta每隔pi/45度角取一个值,代入两个极坐标下圆的方程(Equation1),判断圆心坐标(a,b)是否在图像内
%若圆心坐标合理,则累加数组A加1
%当累加数组A中的值满足一定条件(如大于多少,或者前多少个)则算是所需的结果
clc;
clear;
origin=imread('circle.bmp');
origin=rgb2gray(origin);%转换为灰度图像
figure;imshow(origin);title('original image');
edged=edge(origin);%对源图像进行边缘检测
figure;imshow(edged);title('edged image');
%% initialization
[r c]=size(origin);%获取源图像/灰度图像的长、宽
A=zeros(r,c,floor(r/2)+1);%初始化累加数组A(a,b,j),其中a,b,j的最大值分别为r,c,floor(r/2)+1
[rows,cols]=find(edged);%查找边缘点,索引值存储在rows和cols中
%%
for i=1:size(rows)
for j=2:floor(r/2)
for k=1:90
theta=pi/45*k;%每隔pi/45度角进行一次检验
a=round(rows(i)-j*cos(theta));
b=round(cols(i)-j*sin(theta));
if(a>0&&b>0&&a<=r&&b<=c)%代入公式得到的圆心坐标a,b是否合理,合理的话A加1
A(a,b,j)=A(a,b,j)+1;
end
end
end
end
%% find the circles satisfied the threshold
Hout=zeros(r,c);
thresh=0.6;%阈值[可根据检测结果修改]用来确定A的值到底为多大算是需要的结果
maxvalue=max(max(max(A)));%找到A中元素的最大值
for i=1:size(rows)
for j=2:floor(r/2)
for k=1:90
theta=pi/45*k;
a=round(rows(i)-j*cos(theta));
b=round(cols(i)-j*sin(theta));
if(a>0&&b>0&&a<=r&&b<=c&&j>=5&&A(a,b,j)>=maxvalue*thresh)%增加条件j>5是防止圆角矩形被检测到,可以自行修改大小,也可根据原图像增加约束条件
Hout(rows(i),cols(i))=1;%符合要求的圆保存在H中
end
end
end
end
figure;imshow(Hout);title('After Hough Transform');
阿里matlab建模师
- 粉丝: 4341
- 资源: 2850
最新资源
- C#开发Bartender模板打印WPF 1. 电脑上安装对应打印机的驱动 2. 安装Bartender软件,必须安装,不然无法打印 3. 使用Bartender制作打印模板
- 基于Python+LSTM的文本情感分析系统源码+全部资料(高分项目)
- 自测使用,使用eclipse运行
- c语言简单圣诞树图案代码
- C#winform 千万级数据读写操作处理.zip(sqllite\sql)
- C# 远程写入文件接口.zip
- Mentor常规设置及物料BOM导出操作指南
- 基于一种低通滤波反电势观测器的永磁同步电机无感FOC 采用的反电势观测器相比传统的SMO、龙伯格等反电势观测方法,在算法结构上更加简单,参数调节容易,只有一个参数 1.提供算法对应的参考文献和仿真模
- 船舶检测27-YOLO(v5至v11)、COCO数据集合集.rar
- dthfyjfuygugugg
- 遥感图像分割 UDD6城市无人机数据集.zip
- C# winform-Modbus协议扫码上位机.zip
- 基于Python+LSTM的文本情感分析系统源码(95分以上大作业)
- 基于自抗扰控制器ADRC的永磁同步电机FOC 1.转速环采用ADRC,和传统PI进行对比来分析ADRC控制性能的优越性 对ADRC中的ESO进行改进,进一步提高了ADRC性能 2.提供算法对应的参
- 铁片排列机sw18可编辑全套技术开发资料100%好用.zip
- C# WPF西门子200SMART拉力测试上位机.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
- 4
- 5
前往页