基于MATLAB的运动模糊图像处理.docxVIP

  • 6
  • 0
  • 约3.09千字
  • 约 8页
  • 2021-09-18 发布于天津
  • 举报
基于MATLAB的运动模糊图像处理 提醒: 我参考了文献里的书目和网上的一些代码而完成的,所以误差会比较大,目前 对于从网上下载的模糊图片的处理效果很不好,这是我第一次上传自己完成的 实验的文档,希望能帮到一些人吧。 研究目的 在交通系统、刑事取证中图像的关键信息至关重要,但是在交通、公安、银行、 医学、工业监视、军事侦察和日常生活中常常由于摄像设备的光学系统的失真、 调焦不准或相对运动等造成图像的模糊,使得信息的提取变得困难。但是相对 于散焦模糊,运动模糊图像的复原在日常生活中更为普遍,比如髙速运动的违 规车辆的车牌辨识,快速运动的人群中识别出嫌疑人、公安刑事影像资料中提 取证明或进行技术鉴定等等,这些日常生活中的重要应用都需要通过运动模糊 图像复原技术来尽可能地去除失真,恢复图像的原来面目。因此对于运动模糊 图像的复原技术研究更具有重要的现实意义。 图像复原原理 本文探讨了在无噪声的情况下任意方向的匀速直线运动模糊图像的复原问题, 并在此基础上讨论了复原过程中对点扩散函数(PSF)的参数估计从而依据自动 鉴别出的模糊方向和长度构造出最为近似的点扩散函数,构造相应的复原模 型,实现运动模糊图像的复原;在模糊图像自动复原的基础上,根据恢复效果 图的纹理特征和自动鉴别出的模糊长度和角度,人工调整模糊方向和长度参 数,使得复原效果达到最佳。 实验过程 模糊方向的估计: 对图1Q)所示的原始图像车牌图像做方向 = 30°,长度“20 像素的匀速直线运动模糊,得到退化图像如图1(b) 1(a) 1(a) j=imread(r 车牌 1. jpg); figure (1) t imshow(j); titleC原图像); len=20; theta=30; 1(b) psf=fspecial(motion,len,t heta); jl=imfilter(j,psf,fcircular ,conv); figure,imshow(jl); titleCPSF模糊图像); 图1(c)和1(d)分别为原图像和模糊图像的二次傅里叶变化 傅里叶变换频谱 1(c) 傅里叶变换频谱 1(d) J=rgb2gray(j); Jl=rgb2gray(jl); K=fft2(J);%傅里叶变换 Kl=fft2 (J1);%傅里叶变换 M=f ft shift (K);%直流分量移到频谱眦恋ftshift (K1);%直流分量移到频谱中心 N=abs(M);%计算频谱幅值 N=abs(M);%计算频谱幅值 Nl=abs(Ml);%计算频谱幅值 P= (N-min(min(N)))… Pl= (Nl-min(min(Nl)))/(max(max(Nl)) ??? / (max (max (N)) -min (min (N))) *225 ;%4n-firftn (Nl))) *225;%归一化 figure,imshow(P); figure,imshow(Pl); titled傅里叶变换频谱); titleC傅里叶变换频谱); 利用图1(d)粗略的计算模糊的方向,可以通过matlab自带的画线工具, 选取如下图1(e)所示的三角形,计算a与c之间的夹角 傅里叶变换頻谱1 (e)Mat lab 命令窗 口输:g input 选中三个顶角后回车,可得数据 傅里叶变换頻谱 1 (e) ans =136. 6009 146. ans = 137.4205 166. 8895 145. 2074166. 8895粗略取值后,经Mat lab计算得:atan (20/9)*180/pians = 145. 2074 166. 8895 粗略取值后,经Mat lab计算得: atan (20/9)*180/pi ans = 65. 7723 则运动方向为 90-ans^25 (误差为 5)。 运动模糊图像中,在运动方向上大多数模糊图像的背景像素点具有很强 的相关性,即沿着运动模糊的轨迹,背景像素点的灰度值逐渐变化或者 不变。通过文献的学习,先对模糊图像进行一阶微分,然后进行自相关 运算,可得一条鉴别曲线,曲线上会出现对称的相关峰,峰值为负,两 相关峰之间的距离等于运动模糊长度。 把模糊图像转换为灰度图像,采用Sobel算子对其进行一阶微分运算, Sobel算子 1 0 -1 _ Sobel二 2 0-2 1 0 -1 其自相关曲线如图2(a)所示。利用mat lab的Data Cursor可以测得 两负峰之间的距离为 20个像素点,此为运动 模糊的长度,与理论值 吻合(比较精确)。由 于长度的测量计较精 确,可以根据长度对运 动模糊方向进行不同 的取值,达到最好效 果。 fl=rgb2gray(jl); fl=im2double(fl); h = fspecial

文档评论(0)

1亿VIP精品文档

相关文档