在一个窗口中显示RGBD通道 - OpenCV C ++

时间:2015-01-13 01:08:21

标签: c++ opencv kinect rgb depth

我正在尝试使用C ++中的OpenCV在一个窗口中显示来自RGBD传感器的多个图像。我可以在自己的窗口中单独显示每个通道,但不成功显示所有通道。 我正在遵循Show multiple (2,3,4,…) images in the same window in OpenCV的解决方案(由Vinvinod在页面下提出)。

解决方案将所有图像复制到输出图像中的某个区域,然后缩放输出图像。由于每个图像源自不同的图像类型(颜色为CV_8UC4,深度为CV_8UC1,红外线为CV_16U),因此失败。我如何强制/转换/转换所有图像到一个通用格式,在一个图像中显示多个通道?

我试过了:

if (img0.type() != CV_8UC4)
                {
                    cv::Mat tempImg = cv::Mat(depthFrameWidth, depthFrameHeight, CV_8UC4);
                    tempImg.convertTo(img0, CV_8UC4);
                    vecImg.push_back(tempImg);
                }

0 个答案:

没有答案