我正在尝试使用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);
}