zoukankan      html  css  js  c++  java
  • 图像格式处理,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);
    

      

  • 相关阅读:
    ios开源项目2
    Cocoa 框架 For iOS(一) 框架的介绍
    iPhone开源项目大全
    8款iOS的日历开源代码
    二维码扫描工具和开发包 ZBar
    图文解释XCode常用快捷键的使用
    常用的iOS高效开源类库
    static_cast
    [转]SecureCRT rz 上传文件失败问题
    Linux中的EAGAIN含义
  • 原文地址:https://www.cnblogs.com/wjjcjj/p/13819147.html
Copyright © 2011-2022 走看看