gpt4 book ai didi

c++ - Opencv 复制 3 channel IplImage 到 4 channel IplImage

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:20:40 26 4
gpt4 key购买 nike

当我尝试使用 cvCopy 将一个由 3 个 channel 组成的 IplImage 复制到一个具有 4 个 channel 的 IplImage(我稍后需要额外的 channel )时,我得到的只是一条错误消息。

有没有另一种方法可以增加 IplImage 的 channel 数而不丢失它已经保存的数据?

谢谢!

最佳答案

使用cvMixChannels ,像这样:

CvMat * src; // your source image
CvMat * dst // your destination image
CvMat * zeros = cvCreateMat(src->cols, src->rows, CV_8UC1);
cvSet(zeros, cvScalar(0, 0, 0, 0));
CvArr * input[] = { src, zeros };
int from_to[] = { 0,0, 1,1, 2,2, 3,3 };
cvMixChannels(input, 2, &dst, 1, from_to, 4);

它只会执行必要的复制操作,这与 cvSplit 和 cvMerge 不同。

关于c++ - Opencv 复制 3 channel IplImage 到 4 channel IplImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6871978/

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