OpenCV灰度化影象
阿新 • • 發佈:2018-12-08
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