将Opencv图像数据转换为FreeImage图像数据
博客专区 > hughxusu 的博客 > 博客详情
将Opencv图像数据转换为FreeImage图像数据
hughxusu 发表于1年前
将Opencv图像数据转换为FreeImage图像数据
  • 发表于 1年前
  • 阅读 56
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: 本文是介绍如何将Opencv的Mat数据转换问FreeImage中的fipImage数据。
fipImage mat2RgbFipImage(Mat mat) {
    Mat rgb = get3ChannelsMat(mat);

    fipImage result(FIT_BITMAP, rgb.cols, rgb.rows, 24);
    uchar* pRgb;
    BYTE* bits = result.accessPixels();
    unsigned pitch = result.getScanWidth();
    for (int i = 0; i < rgb.rows; i++) {
        pRgb = rgb.ptr<uchar>(i);
        BYTE* pixel = (BYTE*)bits;
        for (int j = 0; j < rgb.cols; j++) {
            pixel[FI_RGBA_BLUE] = pRgb[3 * j];
            pixel[FI_RGBA_GREEN] = pRgb[3 * j + 1];
            pixel[FI_RGBA_RED] = pRgb[3 * j + 2];
            pixel += 3;
        }
        bits += pitch;
    }
    

    return result;
}

 

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 1
码字总数 103
×
hughxusu
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: