项目功能实现:对一张图片进行均值模糊操作
按照之前的博文结构来,这里就不在赘述了
更多的图像模糊操作原理可参考博文:七、模糊操作,里面有详细原理讲解,只不过代码是python写的。
一、头文件
blurtest.h
#pragma once#include<opencv2/opencv.hpp>using namespace cv;class BlurTest {
public:void blurtest(Mat& image);
};#pragma once
二、函数实现
blurtest.cpp
blur(image, result, Size(5, 5), Point(-1, -1));
参数一:要处理的图像
参数二:得到结果
参数三:卷积核大小
参数四:Point类型的anchor,表示锚点(即被平滑的那个点),默认值Point(-1,-1),表示这个锚点在核的中心
均值模糊的卷积核无论大小是多少,卷积核的所有参数都一样,故成为均值卷积
#include"blurtest.h"
#include<iostream>
#include<opencv2/opencv.hpp>void BlurTest::blurtest(Mat& image) {Mat result;blur(image, result, Size(5, 5), Point(-1, -1));imshow("blur", result);
}
三、主函数
yy_main.cpp
#include <opencv2/opencv.hpp>
#include <iostream>
#include"blurtest.h.h"
using namespace cv;
using namespace std;int main(int argc, char** argv) {Mat src = cv::imread("E:/C++_workspace/beyond.jpg", IMREAD_COLOR);if (src.empty()) {printf("load image is false...\n");return -1;}namedWindow("yanyu", WINDOW_FREERATIO);imshow("yanyu", src);BlurTest yy;yy.blurtest(src);waitKey(0);destroyAllWindows();return 0;
}
项目结构如下:
运行结果如下: