Python使用OpenCV实现图像模糊详解

2021年4月6日19:27:39 发表评论 1,239 次浏览

影像模糊指使图像不清晰或不清晰。它是借助各种低通滤波器内核完成的。

模糊的优点:

  • 它有助于消除噪音。由于噪声被认为是高通信号, 因此通过应用低通滤波器内核, 我们可以限制噪声。
  • 它有助于使图像平滑。
  • 低强度边缘被去除。
  • 必要时, 它有助于隐藏细节。例如在许多情况下, 警察故意要隐藏受害者的脸, 在这种情况下, 需要模糊处理。

重要的模糊类型:

高斯模糊:

高斯模糊是通过高斯函数对图像进行模糊处理的结果。它是图形软件中广泛使用的效果, 通常用于减少图像噪声和减少细节。在应用我们的机器学习或深度学习模型之前, 它还用作预处理阶段。

例如。高斯核(3×3)

1/16 \ quad \ begin {bmatrix} 1&2&1 \\ 2&4&2 \\ 1&2&1 \\ \ end {bmatrix}

中值模糊:中值滤波器是一种非线性数字滤波技术, 通常用于去除图像或信号中的噪声。中值滤波在数字图像处理中非常广泛地使用, 因为在某些条件下, 中值滤波可以在消除噪声的同时保留边缘。这是消除盐和胡椒粉噪音的最佳算法之一。

双边模糊:双边滤镜是用于图像的非线性, 保留边缘和降低噪声的平滑滤镜。它将每个像素的强度替换为附近像素的强度值的加权平均值。该权重可以基于高斯分布。因此, 保留了锋利的边缘, 而丢弃了弱的边缘。

以下是Python代码:

# importing libraries
import cv2
import numpy as np
  
image = cv2.imread( 'C://lsbin//image_processing//fruits.jpg' )
  
cv2.imshow( 'Original Image' , image)
cv2.waitKey( 0 )
  
# Gaussian Blur
Gaussian = cv2.GaussianBlur(image, ( 7 , 7 ), 0 )
cv2.imshow( 'Gaussian Blurring' , Gaussian)
cv2.waitKey( 0 )
  
# Median Blur
median = cv2.medianBlur(image, 5 )
cv2.imshow( 'Median Blurring' , median)
cv2.waitKey( 0 )
  
  
# Bilateral Blur
bilateral = cv2.bilateralFilter(image, 9 , 75 , 75 )
cv2.imshow( 'Bilateral Blurring' , bilateral)
cv2.waitKey( 0 )
cv2.destroyAllWindows()

输出如下:

Python使用OpenCV实现图像模糊

首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。


木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: