1、对图1(a)所示的原始图像车牌图像做方向=,长度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,convfigure,imshow(j1);PSF模糊图像图1(c)和1(d)分别为原图像和模糊图像的二次傅里叶变化1(c) 1(d)J=rgb2gray(j);K=fft2(J);%傅里叶变换M=fftshift(K);%直流分量
2、移到频谱中心N=abs(M);%计算频谱幅值P=(N-min(min(N)/(max(max(N)-min(min(N)*225;%归一化figure,imshow(P);傅里叶变换频谱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);利用图1(d)粗略的计算模糊的方向,可以通过matlab自带的画线工具,选取如下图1(e)所示的三角形,计算a与c之间的夹角Matlab命令窗口输:ginput选中三个顶角
3、后回车,可得数据ans =136.6009 146.3977137.4205 166.8895145.2074粗略取值后,经Matlab计算得:atan(20/9)*180/pians = 65.7723 则运动方向为90-ans25(误差为5)。1(e)模糊长度的估计运动模糊图像中,在运动方向上大多数模糊图像的背景像素点具有很强的相关性,即沿着运动模糊的轨迹,背景像素点的灰度值逐渐变化或者不变。通过文献的学习,先对模糊图像进行一阶微分,然后进行自相关运算,可得一条鉴别曲线,曲线上会出现对称的相关峰,峰值为负,两相关峰之间的距离等于运动模糊长度。把模糊图像转换为灰度图像,采用Sobel算子对其
4、进行一阶微分运算,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);自相关图%图像自相关函数
5、图像的复原然后我们按本文中鉴别出的运动模糊图像的运动长度和运动角度后,构造出相应的匀速直线运动PSF,并对其进行图像复原,得到的效果如下图3所示。theta=25;wnr1=deconvwnr(j1,psf,0);subplot(221),imshow(wnr1);维纳滤波处理后图像np=0.002*prod(size(j);er=deconvreg(j1,psf,np/3.0);subplot(222),imshow(er);最小二乘方复原)lucy=deconvlucy(j1,psf);subplot(223),imshow(lucy); Lucy richardson图像复原NITPSF=ones(size(psf);mang,psf=deconvblind(j1,INITPSF,40);subplot(224),imshow(mang);盲去卷积复原由上图可知经过Lucy richardson复原的图像效果最好,可多次修改运动模糊方向,再进行Lucy richardson复原。下图4为运动模糊方向为30的效果。图像中可以比较清楚的看出此图中汽车的牌子本田以及车牌闽C 6R972。参考文献:1.红外技术 第32卷 第5期 2010年5月 毫米波辐射图像的运动模糊参数辨识 胡泰洋、肖泽龙、许建中2.数字图像处理及MATLAB实现学习与实验指导
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1