RAW图像文件 - 我的数据是什么格式?

时间:2011-06-30 17:59:39

标签: image-processing opencv image-manipulation

我正在处理.raw图像文件,但我不确定图像是如何存储的。每个像素是无符号的16位值,典型值范围从0到大约1000(整数形式)。这对于十六进制值来说是不够的,而不是RGB(0-255),所以我不太确定它是什么。

额外奖励:如果你对如何在OpenCV(或数学上)将其转换为灰度有任何想法,那将是一个巨大的帮助。

3 个答案:

答案 0 :(得分:11)

名称RAW来自这样的事实:存储在文件中的值不是像素RGB值,而是从相机本身测量的原始值。只有了解相机的工作原理,这些值才有意义。有一些标准,但实际上,您应该只考虑RAW是一个定义不明确,未记录的专有格式的集合,可能不会直观地匹配您对图像存储方式的任何想法。

查看DCRaw - 这是几乎所有支持RAW的程序使用的代码

http://www.cybercom.net/~dcoffin/dcraw/

作者反向设计并实施了几乎所有专有的RAW格式 - 并使其保持最新。

答案 1 :(得分:3)

其他答案是正确的,RAW不是标准,它是速记。相机CCD通常没有为每个像素分别设置红色,绿色和蓝色像素,相反,它们将使用所谓的Bayer Pattern,然后仅保存该模式的像素值。然后,您需要将该模式转换为rgb值。

另外,对于红利问题,如果您只是想将RGB图像转换为灰度等等,您可以使用矩阵运算符,也可以调用convertTO

答案 2 :(得分:1)

忘了16位的R / G / B是什么:

“红色可以有5位,绿色可以有6位,蓝色可以有5位”

http://en.wikipedia.org/wiki/Color_depth#16-bit_direct_color

之前看过它在游戏代码中使用过。

在黑暗中完成拍摄,尽管还有专有的RAW格式。