OpenCV灰度化图像

OpenCV2版本号非常多函数发生了变化。比如二值化,其演示样例:

void CmyMFC2Dlg::OnBnClickedButton1()
{
	// TODO: Add your control notification handler code here
	// 读入一张图片  
	Mat mat=imread("test.jpg");  
	Mat mat2;  
	//cvCvtColor(mat,mat2, CV_BGR2GRAY);  
	cvtColor(mat,mat2, CV_BGR2GRAY);
	/*
	imshow("o",mat0);
	imshow("r",mat);  */
	CDC* pDC = GetDlgItem(pic)->GetDC();
	HDC hDC = pDC->GetSafeHdc();
	IplImage img = mat;
	CvvImage cimg;
	cimg.CopyOf( &img );
	CRect rect;
	GetDlgItem(pic)->GetClientRect(&rect);
	cimg.DrawToHDC(hDC, &rect);
	ReleaseDC( pDC );

	CDC* pDC2 = GetDlgItem(pic2)->GetDC();
	HDC hDC2 = pDC->GetSafeHdc();
	IplImage img2 = mat2;
	CvvImage cimg2;
	cimg2.CopyOf( &img2 );
	CRect rect2;
	GetDlgItem(pic2)->GetClientRect(&rect2);
	cimg2.DrawToHDC(hDC2, &rect2);
	ReleaseDC( pDC2 );

	/*
	CDC* pDC = GetDlgItem(pic)->GetDC();
	HDC hDC = pDC->GetSafeHdc();
	//	CDC* pDC2 = GetDlgItem(IDC_STATIC2)->GetDC();
	HDC hDC2 = pDC->GetSafeHdc();
	IplImage img = mat;
	//IplImage img2 = mat0;
	CvvImage cimg;
	//CvvImage cimg2;
	cimg.CopyOf( &img );
	//cimg.CopyOf( &img2 );
	CRect rect;
	//CRect rect2;
	GetDlgItem(IDC_STATIC)->GetClientRect(&rect);
	//GetDlgItem(IDC_STATIC2)->GetClientRect(&rect2);
	cimg.DrawToHDC(hDC, &rect);
	//cimg2.DrawToHDC(hDC2, &rect2);
	ReleaseDC( pDC );
	//ReleaseDC( pDC2 );

	*/

}

结果:


能够看到,函数有所变化。

參考文献:

1.OpenCV 2.3.x中文文档。

http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/user_guide/ug_mat.html

猜你喜欢

转载自www.cnblogs.com/ldxsuanfa/p/10087516.html
今日推荐