// compile with: // g++ `pkg-config opencv --libs` `pkg-config opencv --cflags` -o canny canny.c // start with // canny some_image.png #include #include int main(int argc, char* argv[]) { IplImage* pImg = cvLoadImage(argv[1]) ; if (!pImg) exit(EXIT_FAILURE); IplImage* pGVImg = cvCreateImage(cvGetSize(pImg), IPL_DEPTH_8U, 1); cvSplit(pImg, pGVImg, NULL, NULL, NULL ); IplImage* pCannyImg = cvCreateImage(cvGetSize(pImg), pImg->depth, 1); cvCanny(pGVImg, pCannyImg, 40, 130); cvNamedWindow("Canny", CV_WINDOW_AUTOSIZE) ; cvShowImage("Canny", pCannyImg); cvWaitKey(0); cvDestroyWindow("Canny"); cvReleaseImage(&pCannyImg) ; cvReleaseImage(&pGVImg) ; cvReleaseImage(&pImg) ; return EXIT_SUCCESS; }