opencv 滤波

来源:互联网 发布:龙虎榜数据真实吗 编辑:程序博客网 时间:2024/06/06 03:25

opencv的滤波方法有5种,blur--均值滤波,boxfilter--方框滤波,gaussianblur--高斯滤波,medianblur--中值滤波,双边滤波

boxFilter(img,dst,-1,Size(5,5),Point(-1,-1),true);//归一化为1,类似于均值滤波

第一个参数是 输入图像,第二个是输出图像,第三个是图像的深度-1表示与输入图像一样,第四个是内核(就是以像素点为核心扩展的影响范围,内核越大滤波效果越明显,但容易把一些需要的特征也滤掉),第五个参数表示锚点在核中心,最后一个表示执行归一化,其效果和均值滤波一样

若最后一个参数为false那么效果会是不乘加权系数下的相加,会使像素值特别大,及图像特别亮




blur//均值滤波


gaussianblur--高斯滤波


GaussianBlur(src,dst,Size(5,5),1);

第一个参数是输入图像,第二个参数是输出图像,第三个参数是内核大小(但要注意其核必须为大于0的奇数),第四个参数是x方向偏置

高斯滤波相对于均值方框滤波在滤除毛刺的情况下还能很好的保留轮廓信息,故高斯滤波的使用较为广泛



,medianblur--中值滤波


,medianblur--中值滤波

medianBlur( InputArray src, OutputArray dst, int ksize );//注意其核(第三个参数)必须为大于0的奇数

中值滤波能很好的滤除点状,雪花状的椒盐噪声