一、配置环境
https://blog.csdn.net/weixin_42836481/article/details/81358695
二、测试
1.显示原图
#include<opencv2/opencv.hpp>
using namespace cv;
int main() {
Mat img = imread("1.jpg");
imshow("picture", img);
waitKey(6000);
}
2.图像腐蚀
#include<opencv2/opencv.hpp>
using namespace cv;
int main() {
Mat srcImg = imread("2.jpg");
imshow("srcImg", srcImg);
Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));
Mat dstImg;
erode(srcImg, dstImg, element);
imshow("dstImg", dstImg);
waitKey(0);
return 0;
}
3.图像模糊
#include<opencv2/opencv.hpp>
using namespace cv;
int main() {
Mat srcImg = imread("3.jpg");
imshow("srcImg", srcImg);
Mat dstImage;
blur(srcImg, dstImage, Size(7, 7));
imshow("均值滤波", dstImage);
waitKey(0);
return 0;
}
4.canny边缘检测
#include<opencv2/opencv.hpp>
using namespace cv;
int main() {
Mat srcImg = imread("4.jpg");
imshow("srcImg", srcImg);
Mat dstImg, edge, grayImg;
dstImg.create(srcImg.size(), srcImg.type());
cvtColor(srcImg, grayImg, COLOR_BGR2GRAY);
blur(grayImg, edge, Size(3, 3));
Canny(edge, edge, 3, 9, 3);
imshow("Canny", edge);
waitKey(0);
return 0;
}
5.读取并播放视频
#include<opencv2/opencv.hpp>
using namespace cv;
int main() {
//“1.avi” 改成 0 为摄像头调用
VideoCapture capture("1.avi");
while (1) {
Mat frame;
capture >> frame;
imshow("video", frame);
waitKey(30);
}
return 0;
}