# include <opencv\cv.h>
# include <opencv\highgui.h>
IplImage* doCanny(
IplImage* in,
double lowThresh,
double highThresh,
double aperture)
{
if (in->nChannels != 1)
return(0); // Canny only handles gray scale images
IplImage* out = cvCreateImage(
cvGetSize( in ),
in->depth, //IPL_DEPTH_8U,
1);
cvCanny( in, out, lowThresh, highThresh, aperture );
return( out );
};
int main( int argc, char** argv )
{
//IplImage* img_rgb = cvLoadImage( argv[1] );
IplImage* img_rgb = cvLoadImage("c:/opencv/build/doc/opencv-logo.png" );
IplImage* img_gry = cvCreateImage( cvSize( img_rgb->width,img_rgb->height ), img_rgb->depth, 1);
cvCvtColor(img_rgb, img_gry ,CV_BGR2GRAY);
cvNamedWindow("Example Gray", CV_WINDOW_AUTOSIZE );
cvNamedWindow("Example Canny", CV_WINDOW_AUTOSIZE );
cvShowImage("Example Gray", img_gry );
IplImage* img_cny = doCanny( img_gry, 10, 100, 3 );
cvShowImage("Example Canny", img_cny );
cvWaitKey(0);
cvReleaseImage( &img_rgb);
cvReleaseImage( &img_gry);
cvReleaseImage( &img_cny);
cvDestroyWindow("Example Gray");
cvDestroyWindow("Example Canny");
}
** 캐니 엣지 검출기의 결과 영상은 입력 영상과 크기가 같고,단일 채널로 이루어져 있다.
'공부해요 > OpenCV' 카테고리의 다른 글
차 번호판인식소스 (0) | 2015.02.17 |
---|---|
[ openCV 제대로 배우기 ] ex2-5.exe - cvPyrDown()함수를 사용하여 입력 영상의 가로,세로 크기 반으로 줄이기기 (0) | 2014.07.28 |
[ openCV 제대로 배우기 ] ex2-4.exe - 간단한 변환 (0) | 2014.07.28 |
[ openCV 제대로 배우기 ] ex2-3.exe - 간단한 사용자 인터페이스 추가 (0) | 2014.07.28 |
[ openCV 제대로 배우기 ] ex2-2.exe - AVI동영상 재생 (0) | 2014.07.28 |