• 图像格式处理,c++,cv::MAt,IplImage


     

    1、cv::mat

    string src_im_pth;
    im_src = cv::imread(src_im_pth, -1);
    if (im_src.empty()) {
    fprintf(stderr, "---[wjj] Error! image %s not valid
    ", src_im_pth.c_str());
    }
    else {
    //deal test_img, to ASVLOFFSCREEN
    ASVLOFFSCREEN ImgDataInput;
    ImgDataInput.i32Height = im_src.rows;
    ImgDataInput.i32Width = im_src.cols;
    ImgDataInput.u32PixelArrayFormat = ASVL_PAF_RGB24_B8G8R8;
    ImgDataInput.ppu8Plane[0] = im_src.data;
    ImgDataInput.ppu8Plane[1] = im_src.data + 1;
    ImgDataInput.ppu8Plane[2] = im_src.data + 2;
    ImgDataInput.pi32Pitch[0] = ImgDataInput.pi32Pitch[1] = ImgDataInput.pi32Pitch[2] = im_src.step;
    
    }

    2、IplImage

    string src_im_pth;
    
    IplImage* tmp_src = cvLoadImage(src_im_pth.c_str());//deal test_img, to ASVLOFFSCREEN
    ASVLOFFSCREEN GlassSceneInput;
    GlassSceneInput.i32Height = tmp_src->height;
    GlassSceneInput.i32Width = tmp_src->width;
    GlassSceneInput.u32PixelArrayFormat = ASVL_PAF_RGB24_B8G8R8;
    GlassSceneInput.ppu8Plane[0] = (MUInt8*)tmp_src->imageData;
    GlassSceneInput.pi32Pitch[0] = tmp_src->widthStep;
    cvReleaseImage(&tmp_src);

    3、IpIImage转Mat

    im_src = cvarrToMat(tmp_src);

     4、Mat转IpIImage

    			cv::Mat src_mat = cv::imread(im_pth);
    			double nWid = src_mat.cols;
    			double nHei = src_mat.rows;
    			IplImage* tmp_src = cvCreateImage(cvSize(nWid, nHei), IPL_DEPTH_8U, 3);
    			*tmp_src = IplImage(src_mat);
    

    5、ASVLOFFSCREEN 转IpIImage再转Mat

            cv::Mat mask;
    	ASVLOFFSCREEN *maskData;
    	IplImage * PLimg_mask = cvCreateImage(cvSize(frame.cols, frame.rows), IPL_DEPTH_8U, 1);
    	MMemCpy(PLimg_mask->imageData, maskData->ppu8Plane[0], maskData->pi32Pitch[0] * maskData->i32Height);
    	mask = cv::cvarrToMat(PLimg_mask);
    

      

  • 相关阅读:
    【flink】flink1.12 application mode on k8s
    【spark】读取高版本的elasticsearch
    [spark] spark2.4运行在k8s
    【spring】springboot使用jpa集成elasticsearch7.0
    【spark】cache不一定使用的场景
    JDK源码分析
    排序算法
    EagleEye鹰眼原理分析
    需求分析模版
    记一次线上事故内存泄漏:java.lang.OutOfMemoryError: unable to create new native thread
  • 原文地址:https://www.cnblogs.com/wjjcjj/p/13819147.html
Copyright © 2020-2023  润新知