OpenCv基本滤波算法小结

本文总结了OpenCV中的几种基本滤波算法,包括线性的方框滤波、均值滤波和高斯滤波,以及非线性的中值滤波和双边滤波。通过API介绍和代码示例,详细解释了每种滤波器的作用和应用场景,是理解OpenCV滤波操作的好资源。
摘要由CSDN通过智能技术生成

一.分类与作用

a>线性滤波:

1.方框滤波:模糊图像

2.均值滤波:模糊图像

3.高斯滤波:信号的平滑处理,去除符合正太分布的噪声

b>非线性滤波

1.中值滤波:去除椒盐噪声

2.双边滤波:保边去噪

二.OpenCv中的函数调用

1.方框滤波:

API:void boxFilter(源图像,目的图像,int 输出图像的深度,Size 邻域算子的大小,Point 锚点,bool 归一化标志,int 边界模式)

说明:1.源图像可以是彩色图或者是灰度图,因为图像处理的时候,通道是分开来处理的

       2.目的图像的大小和通道数必须和源图像相同,另外,目的图像的深度由后一个参 数决定

       3.输出图像的深度,指定CV_8U....,当为-1的时候,目标图像的深度和源图像的深度相同

       4.锚点,指被平滑的那个点位于领域算子矩阵的哪一个位置,从而确定计算时候的像素点的取值,如果是Point(-1,-1),那么自动取值中间的那个点.

       5.归一化标志,默认归一化为真,会将目标图像归一化到源图像的取值范围

关于第三个参数图像的深度:有这几种格式: 
当需要在不同深度的图像之间转换时,也可以用cvScale()这个函数。这个时候的转换,中间有个截断处理过程。比如IPL_DEPTH_64F到IPL_DEPTH_8U,就会把300转换到255。下面转一段别人总结的深度显示范围。 
测试double型:0.0–1.0之间 IPL_DEPTH_64F 
测试float型:0.0–1.0之间 IPL_DEPTH_32F 
测试long型:0–65535之间 IPL_DEPTH_32S 
测试short int型:-32768–32767之间 IPL_DEPTH_16S 
测试unsigned short int型:0–65535之间 IPL_DEPTH_16U 
测试char型:-128–127之间 IPL_DEPTH_8S 
测试unsigned char型:0–255之间 IPL_DEPTH_8U 

这个时候如果需要保存图像,请记住要先转换到IPL_DEPTH_8U的深度。

例:boxFilter(srcImage, box_Image, -1, Size(3, 3), Point(-1, -1), false,BORDER_DEFAULT);

2.均值滤波

  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值