我有一个由double构成的矩阵(Mat),范围为[0,1]。 当我通过命令imwrite保存它时,生成的图像是完全黑色的。 我想问题是一个投射问题,但我不知道如何解决它。 感谢
答案 0 :(得分:2)
OpenCV存储双精度数组而不将其转换为其他格式(以及丢失信息)的唯一方法是使用FileStorage。 imwrite仅限于' char'或者'简短'。
答案 1 :(得分:1)
你得到全黑图像是因为所有图像像素都在[0,1]
范围内(保存到图像时实际上是0或1),接近全黑(对于灰度图像或彩色图像)
要使用法线颜色将矩阵保存到图像,首先需要将每个值乘以[0, 255]
,将双矩阵变换为范围255
。如果稍后通过将每个值除以255
来加载此图像中的矩阵,请记得转换回来。