matlab 图象退化 motion,动态模糊图像复原MATLAB程序

1、退化程序

clc;

clear all;

close all;

I=imread('F:\mmw\B1\图2.jpg');%读图

figure;

subplot(4,3,1);

imshow(I);

title('原图像');

LEN=30;%运动长度30

THETA=30;%运动角度30

% LEN=60;

% THETA=60;

n=2;

for i=1:3

for j=1:3

PSF=fspecial('motion',LEN*i,THETA*j);%退化并研究运动角度和长度对图片模糊程度的影响

PSF=fspecial('motion',LEN,THETA);

Blurred=imfilter(I,PSF,'circular','conv');

subplot(4,3,n);

imshow(uint8(Blurred));

title('模糊化');

hold on

n=n+1;

end

end

%imwrite(Blurred,'模糊∠60长60.png');%保存图

2、运动角度的求解

%求解模糊运动角度matlab代码

close all;clc;clear all;

im=imread('F:\mmw\B1\模糊∠60长60.png');

img_gray=rgb2gray(im);%灰度化

img_fft=fftshift(fft2(img_gray));

N=abs(img_fft);

P=(N-min(min(N)))/(max(max(N))-min(min(N)))*225;

figure;

imshow(P);

title('频谱图(运动角度与光斑方向垂直)');

len=35;

theta=0;

PSF=fspecial('motion',len,theta);

B=imfilter(img_gray,PSF,'circular','conv');

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值