jrawio - 纯 Java 实现对数码相机 RAW 格式数据进行解码获取图像信息

版权声明:转载时请务必保留以下作者信息和链接
作者:陈维([email protected])作者的网站:http://www.chenwei.mobi

我以前做的软件里有一个功能,需要根据用户选择的不同曝光、白平衡值从 RAW 格式文件里取得不同的图像。那款软件的开发主要使用 Java 技术,但是当时这个功能是通过 JNI 调用 C++ 写的一个库实现的。因为在 Mac OS X 系统下使用 JNI 遇到的一系列问题,后来放弃了该款软件 Mac 版本的发布。

今天偶然发现一个类库 jrawio(http://jrawio.tidalwave.it/),它作为 Java ImageIO API 的一个插件,可以对数码相机拍照后的 RAW 格式原始数据(例如 Nikon 的 NEF 格式或 Canon 的 CRW/CR2 格式)进行解码,取得想要的图像信息。需要强调的是,它是 100% Java 实现,就是说可以忽略平台差异,真正做到跨平台。

这个库我还没有使用过,不知道解码图像效果以及解码速度怎么样,有兴趣朋友可以跟进。




关于数码相机的 RAW 格式数据,大家可能还比较陌生。目前越来越多的数码相机已开始使用RAW格式拍摄照片,RAW文件是 “毛坯”,我们可以任意的调整色温和白平衡,进行创造性类似“暗房”的制作,而且不会造成图像质量的损失,保持了图像的品质。相机通过场景拍摄, RAW只会记录光圈、快门、焦距、ISO等数据,并未对所拍摄的图片进行任何加工,为图像保存了完整的数据,RAW格式它能够给每个像素点更深的数字深度,为摄影师的创作保留了很大的空间。

我转载过一篇关于 RAW 格式的简单介绍,大家可以看一下,想深入研究还要搜索专业资料。《 入门影友晋级:RAW到底比JPEG强在哪里?

你可能感兴趣的:(java,C++,c,jni,OS)