动态模糊图像复原MATLAB程序

1、退化程序clc;clearall;closeall;I=imread('F:\mmw\Bl\图2.jpg');%读图figure;subplot(4,3,1);imshow(I);title('原

1 、退化程序 clc; ; clear all ; close all (); %读图 图 I=imreadfigure; 'F:\mmw\Bl\2.jpg' (,;) subplot43,1)imshow(I; () '原图像 title; ; 运动长度%运动角度; LEN=30;THETA=30 %3030%LEN=60 %THETA=60; n=2; :: i=13j=13 forfor ; %退化并研究运动角度和长度对图片模糊程度的影响 PSF=fspecial(,LEN*i,THETA*j) 'motion' (,);,,; PSF=fspecialLEN,THETABlurred=imfilter(IPSF,) 'motion'circular'conv' ,; subplot(4,3n) (()() '模糊化 imshowuint8Blurred);title; ' hold on n=n+1; end end %(模糊Z长。';保存图 imwriteBlurred,'6060png)% 2 、运动角度的求解 ;; 求解模糊运动角度代码 ':模糊Z closeclc;clearim=imread( %matlab allallF\mmw\B1\60 长 ); 60.png' ());(; %灰度化 img_gray=rgb2grayim;img_fft=fftshift(fft2(img_gray)N=absimg_fft) (()(()—()); P=(N-minminN))/maxmax(N)minmin(N)*225figure; imshow(P); ( ( '频谱图运动角度与光斑方向垂直)' title); ;;(,);(, len=35theta=0PSF=fspeciallen,thetaB=imfilterimg_gray 'motion , ' PSF,); circular'conv' );) subplot(121imshow(B; %模糊图像 B1=fft2(double(B)); ((;);(; %模糊图像的频谱图 B2=mat2gray(logabsB1)))subplot(122imshowB2) ( %对频谱图求列和 C=sumB2,1); [;:;;;( 绘制频谱 '频谱歹和曲线图 m,n]=size(C)x=01:n-1y=Cfigure,plot(x,y)title % U1' 列和曲线图 3 、运动长度算法 %求解模糊运动长度代码: matlab ();( 灰度化 ':模糊Z长' im=imreadimg_gray=rgb2grayim); % F\mmw\Bl\6060.png )); 边缘检测 h=fspecial(;img_double=double(img_gray %sobel 'sobel' ;() '' J=conv2(img_double,h)IP=absfft2(J); same

腾讯文库动态模糊图像复原MATLAB程序