我从kinect v2获得了图像,类型为CV_8UC4。
现在,我尝试在CV_8UC1类型中使用以下代码。

cv::Mat mImg(iHeight, iWidth, CV_8UC4);
cv::Mat mImg2(iHeight, iWidth, CV_8UC1);
....
get image from kinect to mImg
....
mImg.convertTo(mImg2, CV_8UC1);

之后,mImg2类型仍为24(CV_8UC4),不确定我是否正确使用此功能。请帮忙。

最佳答案

从其他链接中找到一些线索。

CV_8UC4到CV_8UC1不是通道问题,因此请不要使用convertTo。

cvtColor(mImg,mImg2, CV_BGR2GRAY);

请改用cvtColor,现在更改类型。尽管图像变灰,但我认为我的方法正确。

07-28 09:29