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