• qt中使用opencv处理图片 QImage 和 IplImage 相互之间转换问题


    在用opencv处理图片显示在qt label上的时候遇到不是问题

    1. qt上要用qimage形式才干显示

    IplImage转成 Qimage

    彩色图像转换

     IplImage  *fram;

    QImage image((const uchar*)fram->imageData, fram->width, fram->height, QImage::Format_RGB888);

    在用opencv二值化以后你再转换发现出现label里面显示多个画面并且还有彩色的怎么回事

    这时候得换參数

    QImage resimg(( uchar*)res->imageData, res->width, res->height, QImage::Format_Indexed8);

    參数换后就好了说明QImage::Format_Indexed8就是用来转换灰色图像的

    2. yuv摄像头採集的数据图片转换成rgb后生成Qimage我要用opencv处理要转换成lplimage格式这时候就能够这样来写

    //转换格式QImage转IplImage
         width = frame->width();
         height = frame->height();
          Size.height = height;
          Size.width = width;
        lplImage * image = cvCreateImage(Size, IPL_DEPTH_8U, 3);
          for (int y = 0; y < height; ++y)
           {
             for (int x = 0; x < width; ++x)
               {
                  QRgb rgb = frame->pixel(x, y);
                  cvSet2D(image, y, x, CV_RGB(qRed(rgb), qGreen(rgb), qBlue(rgb)));
              }
           }

    最后image就是iplimage格式的。你能够把上面的自己封装下每次直接调用非常方便。

  • 相关阅读:
    CSP_2019
    luogu_P1026 统计单词个数
    [SCOI2007]降雨量
    [HEOI2016/TJOI2016]排序
    LuoguP2698 【[USACO12MAR]花盆Flowerpot】
    LuoguP3069 【[USACO13JAN]牛的阵容Cow Lineup
    CF723D 【Lakes in Berland】
    CF799B T-shirt buying
    迪杰斯特拉算法(Dijkstra) (基础dij+堆优化) BY:优少
    Tarjan求有向图强连通分量 BY:优少
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5322015.html
Copyright © 2020-2023  润新知