opencvC++学习8模糊1

xiaoxiao2021-02-28  32

模糊原理:

1.Smooth/Blur 是图像处理中最简单和常用的操作之一 2.使用该操作的原因之一就为了给图像预处理时候减低噪声 3.使用Smooth/Blur操作其背后是数学的卷积计算

4.通常这些卷积算子计算都是线性操作,所以又叫线性滤波

模糊方法:

1.归一化盒子滤波(均值滤波)

2.高斯滤波

API:

均值模糊

blur(Mat src, Mat dst, Size(xradius, yradius), Point(-1,-1));

高斯模糊  GaussianBlur(Mat src, Mat dst, Size(11, 11), sigmax, sigmay);        其中Size(x, y), x, y 必须是正数而且是奇数

实例代码:

#include <opencv2\opencv.hpp> #include <iostream> using namespace std; using namespace cv; int main() { Mat src; src = imread("D:/opencv/test.jpg"); if (src.empty()) { printf("imread imgae error"); return -1; } namedWindow("input", CV_WINDOW_AUTOSIZE); imshow("input", src); namedWindow("bblur", CV_WINDOW_AUTOSIZE); namedWindow("gblur", CV_WINDOW_AUTOSIZE); Mat bblur; Mat gblur; blur(src, bblur, Size(11, 11)); imshow("bblur", bblur); GaussianBlur(src, gblur, Size(11, 11), 11, 11); imshow("gblur", gblur); waitKey(0); return 0; }

效果:

转载请注明原文地址: https://www.6miu.com/read-2626403.html

最新回复(0)