最近自己在做一個有關圖像處理的小項目,涉及到圖像的邊緣檢測、直線檢測、輪廓檢測以及角點檢測等,本文首先介紹圖像的邊緣檢測,使用的是Canny邊緣檢測算法,具體代碼以及檢測效果如下:
1、代碼部分:
// Image_Canny.cpp : 定義控制檯應用程序的入口點。
//
#include "stdafx.h"
#include <cv.h>
#include "highgui.h"
using namespace cv;
int _tmain(int argc, _TCHAR* argv[])
{
Mat src_img=imread("..\\image_norm\\71253.jpg");
imshow("src_img",src_img);
Mat img_canny(src_img.size(),CV_8UC1,Scalar(0));
//canny detect
Canny(src_img,img_canny,100,300,3,true);
imshow("img_canny",img_canny);
imwrite("..\\post_img\\canny.jpg",img_canny);
cvWaitKey(0);
return 0;
}
2、原圖以及邊緣檢測效果圖:
至此,圖像的邊緣檢測已經實現,在此記錄下來,也供初學者參考,最近一直在加班寫代碼調試代碼,最大的感觸就是:代碼因在不斷調試中而愈加精緻。