gabor濾波器 opencv 實現
阿新 • • 發佈:2019-01-08
{
144
145 IplImage *pDestImage = cvCreateImage(cvSize(src->width,src->height),IPL_DEPTH_8U,1);
146 // IplImage * pGaborImage = get_Imge();
147 // CvMat GaborKernel = cvMat(pGaborImage->height,pGaborImage->width,CV_8U,pGaborImage->imageData);148 IplImage *tmpImg = cvCloneImage(src);
149 IplImage *tmpGrayImg = cvCreateImage(cvSize(src->width,src->height),IPL_DEPTH_8U,1);
150
151 if(tmpImg->nChannels != 1)
152 {
153 cvCvtColor(tmpImg,tmpGrayImg,CV_BGR2GRAY);
154 }
155 else
156 {
157 cvReleaseImage(&tmpGrayImg);
158 tmpGrayImg = tmpImg;
159 }
160 CvMat * pGaborKernel = get_Mat();
161
162 cvFilter2D(tmpGrayImg,pDestImage,pGaborKernel,cvPoint((GaborWindow.width-1)/2,(GaborWindow.height-1)/2));
163
164 cvReleaseImage(&tmpImg);
165 return pDestImage;
166 }
144
145 IplImage *pDestImage = cvCreateImage(cvSize(src->width,src->height),IPL_DEPTH_8U,1);
146 // IplImage * pGaborImage = get_Imge();
147 // CvMat GaborKernel = cvMat(pGaborImage->height,pGaborImage->width,CV_8U,pGaborImage->imageData);148 IplImage *tmpImg = cvCloneImage(src);
149
150
151 if(tmpImg->nChannels != 1)
152 {
153 cvCvtColor(tmpImg,tmpGrayImg,CV_BGR2GRAY);
154 }
155 else
156 {
157 cvReleaseImage(&tmpGrayImg);
158 tmpGrayImg = tmpImg;
159
160 CvMat * pGaborKernel = get_Mat();
161
162 cvFilter2D(tmpGrayImg,pDestImage,pGaborKernel,cvPoint((GaborWindow.width-1)/2,(GaborWindow.height-1)/2));
163
164 cvReleaseImage(&tmpImg);
165 return pDestImage;
166 }