OpenCV——圖像處理入門:膨脹與腐蝕、圖像模糊、邊緣檢測


全部外部依賴項:

 1 opencv_aruco341d.lib
 2 opencv_bgsegm341d.lib
 3 opencv_calib3d341d.lib
 4 opencv_bioinspired341d.lib
 5 opencv_ccalib341d.lib
 6 opencv_core341d.lib
 7 opencv_datasets341d.lib
 8 opencv_dnn_objdetect341d.lib
 9 opencv_dnn341d.lib
10 opencv_dpm341d.lib
11 opencv_face341d.lib
12 opencv_features2d341d.lib
13 opencv_flann341d.lib
14 opencv_fuzzy341d.lib
15 opencv_hfs341d.lib
16 opencv_highgui341d.lib
17 opencv_img_hash341d.lib
18 opencv_imgcodecs341d.lib
19 opencv_imgproc341d.lib
20 opencv_line_descriptor341d.lib
21 opencv_ml341d.lib
22 opencv_objdetect341d.lib
23 opencv_optflow341d.lib
24 opencv_phase_unwrapping341d.lib
25 opencv_photo341d.lib
26 opencv_plot341d.lib
27 opencv_reg341d.lib
28 opencv_saliency341d.lib
29 opencv_shape341d.lib
30 opencv_stereo341d.lib
31 opencv_rgbd341d.lib
32 opencv_stitching341d.lib
33 opencv_structured_light341d.lib
34 opencv_superres341d.lib
35 opencv_surface_matching341d.lib
36 opencv_text341d.lib
37 opencv_tracking341d.lib
38 opencv_video341d.lib
39 opencv_videoio341d.lib
40 opencv_videostab341d.lib
41 opencv_xfeatures2d341d.lib
42 opencv_xobjdetect341d.lib
43 opencv_xphoto341d.lib

測試程序:

 1 #include <opencv2/opencv.hpp>
 2 #include <iostream>
 3 using namespace cv;
 4 
 5 int main(int argc, char** argv)
 6 {
 7     Mat srcImage = imread("test.jpg");
 8 
 9     imshow("[My Picture]", srcImage);
10 
11     waitKey(0);
12 
13 }

膨脹和腐蝕:

 

 1 #include <opencv2/opencv.hpp>
 2 #include <iostream>
 3 //#include <opencv2/highgui/highgui.hpp>
 4 //#include <imgproc/imgproc.hpp>
 5 using namespace cv;
 6 
 7 int main(int argc, char** argv)
 8 {
 9     Mat srcImage = imread("test.jpg");
10     imshow("[原圖]", srcImage);
11 
12     //進行膨脹操作
13     Mat element1 = getStructuringElement(MORPH_RECT, Size(5, 5));
14     Mat dstImage1;
15     dilate(srcImage, dstImage1, element1);
16     imshow("[膨脹效果圖]", dstImage1);
17 
18     //進行腐蝕操作
19     Mat element2 = getStructuringElement(MORPH_RECT, Size(5, 5));
20     Mat dstImage2;
21     erode(srcImage, dstImage2, element2);
22     imshow("[腐蝕效果圖]", dstImage2);
23 
24     waitKey(0);
25 
26     return 0;
27 }

圖像模糊:

 

 1 #include <opencv2/opencv.hpp>
 2 #include <iostream>
 3 //#include <opencv2/highgui/highgui.hpp>
 4 //#include <imgproc/imgproc.hpp>
 5 using namespace cv;
 6 
 7 int main(int argc, char** argv)
 8 {
 9     Mat srcImage = imread("test.jpg");
10     imshow("[原圖]", srcImage);
11 
12     //進行均值濾波操作
13     Mat dstImage1;
14     blur(srcImage, dstImage1, Size(7,7));
15     imshow("[效果圖]", dstImage1);
16 
17     waitKey(0);
18 
19     return 0;
20 }

Canny邊緣檢測:

 1 #include <opencv2/opencv.hpp>
 2 #include <iostream>
 3 //#include <opencv2/highgui/highgui.hpp>
 4 //#include <imgproc/imgproc.hpp>
 5 using namespace cv;
 6 
 7 //Canny邊緣檢測
 8 int main(int argc, char** argv)
 9 {
10     Mat srcImage = imread("test.jpg");
11     imshow("[原圖]", srcImage);
12 
13     Mat edge, gray;
14     //將原圖轉換成灰度圖像
15     cvtColor(srcImage, gray, COLOR_BGR2GRAY);
16     //均值濾波降噪
17     blur(gray, edge, Size(3, 3));
18     //運行Canny算子
19     Canny(edge, edge, 3, 9, 3);
20 
21 
22     imshow("[效果圖]", edge);
23 
24     waitKey(0);
25 
26     return 0;
27 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM