opencv图像模糊复原与图像去雾去雾(附代码)

1.主要内容和目标

本文讲述如何运用代码来将迷糊图像进行复原,以达到清晰图像以及细节增强的目的。
在这里插入图片描述

首先呈现了前后对比图,左图为模糊原图,右图为复原图像。

(不只是用在二值图像)

img

2.代码讲述

```python
def multiScaleSharpen(img ,radius):
    h,w,chan = img.shape
 
    GaussBlue1 = np.zeros(img.shape,dtype = uint8)#创建mask
    GaussBlue2 = np.zeros(img.shape, dtype=uint8)
    GaussBlue3 = np.zeros(img.shape, dtype=uint8)
    Dest_float_img = np.zeros(img.shape, dtype=float32)
    Dest_img = np.zeros(img.shape, dtype=uint8)
 
    w1 = xx#权重选择
    w2 =xx
    w3 = xx
 
    GaussBlue1 = cv2.GaussianBlur(img,(radius,radius),x)#高斯模糊
    GaussBlue2 = cv2.GaussianBlur(img,(radius*x,radius*x),x)
    GaussBlue3 = cv2.GaussianBlur(img,(radius*x,radius*x),x)
 
    for i in range(0,h):#遍历图像
        for j in range(0,w):
            for k in range(0,chan):
                Src = img.item(i,j,k)
                D1 = Src-GaussBlue1.item(i,j,k)
                D2 = GaussBlue1.item(i,j,k) - xxx
                xxxx=xxx+xxxx
                Dest_img=xxxx
    return Dest_img
if __name__ == '__main__':
    img = cv2.imread('C:\\Users\\AIR\\Desktop\\a\\imwrite\\11.png',1)
    
    #img = cv2.imread("128.jpg")
    h,w,d=img.shape
    multiScaleSharpen_out = np.zeros((h,w,d), dtype=uint8)
    multiScaleSharpen_out = multiScaleSharpen(img,5)#jishu
    multiScaleSharpen_out1 = np.zeros((h,w,d), dtype=uint8)
    multiScaleSharpen_out1 = multiScaleSharpen(img,11)#jishu
    cv2.imwrite('C:\\Users\\AIR\\Desktop\\a\\imwrite\\12.png',multiScaleSharpen_out)
    cv2.imshow('src',img)
    cv2.imshow('dst_5',multiScaleSharpen_out)
    cv2.imshow('dst_11',multiScaleSharpen_out1)
```

并且用上述代码;我也发现它可以用于图像去雾,上述细节增强和模糊复原有一定去雾功效。

根据此模板,利用加权高斯滤波,将完成模糊图像复原。可以将论文中的模糊图像复原,完成毕业设计用

img

上述细节增强和模糊复原有一定去雾功效。

图像模糊复原和图像去雾是计算机视觉中的两个不同但相关的领域,它们都致力于改善图像质量,以便更好地进行后续的分析或提供更清晰的视觉体验。下面我将分别介绍这两个概念:

图像模糊复原

图像模糊复原是指通过算法恢复被模糊了的原始图像的过程。图像模糊可能由于多种原因造成,如相机抖动、物体运动、光学系统的缺陷(如镜头失焦)等。模糊复原的目标是从模糊的观测中估计出原始清晰的图像。

常见的模糊复原方法包括但不限于:

  • 逆滤波(Inverse Filtering):假设已知模糊核(即导致图像模糊的函数),可以尝试直接应用其逆操作来恢复图像。然而,这种方法对噪声非常敏感。
  • 维纳滤波(Wiener Filtering):一种考虑了噪声影响的统计方法,它试图在最小均方误差的意义上优化复原结果。
  • 约束最小二乘滤波(Constrained Least Squares Filtering):引入正则化项以处理噪声问题,并确保解的稳定性。
  • 盲去卷积(Blind Deconvolution):当模糊核未知时使用的方法,需要同时估计模糊核和原始图像。
  • 深度学习方法:利用神经网络强大的特征提取能力,从大量样本中学习如何映射模糊图像到清晰图像。
    在这里插入图片描述

图像去雾

图像去雾则是指去除由大气条件(如雾、霾、烟等)引起的图像退化,使得图像看起来更加清晰。雾气会降低对比度并改变颜色,导致远处的物体难以辨认。去雾技术旨在恢复场景的真实颜色和对比度。

经典的去雾算法有:

  • 暗通道先验(Dark Channel Prior):由He等人提出的一种快速有效的单幅图像去雾算法,基于自然图像中局部区域至少有一个颜色通道具有很低的强度值这一观察。
  • 大气散射模型(Atmospheric Scattering Model):根据物理原理建模光在空气中传播时的行为,以此为基础进行去雾。
  • 多尺度融合(Multi-scale Fusion):结合不同尺度下的图像信息来进行去雾,有时也用于合成高动态范围(HDR)图像。
  • 深度学习方法:类似于模糊复原,也有许多基于深度学习的去雾方法,这些方法能够从数据中自动学习复杂的非线性映射关系。

OpenCV 是一个广泛使用的开源计算机视觉库,提供了实现上述一些算法的工具和函数。对于更复杂或最新的算法,可能需要借助其他专业库或者自行实现。如果你正在寻找具体的OpenCV代码示例来实现这些功能,请进一步明确你的需求,我可以为你提供更详细的指导。

根据此模板,利用加权高斯滤波,将完成模糊图像复原。可以将论文中的模糊图像复原,完成毕业设计用。

最后 代码获取

985计算机硕:代码获取/论文指导/远程协助
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值