从Java读取RAW图像

Mar*_*cin 15 java image-processing

佳能/尼康/其他相机以其某些专有格式(.CR2,无论如何)保存传感器的原始输出.是否有任何Java库旨在读取它们并转换为可管理的BufferedImages?

我不关心这里关于完全可自定义的转换,类似于ufraw或imagemagick,而是简单的"只是工作",用于渲染此类图像的简单预览.

Bob*_*Gee 7

我一直在你身边,我觉得你.最好的办法是使用基于Adobe或dcraw的程序自动创建缩略图.使用Adobe转换器的临时DNG文件可能更容易使用.

如果你坚持用Java做这件事,那你就会陷入一阵痛苦之中. RAW格式经常变化,有各种各样的疯狂细微差别,并且故意难以使用.相机制造商希望您使用他们的RAW转换软件,以最佳方式显示相机的能力并拧紧Adobe.dcraw背后的人发现有些是相机制造商甚至现在使用加密!

现有的Java库很差 - 自从我上次查看它以来,JRawIO已经有所改进,但它只支持dcraw的一小部分格式.除了列出的库之外,imagero库还可以显示图像的缩略图.

根据个人经验,甚至不要考虑编写自己的RAW文件阅读器. 我尝试用一​​个非常简单的RAW格式做一次(只是一个固体的传感器数据阵列,每像素12位).dcraw源严重转换为Java.你有没有看到过这样一个有点小小的噩梦.花了我几天来调试字节对齐和字节序的问题.