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 动态调节canny参数 边缘检测_第1张图片


opencv 动态调节canny参数 边缘检测_第2张图片




你可能感兴趣的:(image,DST)