基于matlab的工业摄影作业(文库).docVIP

  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文档。上传文档
查看更多
工业摄影测量技术 基于Matlab图像处理软件的设计 姓名: 学号: 杨潇 M201370503 学科专业: 指导教师: 精密仪器及机械 唐立新 教授 提交日期: 2013.11.07 一.摘要 基于Matlab的数字图像处理 Matlab对于技术计算来说是一种高性能的语言。它以易于应用的环境集成了计算、可视化和编程,在该环境下,问题及其解以我 们熟悉的数学表示法来表示。本软件主要通过matlab实现以下几个功能: 1.Log算子边缘提取 2.Canny算子边缘提取 3.几种滤波器的实现 4.数出图像中米粒个数 5.将全方位图像展开 6.分割图像中环形针并标出其质心及方向。 本次简易的图像处理软件是利用Matlab的GUI界面来实现。 关键字:matlab,Log,Canny,滤波器,数米粒,图像展开,方位辨识 基本图像处理 本软件界面如图2.1所示: 图2.1 软件界面 界面设计是通过任务要求来设计,包含Log算子边缘提取、Canny算子边缘提取、滤波、数数目、图像展开及方位分析。左右两个显示屏分别显示图像处理前后的图像。 Log算子边缘提取的实现 Log算子可有效的滤除噪声信号并提取出清晰的边缘轮廓。具体分为以下4步: 对图像进行高斯平滑滤波,去除噪声信号 关键代码: n1=floor((n+1)/2); %计算高斯模板中心 for i=1:n for j=1:n b(i,j) =exp(-((i-n1)^2+(j-n1)^2)/(2*sigma)); %高斯滤波函数 end end A=conv2(I,b,same); %高斯滤波 其中,n为高斯模板大小,sigma为方差 利用二维拉普拉斯函数进行二阶求导争强边缘信号 关键代码: for i=2:w-1 for j=2:h-1 f=A(i+1,j+1)+A(i+1,j-1)+A(i-1,j-1)+A(i-1,j+1)+A(i+1,j)+A(i-1,j)+A(i,j+1)+A(i,j-1)-8*A(i,j);%高斯型拉普拉斯算子 其中,w,h分别表示图像的长宽。通过图像A与拉普拉斯算子进行卷积,从而突出了边缘信号。 对边缘进行过零检测 使用线性内插方法在亚像素分辨率水平上估计边缘的位置 由于对于后两步算法掌握不是很好,顾只对其进行阈值比较二值化 关键代码: e=zeros(w,h);%创建数组 e(find(ys))=1; %阈值判断二值化,零交叉判断边缘最大值 Y为图像,S为二值化阈值,经测试,选取S=120为较好效果。下面是log算子边缘提取效果: 图2.2 Log算子效果图 Canny算子边缘提取的实现 图象边缘检测必须满足两个条件:一能有效地抑制噪声;二必须尽量精确确定边缘的位置。 根据对信噪比与定位乘积进行测度,得到最优化逼近算子。这就是Canny边缘检测算子。 Canny算子边缘提取可分为4步 用高斯滤波器平滑图象,去除噪声信号 关键代码: k1=filter2(fspecial(gaussian),I);%对图像进行3*3模版的高斯平滑 其中,I为输入的图像 用一阶偏导的有限差分来计算梯度的幅值和方向 关键代码: %求解x,y方向的差分,幅值和方向 for i=1:m-1 for j=1:n-1 Gx(i,j)=(k1(i,j+1)-k1(i,j)+k1(i+1,j+1)-k1(i+1,j))/2;%计算X向差分 Gy(i,j)=(k1(i,j)-k1(i+1,j)+k1(i,j+1)-k1(i+1,j+1))/2;%计算Y向差分 M(i,j)=sqrt(Gx(i,j)^2+Gy(i,j)^2); %计算梯度值 a(i,j)=atan2(Gy(i,j),Gx(i,j)); %计算梯度方向 end End 对梯度幅值进行非极大值抑制 仅仅得到全局的梯度并不足以确定边缘,因此为确定边缘,必须保留局部梯度最大的点,而抑制非极大值。(non-maxima suppression,NMS) 解决方法:利用梯度的方向。 图2.3 非极大值抑制梯度方向示意图 四个扇区的标号为0到3,对应3*3邻域的四种可能组合。 在每一点上,邻域的中心象素M与沿着梯度线的两个象素相比。如果M的梯度值不比沿梯度线的两个相邻象素梯度值大,则令M=0。 即: 关键代码: %定义梯度方向范围 if a(i,j)=-1/8*pia(i,j)1/8*pi a(i,j)=0; ...... else

文档评论(0)

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

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

1亿VIP精品文档

相关文档