我正在尝试读取。cr2格式("佳能原始格式")的原始图像。我最初想用opencv来做,但不能让它工作,所以我试着用numpy函数来做:
img = np.fromfile('IMG.CR2', "uint16")
相机是佳能EOS t5 18MP数码单反。如果我运行img.size
,它会返回10105415
,这对于18mp相机来说似乎太小了。
我的第一个问题,使用np.fromfile()
是有效的方法吗?
佳能RAW格式不只是一团数据,它有一些元数据,你需要解析。幸运的是,其他人已经实现了一些python解析器。
Python中的RAW图像处理
在使用建议的解决方案之一之后,您可以将数据加载到numpy数组中。