OpenCV库是一个开源的集成库,用于图像处理非常方便,下面是我做的基于OpenCV的Canny边缘检测。
这是我的main.cpp
#include <iostream>
#include <opencv2\core.hpp>
#include <opencv2\highgui\highgui.hpp>
#include <opencv\cv.hpp>
#include "TestImage.h"
int main(int argc, char** argv)
{
IplImage* img = cvLoadImage("lena.jpg",CV_LOAD_IMAGE_GRAYSCALE);
//smoothing_Image(img);//将图像平滑处理
cvNamedWindow("Image-in", CV_WINDOW_AUTOSIZE);
cvShowImage("Image-in",img );
//img = doPyrDown(img, CV_GAUSSIAN_5x5);//调整图像为输入图像的宽度和高度的一半
img = doCanny(img,10,100,3);//对灰度级图像进行canny边缘检测
cvNamedWindow("Image-out", CV_WINDOW_AUTOSIZE);
//cvNamedWindow("Image-out", CV_WINDOW_AUTOSIZE);
cvShowImage("Image-out", img);
cvReleaseImage(&img);//释放内存
cvWaitKey(0);
cvDestroyWindow("Image-in");
cvDestroyWindow("Image-out");
return(0);
}
下面是我的TestImage.h
#ifndef __TESTIMAGE_H__
#define __TESTIMAGE_H__
#include <