ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:69.98KB ,
资源ID:1514879      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-1514879.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(用Hough变换检测二值图像中的圆Word下载.docx)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

用Hough变换检测二值图像中的圆Word下载.docx

1、向量x的元素的最大值。MATLAB图像类型转换函数:rgb2gray:将一副真彩色图像转换成灰度图像;im2bw:通过设定高度阈值将真彩色,索引色,灰度图转换成二值图像;MATLAB图形图像文件的读取和显示函数imread(filename);MATLAB二进制图像及其显示imshow(f1)。用double对二值图像双精度化图形处理:sobel算子检测边缘hough变换检测圆分别显示灰度图像:figure;subplotSobel:算子边缘检测图像hough变换检测后的图像实验相关代码I=imread(*.jpg);f=rgb2gray(I);f1=im2bw(f,200/255);BW1=

2、double(f1);BW=edge(BW1,sobel,0.4);r_max=50;r_min=10;step_r=10;step_angle=pi/12;p=0.7;m,n=size(BW);size_rround(r_max-r_min)/step_r)+1;size_angleround(2*pi/step_angle);hough_spacezeros(m,n,size_r);rows,colsfind(BW);ecountsize(rows);fori=1:r=1:k=1:around(rows(i)-(r_min+(r-1)*step_r)*cos(k*step_angle);b

3、round(cols(i)-(r_min+(r-1)*step_r)*sin(k*step_angle);if(a0&ab=max_para*p);lengthsize(index);hough_circlefalse(m,n);par3floor(index(k)/(m*n)+1;par2floor(index(k)-(par3-1)*(m*n)/m)+1;par1index(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)hough_circle(rows(i)

4、,cols(i)true;r_min+(par3-1)*step_r;fprintf(1,Center%dradius%dn,par1,par2,par3);para(:,k)par1,par2,par3;subplot(221),imshow(f);subplot(222),imshow(BW);subplot(223),imshow(hough_circle)图像读取图像处理的第一步就是对所采集的图像进行读入,本次研究采集的图像是24位真彩色的JPG格式的图像。真彩色图像可用双精度存储,亮度值范围是0,1;比较符合习惯的存储方法是用无符号整型存储,亮度值范围0,255。在实验中我们开始因为

5、遇到了sobel算子无法识别二值图像的问题,后来用了double解决问题。MATLAB中图形图像文件的读取利用函数imread()完成。图像灰度与二值化处理白色与黑色之间按对数关系分为若干等级,称为灰度。灰度分为256阶。用灰度表示的图像称作灰度图。MATLAB中rgb2gray()函数可以实现图像灰度化,它是以R、G、B为轴建立空间直角坐标系,则RGB图的每个象素的颜色可以用该三维空间的一个点来表示,而Gray图的每个象素的颜色可以用直线R=G=B上的一个点来表示。于是rgb转gray图的本质就是寻找一个三维空间到一维空间的映射,最容易想到的就是射影(即过rgb空间的一个点向直线R=G=B做

6、垂线),事实上MATLAB也是这样做的,并且有Gray0.29900*R+0.58700G0.11400B。图像的二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。全局二值化最常用的方法就是设定一个全局的阈值P,用P将图像的数据分成两部分:大于P的像素群和小于P的像素群。将大于P的像素群的像素值设定为白色(或者黑色),小于P的像素群的像素值设定为黑色(或者白色)。MATLAB中使用im2bw函数,f1=im2bw(f,阈值)即将f以阈值分割。边缘检测图像边缘是一个图像的重要特征,是计算机模式识别,视觉等的基础,边缘检测是图像处理过程中的一个

7、重要环节。 检测物体边缘时,首先粗略检测其轮廓点,然后把原来检测到的轮廓点连接到一起,同时检测、连接遗漏的边界点并去除虚假的边界点。边缘检测的算法很多,如方向算子,特度算子,canny算子和拉普拉斯算子等。常用的有Sobel算子,梯度算子的Roberts算子,Prewitt算子以及Canny边缘检测等。本文主要涉及的是Sobel算子的边缘检测,Sobel算子是一阶微分算子,包含两组3*3矩阵,分别为横向和纵向,将之与图像作平面卷积,得出横向,纵向的亮度差分近似值。我们也用过其他算子,sobel效果最好。具体语法如下:BW=edge(A,p);p为0,1的阈值hough变换Hough变换本来用于

8、直线检测中,充分体现了Hough变换具有明了的几何解析性、一定的抗干扰能力以及易于实现并行处理等优点。人们在对图像进行几何特征检测时,感兴趣的往往有直线,圆,椭圆等等。自然而然地想到应用Hough变换。这里不再赘述hough变换检测直线。Hough变换是基于通过提取分布于目标圆周上的参数及点的特征值的来检测圆或圆弧的。为了检测目标外形,对图像上的每点定义一个参数空间的映射。Hough变换通过在参数空间找寻特征(峰值或最大值点)得到位于图像空间中的特征(目标形状)来转换问题。对于已知半径的圆Hough变换可以检测任意已知表达形式的曲线,关键在于选择合适的参数空间。我们可以根据曲线的表达形式决定其

9、参数空间。当检测某一已知半径的圆时,可以使用与原图像空间相同的空间作为其参数空间。则原图像空间中的一个圆对应参数空间中的一个点,参数空间的一个点对应图像空间中一个圆,原图像空间中在同一圆上的点,它们的参数相同即a,b相同,它们在参数空间对应的圆就会过同一点(a,b),因此,将原图像中的所有点变换到参数空间之后,依据参数空间中点的聚集度就可判断出原图像空间中有无近似于圆的图形。对于未知半径的圆,在一个xy平面图像中确定一个圆至少需要三个元素,即圆心的x轴和y轴坐标,圆的半径,因此Hough变换检测圆的目的就是检测出图像中各个圆的圆心坐标以及圆的半径。其基本思想是将原图像空间中边缘点映射至参数空间

10、中,再将参数空间中得到的全部坐标点元素所对应的累加值进行统计,并根据此累加值来判断圆的大小和圆心的位置。例如,在xy平面上的方程为(x-a)2+(y-b)2=r2其中点(a,b)为圆心坐标,r为圆半径,点(x,y)为圆周上的一点,将其转换为参数坐标系(a,b,r),方程为(a-x)2+(b-y)2=r2,可看出次方程为圆锥面,对于原图像中任意确定的一个点在参数空间都有一个三维锥面与其对应。在Hough变换检测圆时,可以利用梯度信息在很大程度上加快圆检测的速度。对圆周而言,其梯度方向只有背离圆心或者指向圆心,当梯度指向圆心,圆心就在梯度的延长线上,而当梯度背离圆心,圆心则在梯度的反向延长线上。所

11、以,边缘梯度信息的加入可以预估圆心的位置,这样可以使算法的运算量明显减少,并且可以有效抑制虚假局部最大值。圆心位置可以用极坐标方程形式表达:a=x-rcos( (x,y),a=yrsin(x)或者a=x+a=y+rsin),边缘像素(x,y)处的梯度方向为)。前一组公式是梯度方向背离圆心,后一组为梯度方向指向圆心。以前一种情况为例,边缘图像中每个边缘像素点(x,y)都可以算出其相应的梯度方向(x通过前一个公式可算出圆心坐标(a0,b0),对于参数空间可能的半径r0,其相应的参数空间累加器单元加一,最后找到累加器的局部最大值,就得到一个圆。实验结果通过对图像进行灰度化,二值化,边缘检测,houg

12、h变换等过程将图片中柑橘轮廓检测了出来。以下为圆坐标数据及处理的图像15710168179676875716972707376747717312172131741417116912520512720612221021512121616420131214实验分析在试验到最后的时候还是存在一些问题,期终检测时,我发现检测的圆比原图片中的柑橘小,还有左边的图片中有一个柑橘被另一个遮住了一部分,但是我们没有能在最后的检测的圆的图上清楚地看出来。检测的圆比柑橘小应该是在检测边缘时取得阈值有问题所致,在用sobel算子检测边缘时,检测的边缘就比柑橘图中的小。我们会通过改变阈值来改。至于有一个柑橘没有被检测出来,只好通过改变拍摄角度来解决,从不同角度拍摄,可以让所有柑橘全部被检测到.

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2