您的位置 首页 新闻

Opencv之图像处理

图像线性滤波实现,主要包括以下三种 方框滤波 平均滤波 高斯滤波 方框滤波就是没有归一化的均值滤波 void boxFilter(){ // 载入原图 Mat image=imre…

图像线性滤波实现,主要包括以下三种

方框滤波

平均滤波

高斯滤波

方框滤波就是没有归一化的均值滤波

void boxFilter(){ // 载入原图 Mat image=imread(“../img/1.jpg”); //创建窗口 namedWindow( “方框滤波【原图】” ); namedWindow( “方框滤波【效果图】”); //显示原图 imshow( “方框滤波【原图】”, image ); //进行方框滤波操作 Mat out; boxFilter( image, out, -1,Size(5, 5)); //显示效果图 imshow( “方框滤波【效果图】” ,out ); waitKey( 0 ); }

均值滤波实现

void averageFilter(){ //【1】载入原始图 Mat srcImage=imread(“../img/1.jpg”); //【2】显示原始图 imshow( “均值滤波【原图】”, srcImage ); //【3】进行均值滤波操作 Mat dstImage; blur( srcImage, dstImage, Size(7, 7)); //【4】显示效果图 imshow( “均值滤波【效果图】” ,dstImage ); waitKey( 0 ); }

高斯滤波实现

void gaussinFilter(){ // 载入原图 Mat image=imread(“../img/1.jpg”); //创建窗口 namedWindow( “高斯滤波【原图】” ); namedWindow( “高斯滤波【效果图】”); //显示原图 imshow( “高斯滤波【原图】”, image ); //进行高斯滤波操作 Mat out; GaussianBlur( image, out, Size( 5, 5 ), 0, 0 ); //显示效果图 imshow( “高斯滤波【效果图】” ,out ); waitKey( 0 ); }

非线性滤波实现

主要包括均值滤波与双边滤波。

中值滤波(Median filter)是一种典型的非线性滤波技术,基本思想是用像素点邻域灰度值的中值来代替该像素点的灰度值,该方法在去除脉冲噪声、椒盐噪声的同时又能保留图像边缘细节,.

双边滤波(Bilateral filter)是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折衷处理,同时考虑空域信息和灰度相似性,达到保边去噪的目的。具有简单、非迭代、局部的特点。

双边滤波器的好处是可以做边缘保存(edge preserving),一般过去用的维纳滤波或者高斯滤波去降噪,都会较明显地模糊边缘,对于高频细节的保护效果并不明显。双边滤波器顾名思义比高斯滤波多了一个高斯方差sigma-d,它是基于空间分布的高斯滤波函数,所以在边缘附近,离的较远的像素不会太多影响到边缘上的像素值,这样就保证了边缘附近像素值的保存。但是由于保存了过多的高频信息,对于彩色图像里的高频噪声,双边滤波器不能够干净的滤掉,只能够对于低频信息进行较好的滤波。

中值滤波

void centerFilter(){ // 载入原图 Mat image=imread(“../img/1.jpg”); //创建窗口 namedWindow( “中值滤波【原图】” ); namedWindow( “中值滤波【效果图】”); //显示原图 imshow( “中值滤波【原图】”, image ); //进行中值滤波操作 Mat out; medianBlur ( image, out, 7); //显示效果图 imshow( “中值滤波【效果图】” ,out ); waitKey( 0 ); }

双边滤波

本文来自网络,不代表Xnewv立场,转载请注明出处:https://xnewv.com/2057.html

为您推荐

联系我们

联系我们

18873343099

在线咨询: QQ交谈

邮箱: [email protected]

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部