图像运动模糊原理及python实现

一. motion blur

        运动模糊是我们在日常生活中很常见的一种模糊。当我们按下快门拍照时,如果照片里的事物(或者我们的相机)正在运动的话,我们拍出的照片就会产生运动模糊。


二. motion filter

          

图1:大小为3*3,对角线方向上的运动模糊算子 ↑  

 

          

    图2:大小为5*5,竖直方向上的运动模糊算子 ↑

 

          

          使用 图2 这个5*5的竖直方向运动模糊算子作用于清晰图像后产生的图像 ↑


三. python实现3*3的对角线方向的运动模糊滤波器(图1滤波器)

import cv2

import numpy as np

# motion filter

def motion_filter(img, K_size=3):

    H, W, C = img.shape

    # Kernel

    K = np.diag( [1] * K_size ).astype(np.float)

    K /= K_size

    # zero padding

    pad = K_size // 2

    out = np.zeros((H + pad * 2, W + pad * 2, C), dtype=np.float)

    out[pad: pad + H, pad: pad + W] = img.copy().astype(np.float)

    tmp = out.copy()

    # filtering

    for y in range(H):

        for x in range(W):

            for c in range(C):

                out[pad + y, pad + x, c] = np.sum(K * tmp[y: y + K_size, x: x + K_size, c])

    out = out[pad: pad + H, pad: pad + W].astype(np.uint8)

    return out

# Read image

img = cv2.imread("../paojie.jpg")

# motion filtering

out = motion_filter(img, K_size=3)

# Save result

cv2.imwrite("out.jpg", out)

cv2.imshow("result", out)

cv2.waitKey(0)

cv2.destroyAllWindows()

四. 上面程序的输出结果:

          

          3*3的对角线方向运动模糊算子模糊后的图像 ↑

 

          

          原图像 ↑


五. 参考内容:

        https://www.cnblogs.com/wojianxin/p/12502192.html

        https://www.jianshu.com/p/c1ae53060a9e

图像模糊是由于光线散射、相机抖动等因素造成的。在图像处理中,我们可以使用反卷积技术来恢复被模糊的图像。 反卷积的原理是在已知模糊核函数的情况下,通过逆运算将模糊的图像恢复到清晰的状态。针对模糊图像,我们首先需要确定模糊核函数,即模糊过程中的光学效应。常见的模糊核函数有高斯核、运动模糊核等。 在Python中,我们可以使用scipy库来实现反卷积图像去模糊。首先,我们需要对模糊图像进行傅里叶变换,得到频域表示。然后,通过对频谱进行修复操作,将高频信息恢复。最后,再进行逆傅里叶变换,得到去模糊后的图像。 具体实现步骤如下: 1. 导入必要的库:`import numpy as np`和`from scipy.fftpack import fft, ifft` 2. 对模糊图像进行傅里叶变换:`image_freq = fft(image)` 3. 对频谱进行修复操作,恢复高频信息:`filtered_freq = image_freq / kernel_freq`,其中kernel_freq为已知的模糊核函数的频谱表示。 4. 对修复后的频谱进行逆傅里叶变换,得到去模糊后的图像:`filtered_image = ifft(filtered_freq)` 需要注意的是,反卷积图像去模糊是一个逆问题,存在求解不稳定性和伪影问题。针对这些问题,可以采用正则化方法、约束最小二乘方法等进行改善。 总之,Python图像处理通过反卷积技术可以有效去除图像的模糊,提高图像质量和清晰度。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值