13

我对 OpenCV 比较陌生,我偶然发现了一个问题。我有一个输入图像,想将它从 CV_8U 类型转换为 CV_32F。

对于某些图像,它可以正常工作,input.convertTo(output, CV_32F)但对于其他图像输出只会给出一个完全白色的图像。

通道数、暗淡和深度相同。问题是什么?

4

1 回答 1

20

我相信结果是正常的。

当您使用convertTo从 CV_8U1 到 CV32F1 时,一个像素值,例如 255 变为 255.0。但是当您尝试“imshow”生成的图像时,该命令要求所有像素值都在 0.0 和 1.0 之间。这就是为什么在不重新缩放图像的情况下,图像看起来全白。

因此,正如 zzz 指出的那样(谢谢),这将起到作用。

input.convertTo(output, CV_32F, 1.0/255.0)
于 2012-10-12T02:20:14.527 回答