feiye0 2015-01-18
OpenCV 动态调节canny参数 边缘检测
void on_trackbar3(int h)
{
cvCanny( image, cedge, edge_thresh, edge_thresh*3, 3 );
cvShowImage("Adjust Canny Parameter",cedge);
}
void CCVMFCView::OnCannyAdjThres()
{
cedge=cvCreateImage(cvGetSize(workImg),workImg->depth,1);
IplImage* color_dst = 0;
CvMemStorage* storage = cvCreateMemStorage(0);
CvSeq* lines = 0;
int i;
if (workImg->nChannels==3) {
image = cvCreateImage(cvGetSize(workImg), IPL_DEPTH_8U, 1);
cvCvtColor(workImg, image, CV_BGR2GRAY);
}
else {
image = cvCloneImage( workImg );
}
cvFlip(image);
dst = cvCreateImage( cvGetSize(image), 8 ,1 );
color_dst = cvCreateImage( cvGetSize(image), 8, 3 );
cvNamedWindow("Adjust Canny Parameter",CV_WINDOW_AUTOSIZE);
//cvShowImage("Adjust Canny Parameter",image);
cvCreateTrackbar("canny_thres","Adjust Canny Parameter",&edge_thresh,100,on_trackbar3);
on_trackbar3(1);
cvWaitKey(0);
cvDestroyWindow("Adjust Canny Parameter");
cvCvtColor( cedge, color_dst, CV_GRAY2BGR );
cvFlip(color_dst);
m_dibFlag=imageClone(color_dst,&workImg);
m_ImageType=1;
Invalidate();
}
--------------------------------------分割线 --------------------------------------
--------------------------------------分割线 --------------------------------------
OpenCV的详细介绍:请点这里
OpenCV的下载地址:请点这里