【问题标题】:How could I create an opencv matrix with separate rgb channel data如何创建具有单独 rgb 通道数据的 opencv 矩阵
【发布时间】:2019-03-24 22:17:58
【问题描述】:

假设我有三个 char 数组 r[1024], g[1024], b[1024],其中包含一个图像的 rgb 数据。如何使用这些频道数据创建cv::Mat

【问题讨论】:

  • 我的回答解决了您的问题吗?如果是这样,请考虑接受它作为您的答案 - 通过单击计票旁边的空心对勾/复选标记。如果没有,请说出什么不起作用,以便我或其他人可以进一步为您提供帮助。谢谢。 meta.stackexchange.com/questions/5234/…

标签: opencv opencv-mat


【解决方案1】:

类似这样的:

// Create three single channel Mats
cv::Mat R(rows,cols,CV_8UC1,&r[0]);
cv::Mat G(rows,cols,CV_8UC1,&g[0]);
cv::Mat B(rows,cols,CV_8UC1,&b[0]);

然后合并成单张图片:

// Now merge the 3 individual channels into 3-band bad boy
auto channels = std::vector<cv::Mat>{B, G, R};
cv::Mat ThreeBandBoy;
cv::merge(channels, ThreeBandBoy);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-01
    • 2022-01-03
    • 2014-02-01
    • 1970-01-01
    相关资源
    最近更新 更多