0 前言
今天在做数字图像处理实验的时候,笔者遇到了一个不会做的题目,通过各种手段在实验结束之前还是没有成功地做出来,浪费了不少时间,实验结束后,笔者重新将课本上的相关知识通读了一遍,公式简单推导了一下,立马恍然大悟,没几分钟就把实验当中不会做的题目做出来了。这个经历也是教会了笔者很多,所以在此记录一下,倘若能帮助到读者您那就太好了哈哈!
题目如下:
读入一幅图像“pepper256.jpg”(imread)和运动模糊传递函数H(u,v)(load), 忽略噪声影响的前提下,分别求出以下两幅图像并显示(imshow)。
(1)原图像的运动模糊图像。
(2)对运动模糊图像使用逆滤波方法得到的恢复图像。
由于笔者上课没认真听讲(其实听了,懵懵懂懂就过去了,没有钻入进去思考,呜呜呜~~)
1 笔者在实验室的天使(shabi)行为
- 疯狂使用GPT3.5和claude2进行问答
- 运行错误,继续问或上网搜索
- 修改后还是不对,继续问说上网搜索
- 一直重复3
就这样时间一分一秒就过去了,浪费了将近两个小时(我真实个天使(shabi)),因为我不懂,一点不知道怎么操作,就是瞎折腾!!!
这是GPT3.5的回答,啥也不是,就这样被折磨了好久,呜呜~~
% 读取原图像
My_pepper = imread("pepper256.jpg");
% 加载模糊核
load("传递函数.mat");
% 生成运动模糊图像
Blurred = imfilter(My_pepper, H, 'circular', 'conv');
% 逆滤波恢复
H_inverse = 1./H;
Recovered = imfilter(Blurred, H_inverse, 'circular', 'conv');
% 显示结果
subplot(1,3,1); imshow(My_pepper); title('原始图像');
subplot(1,3,2); imshow(abs(Blurred)); title('运动模糊图像');
subplot(1,3,3); imshow(Recovered); title('逆滤波恢复图像');
下面这是我实验结束之后,通读了一遍相关知识点后写的:
load("传递函数.mat"); % 传递函数是 H
My_pepper = imread("pepper256.jpg");
subplot(1, 3, 1);
imshow(My_pepper);
title('原始图像');
F = fft2(im2double(My_pepper));
F = fftshift(F);
G = F .* H;
g = real(ifft2(ifftshift(G)));
subplot(1, 3, 2);
imshow(g);
title("运动模糊图像")
% 逆滤波恢复
F = G ./ H;
f = real(ifft2(ifftshift(F)));
subplot(1, 3, 3);
imshow(f);
title("逆滤波恢复图像");
这是运行结果
1.1 运动模糊图像
其实就是一个两个公式
G
=
H
∗
F
g
=
h
∗
f
\begin{align} G &= H * F \tag{1} \\ g &= h * f \tag{2}\\ \end{align}
Gg=H∗F=h∗f(1)(2)
其中 G 、 H 、 F G、H、F G、H、F 分别是运动模糊图像、传递函数、原始图像的频率域
g 、 h 、 f g、h、f g、h、f 分别是运动模糊图像、传递函数、原始图像的空间域
题目中已经知道原始图像的空间域 f f f 和传递函数的频率域 H H H,此时只需要将 f f f 通过傅里叶变换到频率域就可以了,然后根据公式 ( 1 ) (1) (1) 便可得出运动模糊图像的频率域 G G G,然后通过傅里叶反变换到空间域 g g g。
1.2 逆滤波
通过运动模糊图像得到原始图像的空间域
f
f
f,那就是先通过公式
(
1
)
(1)
(1) 得到
F
=
G
/
H
F = G / H
F=G/H
F = G ./ H;
然后再通过傅里叶反变换到空间域就可以了!
Ok 这就完事了,是不是很简单!!!我真天使(shabi),倘若做实验不会时,我去通读一遍相关知识点,或许也不会浪费那么长时间,其实其他事情也一样,把与问题有关的相关事情搞明白,这个问题往往也自然而然就解决了。
总结
以上就是笔者的分享,这件事教会了笔者遇到困难一定要专注于困难本身,想方设法先把与困难相关的知识点或者事情搞懂,然后再去做,最好不要埋头就去找答案,这样既不能产生实质性的提高和进步,反而浪费了不该浪费的时间,真的是不划算,中国有句古话叫做”磨刀不误砍柴工“,真的现在感觉这句话真的充满了智慧。倘若有大佬发现问题,直接评论区斧正即可,感谢感谢🌞。
好的,我们下期再见🌞拜拜!