如何在Java中将16位.tiff图像转换为8位.tiff图像?

如何在Java中将16位.tiff图像转换为8位.tiff图像?

问题描述:

我在Netbeans平台上使用Java SE为牙医制作应用程序。在我的应用程序中,我使用X射线枪捕获图像,然后对其进行图像处理。首先,我想将16位图像转换为8位图像。因此,我怎么能16位图像转换为8位图像?如何在Java中将16位.tiff图像转换为8位.tiff图像?

+0

16位灰度或每通道16位? – fmgp 2012-04-19 10:45:41

+0

我想将16位灰度图像转换为8位灰度图像。 – Jay 2012-04-19 10:54:12

假设“bi”是您的16位灰度BufferedImage(通过ImageIO.read(...)获得);

BufferedImage dest = new BufferedImage(bi.getWidth(),bi.getHeight(),BufferedImage.TYPE_BYTE_GRAY); 
    Graphics2D g2 = dest.createGraphics(); 
    g2.drawImage(bi, 0, 0, null);