1. 简介
市面上已经有很多支持输出Raw格式的手机相机,如华为P9、Mate9、P10、三星(均需要在专业相机模式下)等等,但保存出来的格式是Dng格式的,Dng格式比较详细的介绍可以参考:http://www.cnblogs.com/adong7639/p/4446828.html,本文主要介绍怎么获取我们想要的真正的Raw数据。
2.Raw数据获取
Dng中获取raw数据,需要从Dng文件中获取Raw的一些基本信息:宽、高、Raw数据的偏移地址、每个pixel所占的字节大小等就可以读出想要的Raw数据。
3.解析工具说明
Python 3.5 + PIL + Numpy
4.Code
from PIL import Image
import imTool
rawFile = imTool.ReadRawFile()
rawData = imTool.GetRawData(rawFile)
pil_im = Image.fromarray(rawData)
pil_im.save('out.png')
5.效果
6. 结论
只要肯钻研,困难都是纸老虎,如有需要imTool的源代码,可以直接联系我,平常没有时间,一般周日会看下blog!
本文介绍如何从DNG格式文件中提取真正的RAW数据。通过解析DNG文件中的宽度、高度、RAW数据偏移地址等信息,使用Python3.5结合PIL和Numpy实现RAW数据的读取,并展示了一个简单的代码示例。
980

被折叠的 条评论
为什么被折叠?



