opencv学习笔记——图像平滑

图像平滑

均值滤波

任意一点的像素值,都是周围N*N个像素值的均值

函数blur:处理结果 = cv2.blur(原始图像, 核大小)

cv2.blur(image, (5,5))

方框滤波

函数boxFilter:处理结果 = cv2.boxFilter(原始图像, 目标图像深度, 核大小, normalize属性)

  • 目标图像深度:int类型的目标图像深度。通常使用“-1”表示与原始图像一致

  • normalize属性:是否对目标图像进行归一化处理

    • normalize = true时,与均值滤波相同
    • normalize = false时,很容易发生溢出

d s t ( x , y ) = 1 α s r c ( x , y ) dst(x,y)=\frac{1}{α}src(x,y) dst(x,y)=α1src(x,y)

α = { 1 w i d t h ∗ h e i g h t n o r m a l i z e = t r u e 1 n o r m a l i z e = f a l s e α=\begin{cases} \frac{1}{width*height} \quad normalize=true \\ \quad \quad 1 \quad \quad \quad normalize=false \end{cases} α={widthheight1normalize=true1normalize=false

cv2.boxFilter(image, -1, (5,5))  # 默认normalize=1

高斯滤波

让临近的像素具有更高的重要度,对周围像素计算加权平均值,较近的像素具有较大的权重值

GaussianBlur函数:dst = cv2.GaussianBlur(src, ksize, sigmaX)

  • ksize:核大小,必须是奇数
  • sigmaX:X方向方差,控制权重
    • sigmaX=0时:sigma = 0.3 * ((ksize - 1) * 0.5 - 1) + 0.8
cv2.GaussianBlur(image, (3, 3), 0)

中值滤波

让临近的像素按照大小排列,取排序像素集中位于中间位置的值作为中值滤波后的像素值

medianBlur函数:dst = cv2.medianBlur(src, ksize)

  • ksize:核大小,必须是比1大的奇数
cv.medianBlur(image, 3)

应用

"""
均值滤波
"""
import cv2

color = cv2.imread('image/color.jpg')
cv2.imshow('color', color)

dst = cv2.blur(color, (3, 3))
cv2.imshow('dst', dst)

cv2.waitKey(0)
cv2.destroyAllWindows()
"""
方框滤波
"""
import cv2

color = cv2.imread('image/color.jpg')
cv2.imshow('color', color)

dst = cv2.boxFilter(color, -1, (2, 2), normalize=0)
cv2.imshow('dst', dst)

cv2.waitKey(0)
cv2.destroyAllWindows()
"""
高斯滤波
"""
import cv2

color = cv2.imread('image/color.jpg')
cv2.imshow('color', color)

dst = cv2.GaussianBlur(color, (3, 3), 0)
cv2.imshow('dst', dst)

cv2.waitKey(0)
cv2.destroyAllWindows()
"""
中值滤波
"""
import cv2

color = cv2.imread('image/color.jpg')
cv2.imshow('color', color)

dst = cv2.medianBlur(color, 3)
cv2.imshow('dst', dst)

cv2.waitKey(0)
cv2.destroyAllWindows()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值