我从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,现在更改类型。尽管图像变灰,但我认为我的方法正确。