gpt4 book ai didi

c++ - 将 alpha channel 添加到 opencv Mat

转载 作者:行者123 更新时间:2023-11-28 05:45:09 25 4
gpt4 key购买 nike

使用 cv::imread 我能够将 RGB 图像读取到 cv::Mat(如下所示)

Mat picture = imread(fileName, -1);

我没有阅读,而是尝试使用以下代码创建 RGB 图像:

Mat arr1 = Mat(9, 9, CV_8UC1, &data1);
Mat arr2 = Mat(9, 9, CV_8UC1, &data2);
Mat arr3 = Mat(9, 9, CV_8UC1, &data3);
Mat pic;
vector<Mat> mk(3);
mk.at(0)=(arr1);
mk.at(1)=(arr2);
mk.at(2)=(arr3);
merge(mk,pic);

Mat pictureMat pic 是否相等?因为 cv::imread 有一个 '-1' 标志,表示 'Return the loaded image as is (with alpha channel)' .我无法理解的内容以及如何将“图片”与“图片”匹配?(不是图片到图片)

最佳答案

-1 cv::imread 中的标志表示图像将被加载,因为它包括 alpha channel (如果存在)。所以,如果你的图像文件有 alpha channel ,你的 picture(Mat) 将是一个 CV_8UC4 类型的图像,而你的 pic(Mat) 是一个 3 channel 图像。因此,在某些情况下它们不会相同。但是如果你的图片(垫子)只有 3 个 channel ,并且它的 B、G、R channel 分别与 data1、data2、data3 具有相同的数据,那么你的 'picture' 和 'pic' 将是相同的。

关于c++ - 将 alpha channel 添加到 opencv Mat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36370998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com