OpenCV-模糊Smoothing详解

本文介绍了OpenCV中模糊处理的基本概念及其应用。包括简单的模糊、中值模糊、双边模糊及高斯模糊等方法,并详细解释了每种模糊方法的特点及适用场景。

模糊功能有去噪点,减轻失真,降低图像分辨率的作用
OpenCV中,模糊功能的函数叫cvSmooth
其原型

void cvSmooth(
const CvArr *src,
CvArr *dst,
int smoothtype = CV_GAUSSIAN,
int param1 = 3,
int param2 = 0,
int param3 = 0,
int param4 = 0,
};

其中4个param参数的意义由选择的smoothtype决定,参数为所选模糊类型做调整

Smooth typeName是否能替换原图Brief description
CV_BLUR简单模糊对每个点param1*param2的邻域求和得均值,再做缩放1/(param1*param2)
CV_BLUR_SCALE简单无缩放变换的模糊对每个点param1*param2的邻域求和得均值
CV_MEDIAN中值模糊对每个点param1*param2的邻域进行中值滤波
CV_GAUSSIAN高斯模糊对每个点param1*param2的邻域进行高斯卷积
CV_BILATE_RAL双边模糊使用双线性滤波
  • 简单模糊:在以中心像素点的邻域内求平均值替代中心像素点的像素值,再对图像进行缩放处理
  • 中值模糊:在以中心像素点的邻域内求中值替代中心像素点的像素值
  • 双边模糊:与高斯模糊相似,但是其加权平均由两部分组成,第一部分与高斯模糊相似,第二部分基于其他像素与中心像素像素差的加权平均
  • 高斯模糊:以中心像素点的邻域构造正态分布的模型(距离中心像素点越远的点权重越低),使用高斯函数(二元形式)由邻域在曲线上的位置求每一个点的权重
    高斯函数求权重
    得到邻域的权重矩阵后,再将其变换成所有权重和为1的形式,为最终的权重矩阵,最后将各点像素值乘上其对应的权重,得到中心点的像素值

[1]百度百科:高斯模糊
[2]Gary Bradski & Adrian Kaehler.Learning OpenCV

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值