概念
效果图对比
●源图像
●处理后图像
函数讲解
●函数原型
○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<opencv2/opencv.hpp>
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);
网友评论