基本原理
前面发过一篇文章,讲的是如何在频域空间实现图像的离焦模糊恢复,感觉大家很感兴趣,就再来一篇,同样来自OpenCV的官方教程翻译,讲述如何通过OpenCV实现移动对象反模糊,实现特定对象的恢复,先看效果:
其基本原理跟离焦模糊恢复非常相似,唯一不同的是对PSF的选择,对于离焦模糊恢复,使用圆形的PSF,对于移动模糊,我们需要选择线性PSF
其参数由两个因子决定,分别是长度LEN与移动方向THETA,加上之前的SNR(信噪比)三个参数决定了移动反模糊的效果。
代码实现
基于OpenCV4实现代码演示如下:
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
void calcPSF(Mat& outputImg, Size filterSize, int len, double theta);
void fftshift(const Mat&