GaussianBlur(高斯滤波)

概念

高斯滤波

效果图对比

●源图像


GaussianBlur(高斯滤波)_第1张图片

●处理后图像


GaussianBlur(高斯滤波)_第2张图片

函数讲解

●函数原型
○c++

void GaussianBlur( InputArray src, OutputArray dst, Size ksize,
                                double sigmaX, double sigmaY = 0,
                                int borderType = BORDER_DEFAULT )

○Android

void GaussianBlur(Mat src, Mat dst, Size ksize, double sigmaX, double sigmaY, int borderType)

●参数解释
○src:源图像Mat对象
○dst:目标图像Mat对象
○ksize:高斯核的大小如Size(3,3),宽和高都必须为正奇数,越大越模糊。
○sigmaX:高斯核在x方向的标准差。
○sigmaY :高斯核在y方向的标准差(sigmaY=0时,其值自动由sigmaX确定(sigmaY=sigmaX);sigmaY=sigmaX=0时,它们的值将由ksize.width和ksize.height自动确定)
○borderType :边缘的处理类型,默认即可。

函数使用

●c++中

#include
using namespace cv;
int main() {
    Mat src = imread("C:/Users/Administrator/Desktop/ic_test.jpg");//引入源图像
    if (src.empty()) {
        return -1;
    }
    imshow("src", src);//展示源图像
    Mat dst;
    GaussianBlur(src, dst, Size(7, 7), 0, 0);//高斯模糊
    imshow("dst", dst);//展示操作后的图像
    waitKey(0);
    return 0;
}

●Android中

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_beauty);//获取源图像Bitmap对象
Mat src = new Mat();
Mat dst = new Mat();
Utils.bitmapToMat(bitmap,src);//Bitmap转换为Mat对象
Imgproc.GaussianBlur(src, dst, Size(7, 7), 0, 0);//高斯模糊
Utils.matToBitmap(dst,bitmap);//Mat转换为Bitmap对象
imageView.setImageBitmap(bitmap);

你可能感兴趣的:(GaussianBlur(高斯滤波))