CV_3 图像平滑处理

图像阈值化处理

cv2.threshold(src,thresh,maxval,type)

thresh:人为指定的阈值;
maxval:像素超过阈值,赋值,否则取0type1. cv2.THRESH_BINARY 超过阈值取255,低于阈值取0
2. cv2.THRESH_BINARY_INV 二值取反
3. cv2.THRESH_TRUNC 超过阈值取阈值,低于阈值取本身
4. cv2.THRESH_TOZERO 小于阈值取0,超过阈值取本身
5. cv2.THRESH_TOZERO_INV 超过阈值取0,低于阈值取本身

返回ret,dst;
ret为阈值返回值,为thresh;
dst为输出图像;

当阈值处理彩色图像时,出现黑白之外的颜色是因为BGR三通道的叠加。

均值滤波/填充

存在缺失值(噪声);

没有办法真正空白,白色也存在值;

均值滤波是针对每一个像素点,噪声得到较好的隐藏;

过程类似于滑动窗口法,暂时无法解决边界。

计算kxk个数,取平均,填充中间位置。

随着核越大,图像越模糊,噪声越少,无法处理的边界也越多;

cv2.blur(src,(kernel,kernel))

方框滤波

两种选择:

  1. 均值填充;
  2. 和填充。像素点溢出就直接取255。
cv.boxFilter(src,depth,(kernel,kernel),normalize)
depth:通常取-1,表示与源图像深度相同;
kernel:3x3,5x5
normalize:是否进行归一化;0不进行(像素点溢出,超过255255),1进行(均值滤波)

高斯滤波

均值滤波的缺点:实际上是周围像素点的共同权重填充;

因此引入高斯滤波,离得越近,考虑更大的权重;因为就近的颜色应该应该一致。

cv2.GaussianBlur(src,(kernel,kernel),sigmaX,sigmaY)
sigmaX:X方向上的标准偏差
sigmaY:Y方向上的标准偏差
两个Sigma都是用来控制权重的。

Sigma = 0 时,系统会计算为
s i g m a X = 0.3 ∗ ( ( k s i z e − 1 ) ∗ 0.5 − 1 ) + 0.8 sigmaX=0.3*((ksize-1)*0.5-1)+0.8 sigmaX=0.3((ksize1)0.51)+0.8
对矩阵中,x方向中的数据的方差和均值进行控制;

cv2.GaussianBlur(img,(5,5),0) 
sigmaX = 0 ,默认 sigmaY = 0

kernelsize必须为奇数。

中值滤波

最好的形式,效果好得不行。

滤波都是为了降噪;

平均看不出来真实水准,因此采用中位数。

将kxk的矩阵中的元素,从大到小排序,取中间值。

cv2.medianBlur(src,kernel)
kernel:不用再传递元组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

右边是我女神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值