条纹图像的特征检测方法与程序设计.doc.docVIP

条纹图像的特征检测方法与程序设计.doc.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
条纹图像的特征检测方法与程序设计.doc

实验报告七 实验名称:条纹图像的特征检测方法与程序设计 课 程:图像检测与处理 专 业:测控技术与仪器 实验日期:2015年12月4日 1、实验目的 通过图像处理算法的设计和程序编写调试,掌握采用数字图像处理技术实现工业目标对象特征检测的基本方法和过程。 2、实验原理 在相对亮的背景下,对较暗的目标对象(线缆)进行检测,得到有一定对比度的数字图像。首先,根据所采集的图像质量判断是否需要进行图像增强,根据图像增强原理分析和实验结果选用增强算法;为检测线缆的直径尺寸,方法之一是用行方向上线缆所覆盖的像素数来描述线径,为实现线缆覆盖像素数的度量,需要先将线缆目标从背景中分离出来,即进行二值化处理,选择二值化处理算法和门限值,对增强后的灰度图像进行二值化处理;然后,统计各个像素行线缆直径方向上所覆盖的像素数N,对各行覆盖像素数求平均,作为检测结果值(单位:像素)。 在检测系统的成像放大率不变的情况下,通过数字图像像素当量(毫米/像素)的标定,即对每个像素代表的实物尺寸的测定,则可以得到线径的实际尺寸: 3、实验指标及要求 自行设计图像处理程序和算法,实现给定条纹图像中的条纹中心线和条纹宽度的检测,并以像素为单位给出宽度检测结果。 4、实验设备 PC计算机,MATLAB程序开发软件,PHOTOSHOP图像处理软件,被处理的数字图像文件等。 5、实验及结果分析 (1)叙述实验设计过程中需要考虑的图像处理步骤; 解:读取待处理图像;对图像进行中值滤波处理;采用最大类间方差法选取一个合理的二值化分割阈值;按照阈值进行二值化处理;闭运算处理;统计每一行含有目标对象的像素数目,并出其平均值,得到以像素为单位的条纹宽度检测结果;找到目标图像每一行的中心位置,将其连接起来,即得到了条纹中心线。 (2)简述在所设计的程序实现中所采用的图像处理算法及依据; 解:中值滤波:消除图像中含有的噪声点,对噪声信号进行了有效的抑制; 最大类间方差法:方差是表征数据分布不均衡性的统计量,通过阈值对目标和背景进行了分割,通过循环使得两类数据间的方差越大越好,把该结果对应的阈值作为最佳阈值; 二值化处理:通过二值化处理,使图像的像素只有0和1,便于后续的处理; 闭运算:选取了一个结构元素,进行闭运算处理,目的是填充目标内小空洞、连接断开的近邻目标、平滑边界; 宽度检测:统计每行含有目标对象的像素数目,并求出其平均值,即得到了以像素为单位的条纹宽度检测结果; 条纹中心线:找到目标图像中每一行的中心位置,将其连接起来,即得到了条纹中心线。 (3)写出提取图像中条纹中心线检测的程序流程和程序代码; 解:条纹中心线检测的程序代码: % --- Executes on button press in pushbutton5. function pushbutton5_Callback(hObject, eventdata, handles) aa=handles.aa; [m,n]=size(aa); for i=1:m %逐行扫描 z0=find(aa(i,:)==0); k=length(z0); fz(i)=z0(1); %找出目标对象每行的第一个元素的坐标 lz(i)=z0(k); %找出目标对象每行的最后一个元素的坐标 y=round((lz+fz)/2); %求每行第一个和最后一个元素坐标平均值,即得到每行的中心位置 end x=1:m; plot(y,x,r,LineWidth,1) %画出中心线 axes(handles.axes3); 图1:条纹中心线检测的程序流程图 图2:条纹宽度的程序流程图 (4)写出检测图像中条纹宽度的程序流程和程序代码; 解:条纹宽度的程序代码 % --- Executes on button press in pushbutton4. function pushbutton4_Callback(hObject, eventdata, handles) aa=handles.aa; one_count=sum(aa,2); %统计图像背景中每行所包含的像素数目 zero_count=size(aa,2)-one_count; %计算统计出目标图像中每行所包含的像素数目 handles.zero=zero_count; dia=mean(zero_count); %计算像素平均值,得到以像素为单位的条纹宽度检测结果 dstr=[检测结果: num2str(dia) pixels]; %将检测结果在GUI中显示出来 set(handl

文档评论(0)

wnqwwy20 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档