一、显示图片
#include "opencv2/opencv.hpp"
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
cv::Mat image = cv::imread("E:/OpencvStudyTest/1.png", cv::ImreadModes::IMREAD_COLOR);
cv::imshow("image", image);

二、滤波
1:方框滤波
/// 方框滤波
cv::Mat out;
cv::boxFilter(image, out, -1, cv::Size(5, 5));
cv::imshow("boxFilter", out);

2:均值滤波
/// 均值滤波
cv::Mat blur;
cv::blur(image, blur, cv::Size(5, 5));
cv::imshow("blur", blur);

3:高斯滤波
/// 高斯滤波
cv::Mat GaussianBlur;
cv::GaussianBlur(image, GaussianBlur, cv::Size(5, 5), 0, 0);
cv::imshow("GaussianBlur", GaussianBlur);

4:中值滤波
/// 中值滤波
cv::Mat medianBlur;
cv::medianBlur(image, medianBlur, 7);
cv::imshow("medianBlur", medianBlur);

5:双边滤波
/// 双边滤波
cv::Mat bilateralFilter;
cv::bilateralFilter(image, bilateralFilter, 25, 25*2, 25/2);
cv::imshow("bilateralFilter", bilateralFilter);

三、膨胀与腐蚀
1:膨胀
cv::Mat dilate;
cv::Mat element = cv::getStructuringElement(cv::MORPH_ELLIPSE, cv::Size(15, 15));
cv::dilate(image, dilate, element);
cv::imshow("dilate", dilate);

2:腐蚀
cv::Mat erode;
cv::Mat element = cv::getStructuringElement(cv::MORPH_ELLIPSE, cv::Size(15, 15));
cv::erode(image, erode, element);
cv::imshow("erode", erode);

四、形态学梯度
cv::Mat morphologyEx;
cv::Mat element = cv::getStructuringElement(cv::MORPH_ELLIPSE, cv::Size(2, 2));
cv::morphologyEx(image, morphologyEx, cv::MORPH_GRADIENT, element);
cv::imshow("fushi11", morphologyEx);

五、漫水填充
cv::Rect ccomp;
cv::floodFill(image, cv::Point(50, 300), cv::Scalar(155, 255, 255), &ccomp, cv::Scalar(20,20,20), cv::Scalar(20,20,20));
cv::imshow("floodFill", image);

六、图像金字塔
cv::Mat dstImage;
cv::pyrUp(image, dstImage, cv::Size(image.cols*2, image.rows*2));
cv::imshow("pyrUp", dstImage);
cv::Mat dstImage1;
cv::pyrDown(image, dstImage1, cv::Size(image.cols/2, image.rows/2));
cv::imshow("pyrDown", dstImage1);

好了,下一章再学习下图像变换!!!

















![[数据集][目标检测]课堂行行为检测数据集VOC+YOLO格式4065张12类别](https://i-blog.csdnimg.cn/direct/4bfdea155da84365bc16a5f849e9160b.png)

