一般各个消费用相机厂商都使用自己专有的raw格式,所以处理起来不像科研级相机那么直接。dcraw是一个Linux平台上的能将各主要品牌相机的raw格式图片转为Netpbm格式图片的小工具。Netpbm提供了一些工具软件,另外很多图像处理软件也包含对Netpbm格式的支持,所以可以在此基础上对图片进行进一步处理。
很多时候我们可能希望自己写代码来处理图片,因为:
- 很多图像处理软件只支持8位(或24位RGB)而不支持16位图片;
- 科研上用到的算法大都比较复杂,现有的软件不满足需求。
纯文本文件的好处是数值大小一目了然,但是文件比较大。二进制文件比较小,但是处理的时候需要注意:Netpbm存储文件时使用的是Big-endian方式,而一般x86机器都是使用Little-endian方式,所以在读取数据时要进行转换。glibc的endian.h提供这样的转换函数。二进制文件存储顺序是从上到下按行存储,每行内按从左到右顺序存储。
dcraw转换图片时默认使用8位方式,如果要使用16位方式,需要使用参数 -6。
没有评论:
发表评论