La détection des images corrompues dans le script bash
J'ai >2000 images d'une webcam stream (pour une vidéo time-lapse), j'ai besoin de supprimer toutes les incomplète & images corrompues, avant de les transmettre à un php-gd script qui modifie pour la vidéo finale.
Est-il possible de détecter des fichiers corrompus avec imagemagick ou un autre outil? Si j'essaie d'ouvrir une image endommagée avec feh il affiche libpng error: Read Error
dans la console
Merci d'avance!
Mise à JOUR: Il semble que la suggestion d'identifier méthode accepte les mauvaises images dans mon cas. Voici un exemple d'un corrompu http://imgur.com/YcB9n
Même problème avec les
Quelle est la fermeture de ce que "trop large" dire au sujet de l'étroitesse d'esprit des électeurs? Semble parfaitement adéquat question pour moi.
Par défaut, "identifier" ne regarde que l'image d'en-tête, et ne sera donc pas en mesure de détecter la corruption dans les données d'image. Utiliser "identifier -verbose" pour analyser l'intégralité du fichier image.
Ce pourrait être une bonne question sur la Super-Utilisateur, mais pas ici, car aucune programmation n'est en cause, ou même demandé.
identify
ici. Il accepte les images que en fait incomplète.Quelle est la fermeture de ce que "trop large" dire au sujet de l'étroitesse d'esprit des électeurs? Semble parfaitement adéquat question pour moi.
Par défaut, "identifier" ne regarde que l'image d'en-tête, et ne sera donc pas en mesure de détecter la corruption dans les données d'image. Utiliser "identifier -verbose" pour analyser l'intégralité du fichier image.
Ce pourrait être une bonne question sur la Super-Utilisateur, mais pas ici, car aucune programmation n'est en cause, ou même demandé.
OriginalL'auteur skazhy | 2011-01-24
Vous devez vous connecter pour publier un commentaire.
Essayer ImageMagick
identify
de commande. À partir de la page de man:Exemple:
Une alternative est d'utiliser PIL (Python Imaging Library):
De la la documentation:
identify
de ligne de commande. Merci beaucoup! Vous avez sauvé mes fesses!Je peux confirmer que, comme indiqué par l'OP,
identify
aussi accepte souvent des images qui sont très incomplètes.utilisez -verbose drapeau à la sortie des erreurs et des avertissements
OriginalL'auteur dogbane
Fourni
a non-zero code de retour d'image brisée, vous pouvez le faire:
Cette volonté de mettre la liste de l'échec des images à
$RESULTS_FILE
. Examiner, par exemple, en comparant le nombre de résultats dans le fichier avec le nombre d'images:Quand/si vous êtes heureux, de supprimer les images en cours d'exécution
Désolé d'entendre ça, j'ai changé les commandes de sécurité version. Ma version d'origine avait un avertissement à propos de rm -f à la fin, mais j'aurais du me douter que ce n'est pas suffisant.
OriginalL'auteur Maxim Sloyko
J'ai essayé de ImageMagick
identify
commande sur un jpg que j'avais autour de la pose avec plusieurs sortes de corruptions jeté dans. Elle a permis d'identifier certains, mais pas tous, alors ce pourrait être une solution partielle au mieux, mais essayez ceci:OriginalL'auteur sarnold