Conversion from IplImage* to cv::MAT

前端 未结 5 464
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-04 20:05

I searched to convert an IplImage* to Mat, but all answers were about the conversion to cvMat.

How, can I do it? and what is the difference between Mat and cvMat?

5条回答
  •  谎友^
    谎友^ (楼主)
    2020-12-04 20:28

    • cv::Mat or Mat, both are same.

    • Mat has a operator CvMat() so simple assignment works

    Convert Mat to CvMat

    Mat mat = ---------;
    CvMat cvmat = mat;
    

    Convert CVMat to Mat

    Mat dst = Mat(cvmat, true);  
    

    Convert Mat to IplImage*

    > For Single Channel

    IplImage* image = cvCloneImage(&(IplImage)mat); 
    

    > For Three Channel

    IplImage* image = cvCreateImage(cvSize(mat.cols, mat.rows), 8, 3);
    IplImage ipltemp = mat;
    cvCopy(&ipltemp, image);
    

    Hope this helps you. Cheers :)

提交回复
热议问题