西电机电院数字图像处理.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西电机电院数字图像处理

数字图像处理作业 姓名:田文婷 学号 ———2015年12月 ——由于原给定图参数难以判别,故选用已知图像进行模糊并复原 基于MATLAB对运动产生模糊的图像进行复原 一、模糊方向判别 =,长度L=20像素的匀速直线运动模糊,得到退化图像如图1(b) 1(a) 1(b) j=imread('车牌1.jpg'); figure(1),imshow(j); title('原图像'); len=20; theta=30; psf=fspecial('motion',len,theta); j1=imfilter(j,psf,'circular','conv'); figure,imshow(j1); title('PSF模糊图像'); 图1(c)和1(d)分别为原图像和模糊图像的二次傅里叶变化 1(c) 1(d) J=rgb2gray(j); K=fft2(J); %傅里叶变换 M=fftshift(K);%直流分量移到频谱中心 N=abs(M); %计算频谱幅值 P=(N-min(min(N)))… /(max(max(N))-min(min(N)))*225;%归一化 figure,imshow(P); title('傅里叶变换频谱'); J1=rgb2gray(j1); K1=fft2(J1); %傅里叶变换 M1=fftshift(K1);%直流分量移到频谱中心 N1=abs(M1); %计算频谱幅值 P1=(N1-min(min(N1)))/(max(max(N1))… -min(min(N1)))*225;%归一化 figure,imshow(P1); title('傅里叶变换频谱'); 利用图1(d)粗略的计算模糊的方向,可以通过matlab自带的画线工具,选取如下图1(e)所示的三角形,计算a与c之间的夹角 Matlab命令窗口输:ginput 选中三个顶角后回车,可得数据 ans = 136.6009 146.3977 137.4205 166.8895 145.2074 166.8895 粗略取值后,经Matlab计算得: atan(20/9)*180/pi ans = 65.7723 则运动方向为90-ans≈25(误差为5)。 1(e) 二、模糊长度的估计 运动模糊图像中,在运动方向上大多数模糊图像的背景像素点具有很强的相关性,即沿着运动模糊的轨迹,背景像素点的灰度值逐渐变化或者不变。通过文献的学习,先对模糊图像进行一阶微分,然后进行自相关运算,可得一条鉴别曲线,曲线上会出现对称的相关峰,峰值为负,两相关峰之间的距离等于运动模糊长度。 把模糊图像转换为灰度图像,采用Sobel算子对其进行一阶微分运算,Sobel算子 其自相关曲线如图2(a)所示。利用matlab的Data Cursor可以测得两负峰之间的距离为20个像素点,此为运动模糊的长度,与理论值吻合(比较精确)。由于长度的测量计较精确,可以根据长度对运动模糊方向进行不同的取值,达到最好效果。 f1=rgb2gray(j1); f1=im2double(f1); h = fspecial('Sobel'); %Sobel算子 J = conv2(f1,h,'same'); %Sobel算子微分 IP=abs(fft2(J)); %图像能量谱密度 S=fftshift(real(ifft2(IP))); figure,plot(S); title('自相关图'); %图像自相关函数 三、图像的复原 然后我们按本文中鉴别出的运动模糊图像的运动长度和运动角度后,构造出相应的匀速直线运动PSF,并对其进行图像复原,得到的效果如下图3所示。 len=20; theta=25; psf=fspecial('motion',len,theta); wnr1=deconvwnr(j1,psf,0); subplot(221),imshow(wnr1); title('维纳滤波处理后图像'); np=0.002*prod(size(j)); er=deconvreg(j1,psf,np/3.0); subplot(222),imshow(er); ti

文档评论(0)

haocen + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档