1.主要内容和目标
本文讲述如何运用代码来将迷糊图像进行复原,以达到清晰图像以及细节增强的目的。
首先呈现了前后对比图,左图为模糊原图,右图为复原图像。
(不只是用在二值图像)
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)
```
并且用上述代码;我也发现它可以用于图像去雾,上述细节增强和模糊复原有一定去雾功效。
根据此模板,利用加权高斯滤波,将完成模糊图像复原。可以将论文中的模糊图像复原,完成毕业设计用
上述细节增强和模糊复原有一定去雾功效。
图像模糊复原和图像去雾是计算机视觉中的两个不同但相关的领域,它们都致力于改善图像质量,以便更好地进行后续的分析或提供更清晰的视觉体验。下面我将分别介绍这两个概念:
图像模糊复原
图像模糊复原是指通过算法恢复被模糊了的原始图像的过程。图像模糊可能由于多种原因造成,如相机抖动、物体运动、光学系统的缺陷(如镜头失焦)等。模糊复原的目标是从模糊的观测中估计出原始清晰的图像。
常见的模糊复原方法包括但不限于:
- 逆滤波(Inverse Filtering):假设已知模糊核(即导致图像模糊的函数),可以尝试直接应用其逆操作来恢复图像。然而,这种方法对噪声非常敏感。
- 维纳滤波(Wiener Filtering):一种考虑了噪声影响的统计方法,它试图在最小均方误差的意义上优化复原结果。
- 约束最小二乘滤波(Constrained Least Squares Filtering):引入正则化项以处理噪声问题,并确保解的稳定性。
- 盲去卷积(Blind Deconvolution):当模糊核未知时使用的方法,需要同时估计模糊核和原始图像。
- 深度学习方法:利用神经网络强大的特征提取能力,从大量样本中学习如何映射模糊图像到清晰图像。
图像去雾
图像去雾则是指去除由大气条件(如雾、霾、烟等)引起的图像退化,使得图像看起来更加清晰。雾气会降低对比度并改变颜色,导致远处的物体难以辨认。去雾技术旨在恢复场景的真实颜色和对比度。
经典的去雾算法有:
- 暗通道先验(Dark Channel Prior):由He等人提出的一种快速有效的单幅图像去雾算法,基于自然图像中局部区域至少有一个颜色通道具有很低的强度值这一观察。
- 大气散射模型(Atmospheric Scattering Model):根据物理原理建模光在空气中传播时的行为,以此为基础进行去雾。
- 多尺度融合(Multi-scale Fusion):结合不同尺度下的图像信息来进行去雾,有时也用于合成高动态范围(HDR)图像。
- 深度学习方法:类似于模糊复原,也有许多基于深度学习的去雾方法,这些方法能够从数据中自动学习复杂的非线性映射关系。
OpenCV 是一个广泛使用的开源计算机视觉库,提供了实现上述一些算法的工具和函数。对于更复杂或最新的算法,可能需要借助其他专业库或者自行实现。如果你正在寻找具体的OpenCV代码示例来实现这些功能,请进一步明确你的需求,我可以为你提供更详细的指导。
根据此模板,利用加权高斯滤波,将完成模糊图像复原。可以将论文中的模糊图像复原,完成毕业设计用。
最后 代码获取
985计算机硕:代码获取/论文指导/远程协助