假设我有三个 char 数组r[1024], g[1024], b[1024]
,其中包含一个图像的 rgb 数据。我怎么能用cv::Mat
这些通道数据创建一个?
问问题
170 次
1 回答
4
像这样的东西:
// 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);
于 2018-10-20T07:44:34.730 回答