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);
如果沒有灰度處理的話,邊緣檢測效果不明顯。不能很好的把輪廓顯示出來。