使用Java以原始格式保存原始图像数据?

使用Java以原始格式保存原始图像数据?,java,image,image-processing,photo,Java,Image,Image Processing,Photo,我有来自图像传感器的原始像素数据。像素数据完全未经处理,仍然保存在拜耳马赛克BGGR中,这在许多数码相机中很常见。我不希望自己处理数据(可能很糟糕),而是希望以标准图形包可以读取的未处理形式输出数据。我在考虑数字负片DNG、TIFF或类似的东西,但可能有更简单的东西。任何相关的元数据都不需要包含任何复杂的内容,例如,我没有拍摄图像的时间或位置,但是我有一个简单的灰度位图缩略图,如果相关的话 是否有Java库允许我编写任何类型的原始图像格式,这些格式可以由现成的图形处理工具(如dcraw)读取,然

我有来自图像传感器的原始像素数据。像素数据完全未经处理,仍然保存在拜耳马赛克BGGR中,这在许多数码相机中很常见。我不希望自己处理数据(可能很糟糕),而是希望以标准图形包可以读取的未处理形式输出数据。我在考虑数字负片DNG、TIFF或类似的东西,但可能有更简单的东西。任何相关的元数据都不需要包含任何复杂的内容,例如,我没有拍摄图像的时间或位置,但是我有一个简单的灰度位图缩略图,如果相关的话


是否有Java库允许我编写任何类型的原始图像格式,这些格式可以由现成的图形处理工具(如dcraw)读取,然后可以用于图像去马赛克?

javax.imageio提供了一些类,可以以各种常见格式(如JPG和PNG)进行读写,但不包括TIFF,但网上也有读者。不过,它需要您将原始格式转换为BuffereImage,然后才能将其写入PNG或JPG。感谢您的回复,很遗憾,我没有图像,我只有原始探测器像素数据。要转换成图像,我必须对数据进行去马赛克处理,这涉及到插值和可能的其他处理。我宁愿自己不做得很糟糕,而把它留给一个现有的工具,它可以做得更好。现有的工具需要一种原始格式,该格式正好包含此数据,但我不知道如何编写。@PMendham最简单的方法可能是使用符合DNG的TIFF头在拜耳CFA数据前加上一个TIFF头。DNG是TIFF子类型。我知道DNG支持未压缩的CFA数据。看。我的工作正在进行中,只支持未压缩的CFA,并且在去镶嵌/处理您可以查看的RGB数据方面做得很差。@haraldK感谢您的回复和示例代码。我想这就是我要努力做的。不过,我对这方面还很陌生,所以我有很多东西要学!这就是为什么我厚颜无耻地希望其他人已经解决了这个问题;