OpenCV的安装与实现VS环境设置,VS2017与OpenCV4.1.0的文件选择
https://blog.csdn.net/cfl997/article/details/92829765
看一下效果图
先看源码:再分析一下
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
#include<opencv2/opencv.hpp>
using namespace cv;
void main() {
Mat srcImage = imread("h:test.jpg");
cvtColor(srcImage, srcImage, COLOR_BGR2GRAY);
imshow("灰度处理", srcImage);
srcImage = imread("h:test.jpg");
imshow("神奇的海螺", srcImage);
Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));
Mat dsImage;
erode(srcImage, dsImage, element);
imshow("腐蚀操作", dsImage);
blur(srcImage, dsImage, Size(15, 15));
imshow("模糊操作", dsImage);
Mat edge, grayImage;
Canny(dsImage, edge, 3, 9, 3);
imshow("没灰度处理边缘检测", edge);
cvtColor(srcImage, grayImage, COLOR_BGR2GRAY);
blur(grayImage, edge, Size(3, 3));
Canny(edge, edge, 3, 9, 3);
imshow("有灰度处理边缘检测", edge);
waitKey(0);
}
头文件:
#include<opencv2/opencv.hpp>
这个头文件包含了OpenCV所有的库。按道理写着一个就行了。
学习的话就是我们都要理解。
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
#include<opencv2/opencv.hpp>
using namespace cv;
打开图片:
Mat srcImage = imread("h:test.jpg");
灰度操作:(源图片、目标图片、操作)
cvtColor(srcImage, srcImage, COLOR_BGR2GRAY);
腐蚀操作:
Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));
Mat dsImage;
erode(srcImage, dsImage, element);
模糊操作:
blur(srcImage, dsImage, Size(15, 15));
imshow("模糊操作", dsImage);
边缘检测:
Mat edge, grayImage;
Canny(dsImage, edge, 3, 9, 3);
imshow("没灰度处理边缘检测", edge);
cvtColor(srcImage, grayImage, COLOR_BGR2GRAY);
blur(grayImage, edge, Size(3, 3));
Canny(edge, edge, 3, 9, 3);
imshow("有灰度处理边缘检测", edge);
如果没有灰度处理的话,边缘检测效果不明显。不能很好的把轮廓显示出来。