opencv – 如何将CV_8UC3 Mat转换为CV_32FC3?

有没有办法从CV_8UC3 Mat转换到CV_32FC3 Mat而不直接访问原始缓冲区?我试过Mat :: convertTo(newImage,CV_32FC3,1.0);但颜色最终错了.谢谢.
最佳答案
惯例是,对于类型CV_8UC3,像素值的范围从0到255,对于类型CV_32FC3,从0.0到1.0.因此,您需要使用1 / 255.0而不是1.0的缩放系数:

Mat::convertTo(newImage, CV_32FC3, 1/255.0);

转载注明原文:opencv – 如何将CV_8UC3 Mat转换为CV_32FC3? - 代码日志