64,670
社区成员
发帖
与我相关
我的任务
分享
IplImage *CMyDialog::Threshold(IplImage *img, IplImage *img0)
{
img=cvCreateImage(cvSize(400,300),8,1);
IplImage* pyr=cvCreateImage(cvSize(img->width/2,img->height/2),IPL_DEPTH_8U,1);
cvResize(img0,img);
cvSmooth(img,img,CV_MEDIAN);
IplImage* imgS=cvCreateImage(cvGetSize(img),IPL_DEPTH_16S,1);
static IplImage* imgTh=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);
IplImage* temp=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);
cvSobel(img,imgS,2,0,3);
cvNormalize(imgS,imgTh,255,0,CV_MINMAX);
cvThreshold( imgTh, imgTh, 100, 255, CV_THRESH_BINARY );
for (int k=0; k<img->height; k++)
for(int j=0; j<img->width; j++)
{
imgTh->imageData[k*img->widthStep+j] = 255 - imgTh->imageData[k*img->widthStep+j];
}
return imgTh;
}