最近自己在做一个有关图像处理的小项目,涉及到图像的边缘检测、直线检测、轮廓检测以及角点检测等,本文首先介绍图像的边缘检测,使用的是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、原图以及边缘检测效果图:
至此,图像的边缘检测已经实现,在此记录下来,也供初学者参考,最近一直在加班写代码调试代码,最大的感触就是:代码因在不断调试中而愈加精致。