ciao!

ho un problema con delle immagini JPG da processare.
in sostanza ho questo metodo al quale passo varie immagini:
codice:
    public void resizeImage(String inputImage, String dir, int width, int height) throws IOException {
        File f = new File(inputImage);
        Image image = ImageIO.read(f);
        Image newImage = image.getScaledInstance(width, height, Image.SCALE_SMOOTH);
        BufferedImage buf = new BufferedImage(newImage.getWidth(null), newImage.getHeight(null), BufferedImage.TYPE_INT_RGB);
        Graphics2D g2 = buf.createGraphics();
        g2.drawImage(newImage, 0, 0, null);
        g2.dispose();
        String ext = FilenameUtils.getExtension(f.getName());
        ImageIO.write(buf, ext, new File(dir + f.getName()));
    }
su alcune immagini JPG (NON corrotte, e perfettamente visibili), ottengo questo errore:
codice:
javax.imageio.IIOException: Unsupported Image Type
    at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1068)
    at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:1039)
    at javax.imageio.ImageIO.read(ImageIO.java:1448)
    at javax.imageio.ImageIO.read(ImageIO.java:1308)
    at com.mp.resize.ImageResize.resizeImage(ImageResize.java:29)
    at com.mp.resize.StartResizing.lambda$run$0(StartResizing.java:45)
    at com.mp.resize.StartResizing$$Lambda$23/457233649.accept(Unknown Source)
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
    at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
    at com.mp.resize.StartResizing.run(StartResizing.java:43)
    at java.lang.Thread.run(Thread.java:745)
mi pare di aver capito che il problema può essere la differenza tra RGB e CMYK.
se fosse così, o un problema simile, come potrei risolvere??