#include <iostream>
#include <cv.h>
#include <highgui.h>
char fn[]="h1.jpg";
int main(int argc, char** argv)
{
argc = 2 ;
argv[1] = (char*)"lena.jpg";
IplImage* src , *gray = 0, *edge = 0,*cedge= 0;
src=cvLoadImage(argv[1],-1);
cvNamedWindow( "src", 1 );
cvShowImage( "src", src );
cedge = cvCreateImage(cvSize(src->width,src->height), IPL_DEPTH_8U, 3);
gray = cvCreateImage(cvSize(src->width,src->height), IPL_DEPTH_8U, 1);
edge = cvCreateImage(cvSize(src->width,src->height), IPL_DEPTH_8U, 1);
cvCvtColor(src, gray, CV_BGR2GRAY);
cvSobel(gray,edge,1,0,3);
// cvCanny(gray,edge,30,100,3);
cvCvtColor(edge,cedge,CV_GRAY2BGR);
cvSaveImage(fn,edge);
cvNamedWindow("dst", 1);
// 显示图像
cvShowImage( "dst", cedge );
cvReleaseImage(&src);
cvReleaseImage(&gray);
cvReleaseImage(&edge);
cvReleaseImage(&cedge);
cvWaitKey(0);
return 0;
}