Bonjour j'essayes de decouper une serie d'images jpeg avec le programme ci dessous

Le problème que je rencontre est qu'après éxécution, mon programme, lève une exception : unsupported image type....
Puis dans mon dossier de destination une seule partie de ma liste d'images originale est découpée.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Arrays;
 
import javax.imageio.ImageIO;
 
public class ImageCut 
{
 
	public static void main(String[] args) throws IOException 
	{		
		MyComparator comparator = new MyComparator();
		BufferedImage image;
		String source = "images/anciennesImages/";
 
		File file = new File(source);
 
		// Je cree un tableau avec les element de mon dossier "file"
		File[] imageList = file.listFiles();
 
                // Je trie les noms des images dans l'ordre alpha
		Arrays.sort(imageList, comparator);
 
		//Boucle pour passer chaque element de mon tableau et de le traiter
		for ( File f : imageList)
		{               
                                // je charge chaque image
				FileInputStream input = new FileInputStream(f.getPath());
				image = ImageIO.read(input);
 
                                // je recupere une vue de la zone d'image m'interressant
				image = image.getSubimage(0, 0, image.getWidth(), image.getHeight()/2);
 
                                // je cree une nouvelle image au format jpeg dans le nouveau dossier
				ImageIO.write(image, "jpg", new File("/images/nouvellesImages/"+f.getName()));;
		}
 
	}
}
Je ne comprends pas pourquoi seulement certaines images sont traitées alors qu'elles sont toutes du même format ( jpeg).
Si quelqu'un peut m'aider a comprendre ce qui ne va pas.
Merci