<dependency>
<groupId>javax.media</groupId>
<artifactId>jai_imageio</artifactId>
<version>1.1</version>
</dependency>
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
public class ImageProcessingExample {
public static void main(String[] args) {
try {
File tiffImage = new File("input.tif");
BufferedImage image = ImageIO.read(tiffImage);
BufferedImage grayImage = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_BYTE_GRAY);
grayImage.createGraphics().drawImage(image, 0, 0, null);
int newWidth = (int) (image.getWidth() * 0.5);
int newHeight = (int) (image.getHeight() * 0.5);
BufferedImage scaledImage = new BufferedImage(newWidth, newHeight, BufferedImage.TYPE_BYTE_GRAY);
scaledImage.createGraphics().drawImage(grayImage, 0, 0, newWidth, newHeight, null);
File outputImage = new File("output.jpg");
ImageIO.write(scaledImage, "jpg", outputImage);
} catch (Exception e) {
e.printStackTrace();
}
}
}