我对OpenCV比较陌生,而且我遇到了问题。我有一个输入图像,想要将它从Type CV_8U转换为CV_32F。
对于某些图像,它可以通过input.convertTo(output, CV_32F)
正常工作,但是其他图像输出只能提供完整的白色图像。
通道数,dims等于深度。有什么问题?
答案 0 :(得分:20)
我相信结果是正常的。
当您使用CV_8U1中的convertTo
到CV32F1时,像素值(例如255)变为255.0。
但是,当你尝试`imshow'生成的图像,该命令要求所有像素值介于0.0和1.0之间。这就是为什么在没有重新缩放图像的情况下,图像看起来都是白色的。
所以这会像zzz指出的那样(谢谢)。
input.convertTo(output, CV_32F, 1.0/255.0)