此代码用于实现模糊运动的添加与消除。
原理:在已知模糊运动核的前提下,可通过核线性卷积的形式对图像添加运动模糊,
反之也可利用该核精确的去除该运动模糊。
说明:本例代码是在梳理前人代码的基础上整理得到,仅使用了C++常用库与opencv2.4.5
AddMotionBlur的createLinearFilter函数在opencv3+版本中已经去除,故而建议只用opencv2+
ker 核的大小不能过大,例如,以lena图为例,ker的len为20时,会导致无法复原。
ker 核的生成可参考以下matlab的实现
此例对应的matlab代码实现:点击打开链接
OpenCV实现代码:Linux版本
/*--------------------------- motion blur and demotion blur --------------------------------*/
// 此代码用于实现模糊运动的添加与消除。
// 原理:在已知模糊运动核的前提下,可通过核线性卷积的形式对图像添加运动模糊,
// 反之也可利用该核精确的去除该运动模糊。
// 说明:本例代码是在梳理前人代码的基础上整理得到,仅使用了C++常用库与opencv2.4.5
// AddMotionBlur的createLi