标签: opencv
有没有办法在不直接访问原始缓冲区的情况下将CV_8UC3 Mat转换为CV_32FC3 Mat?我试过Mat::convertTo(newImage, CV_32FC3, 1.0);,但颜色最终错了。感谢。
Mat::convertTo(newImage, CV_32FC3, 1.0);
答案 0 :(得分:16)
惯例是,对于类型CV_8UC3,像素值的范围为0到255,对于类型CV_32FC3,范围从0.0到1.0。因此,您需要使用比例因子1 / 255.0而不是1.0:
Mat::convertTo(newImage, CV_32FC3, 1/255.0);