This is a sample code for getting the edges orientation in an image.
CvMat *filter_x=cvCreateMat(1,3,CV_32FC1); filter_x->data.fl[0]=-1;
filter_x->data.fl[1]=0; filter_x->data.fl[2]=1;
CvMat *filter_y=cvCreateMat(3,1,CV_32FC1); filter_y->data.fl[0]=-1;
filter_y->data.fl[1]=0; filter_y->data.fl[2]=1;
IplImage *img_src=cvLoadImage("name",0);
IplImage *img_diff_x=cvCreateImage(cvGetSize(img_src),IPL_DEPTH_32F,1);
IplImage *img_diff_y=cvCreateImage(cvGetSize(img_src),IPL_DEPTH_32F,1);
IplImage *img_32f=cvCreateImage(cvGetSize(img_src),IPL_DEPTH_32F,1);
cvConvert(img_src,img_32f);
cvFilter2D(img_32f,filter_x,img_diff_x);
cvFilter2D(img_32f,filter_y,img_diff_y);
IplImage *magnitude=cvCreateImage(cvGetSize(img_src),IPL_DEPTH_32F,1);
IplImage *orientation=cvCreateImage(cvGetSize(img_src),IPL_DEPTH_32F,1);
cvCartToPolar(img_diff_x, img_diff_y, magnitude, orientation, 1);


December 7th, 2009 4:50 pm
Thank you very much for some person I don’t know him. He sent me a chat message to correct my mistake with the matrix type miss spelling.