Dec 05 2009

Edge orientation

Category: OpenCVKristou Mehrez @ 7:31 pm

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);

related post

One Response to “Edge orientation”

  1. Kristou Mehrez says:

    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.

Leave a Reply