我正在尝试使用Apache Commons Imaging库将16位TIFF图像(灰度)读入Java。当我使用以下代码阅读它时:
TiffImageParser tip = new TiffImageParser();
BufferedImage img = tip.getBufferedImage(new File("img.tif"), null);
生成的BufferedImage类型为TYPE_INT_RGB
,而不是预期的TYPE_USHORT_GRAY
。这是由于TIFFImageParser
没有正确的解码器(即Apache Commons问题),还是因为我没有设置正确的参数?
N.B。有问题的图像是在Matlab中使用以下代码创建的:
img = uint16(rand(200,200) * 65535);
imwrite(img, 'img.tif');