如何在Java中将16位.tiff图像转换为8位.tiff图像?
我在Netbeans平台上使用Java SE为牙医制作应用程序。在我的应用程序中,我使用X射线枪拍摄图像,然后对其进行图像处理。首先,我想将16位图像转换为8位图像。那么,如何将16位图像转换为8位图像呢?假设“bi”是您的16位灰度缓冲图像(由ImageIO.read(…)获得)如何在Java中将16位.tiff图像转换为8位.tiff图像?,java,image-processing,Java,Image Processing,我在Netbeans平台上使用Java SE为牙医制作应用程序。在我的应用程序中,我使用X射线枪拍摄图像,然后对其进行图像处理。首先,我想将16位图像转换为8位图像。那么,如何将16位图像转换为8位图像呢?假设“bi”是您的16位灰度缓冲图像(由ImageIO.read(…)获得) 16位灰度还是每个通道16位?我想把16位灰度图像转换成8位灰度图像。 BufferedImage dest = new BufferedImage(bi.getWidth(),bi.getHeight(),
16位灰度还是每个通道16位?我想把16位灰度图像转换成8位灰度图像。
BufferedImage dest = new BufferedImage(bi.getWidth(),bi.getHeight(),BufferedImage.TYPE_BYTE_GRAY);
Graphics2D g2 = dest.createGraphics();
g2.drawImage(bi, 0, 0, null);