我正在尝试读取.CR2格式的原始图像(“Canon raw格式”)。最初我想用opencv来做,但没能让它工作,所以我试着用一个numpy函数来做:
img = np.fromfile('IMG.CR2', "uint16")
相机是佳能EOS t5 18MP单反相机。
如果我运行img.size
,它将返回10105415
,这对于一个18mp的相机来说似乎太小了。
我的第一个问题是,使用np.fromfile()
是一种有效的方法吗?
其次,您是否建议其他任何python库以更简单/更高效的方式执行相同的过程?我已经安装了openCV,所以如果可以在那里完成的话,那就太好了(我仍然想将它存储为一个numpy数组)。
Canon RAW格式不仅仅是一个数据块,它还包含一些需要解析的元数据。幸运的是,其他人已经实现了一些python解析器。
RAW Image processing in Python
使用建议的解决方案之一后,可以将数据加载到numpy数组中。
相关问题 更多 >
编程相关推荐