Comment détecter corrompu images (PNG, JPG) en Java
J'ai besoin de détecter si le fichier d'image est corrompu en Java. Je travaille uniquement avec des PNG, JPG images. Est-ce possible de le faire avec Sanselan? Ou peut-il être fait avec ImageIO? J'ai essayé d'utiliser ImageIO.lire semble que cela fonctionne. Mais je ne suis pas sûr si l'on peut détecter tous les types d'erreurs dans les images. Je voudrais savoir quelle est la meilleure pratique.
Je dirais que le seul moyen de détecter les tous type d'erreur dans une image (où "erreur" est défini comme toute anomalie qui provoque imparfaite comportement) est d'aller de l'avant et à l'utilisation de l'image. Il est tout à fait possible pour une image à souffrir de la corruption qui, néanmoins, les résultats dans un fichier valide, même si "le mal de pixels". Il peut être utile de réfléchir de manière très précise sur ce qu'il est que vous voulez détecter.
ImageIO peut détecter tronquée PNG avec une exception, mais pour JPG est tronqué, je n'arrive pas à lancer une exception.
Avez-vous eu des solution pour cela ?
ImageIO peut détecter tronquée PNG avec une exception, mais pour JPG est tronqué, je n'arrive pas à lancer une exception.
Avez-vous eu des solution pour cela ?
OriginalL'auteur Byambatsogt | 2011-11-07
Vous devez vous connecter pour publier un commentaire.
Voici ma solution qui permettrait de gérer la vérification de cassé GIF, JPG et PNG. Il vérifie tronquée JPEG à l'aide de l'JPEG marqueur EOF, GIF à l'aide d'un index out of bounds exception de vérifier et de PNG à l'aide d'un EOFException
Vous pouvez lier cette classe ImageAnalysisResult
Pourriez-vous inclure toutes les déclarations d'importation dans votre réponse, veuillez
OriginalL'auteur Archimedes Trajano
Si l'image en JPEG, utilisez ceci:
si elle lève une exception; cela signifie que l'image est corrompu.
pour les autres cas, il suffit
new ImageIcon(file)
à vérifier la validité.il a travaillé pour votre image aussi bien 🙂
Il fonctionne très bien, si elle n'est pas valide image jpeg, puis il va jeter ImageFormatException. Est-il de toute façon de vérifier si le fichier mp4 est corrompu ou pas ??
OriginalL'auteur Bassel Kh
Si l'image ne peut pas être analysé le fichier est corrompu, sinon, le fichier doit être valide mais ne contient le mauvais pixels comme Andrzej souligné. La détection de ce peut être assez difficile si vous ne pouvez pas définir la manière dont vous trouverez les "mauvais" pixels.
Si vous avez des informations sur l'image de base, par exemple, un histogramme ou même les pixels d'origine, vous pouvez essayer et comparer avec la lecture de l'image. Notez, cependant, qu'en raison de la compression, il pourrait y avoir quelques erreurs, alors vous devrez ajouter un peu de tolérance de la valeur.
Un côté supplémentaire remarque: Sanselan de ne pas lire les images JPEG, de sorte que vous auriez à utiliser ImageIO ici.
OriginalL'auteur Thomas
ci-dessous le code valide .jpeg, de .png, .jpg, .les images tiff en java
Archimides
's réponse qui fonctionne le mieux, il vérifie que l'image est terminée à la fin.OriginalL'auteur Harsha Reddy