Opencv:用imwrite保存一个双矩阵

Opencv: save a double matrix with imwrite

本文关键字:一个 imwrite 保存 Opencv      更新时间:2023-10-16

我有一个由double构成的矩阵(Mat),范围为[0,1]。当我通过命令imwrite保存它时,生成的图像是完全黑色的。我想问题是铸造问题,但我不知道如何解决。谢谢

OpenCV 存储双精度数组而不将它们转换为其他格式(并丢失信息)的唯一方法是使用 FileStorage。 imwrite 仅限于"char"或"short"数组。

你得到全黑的图像是因为所有图像像素都在[0,1]范围内(保存为图像时实际上是0或1),这接近全黑(灰度图像或彩色图像)。

要将矩阵保存到具有正常颜色的图像中,首先需要通过将每个值乘以 255 将双精度矩阵转换为范围[0, 255]。如果您稍后通过将每个值除以 255 从此图像加载矩阵,请记住转换回来。