赞
踩
原理:
高斯模糊使用的是高斯滤波,
均值模糊使用的是均值滤波。
一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。 通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。
均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标像素为中心的周围8个像素,构成一个滤波模板,即包括目标像素本身),再用模板中的全体像素的平均值来代替原来像素值。
缺点:
均值滤波本身存在着固有的缺陷,即它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点。
medianBlur(src, gblur, 3);
#include <opencv2/opencv.hpp> #include <iostream> using namespace cv; int main(int argc, char** argv) { Mat src, dst; src = imread("C:/Users/fh/Pictures/001.jpg"); if (!src.data) { printf("could not load image...\n"); return -1; } char input_title[] = "input image"; char output_title[] = "blur image"; namedWindow(input_title, WINDOW_AUTOSIZE); namedWindow(output_title, WINDOW_AUTOSIZE); imshow(input_title, src); //均值滤波 blur(src, dst, Size(11, 11), Point(-1, -1)); imshow(output_title, dst); //高斯滤波GaussianBlur(src,dst,size(x,y),sigmax,sigmay); //x,y是核大小,必须是正数且是奇数 //sigmax,sigmay分别是x,y方向方差 Mat gblur; GaussianBlur(src, gblur, Size(11, 11), 11, 11); imshow("gaussian blur", gblur); waitKey(0); return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。