OVH Cloud OVH Cloud

détecter les JPG corrompus ?

93 réponses
Avatar
Ascadix
Salut à tous,

Je cherche un soft/moyen pour examiner une banque de photos et
identifier les JPG corrompus.

qq dizaines de 1000 de photos, 800 Go.


La première "sugestion" de Google c'est "bad peggy", mais ce soft ne
marche pas, 1/3 de faux postif sur un scan de 200 JPG ou se trouvaient
2 vrai KO..


Qq'un à une idée ?

Merci


X-Post, fu2 fr.rec.photo

--
@+
Ascadix
adresse @mail valide, mais ajoutez "sesame" dans l'objet pour que ça
arrive.

10 réponses

1 2 3 4 5
Avatar
jdd
Le 25/10/2020 à 10:40, Olivier B. a écrit :
On Sun, 25 Oct 2020 08:52:58 +0100, jdd wrote:
Le 25/10/2020 à 02:17, Alf92 a écrit :
(genre rotation à droite puis à re-rotation à gauche), les fichiers
corrompus étant ignorés (non traités).

le jpg, c'est du binaire pur.

binaire issu d'un algorithme de compression
Ou le fichier est vide et ça se détecte
facilement, ou il affiche une plage de gris que seul l'œil peut détecter

pour cela il faut déjà passer par l'algorithme de décompression, étape
qui a de fortes chances de planter si le jpeg n'est pas intègre, c'est
donc amha par là qu'il faut passer soit en codant soit en utilisant de
la ligne de commande comme indiqué par Alf

faute d'avoir un exemple du problème, je ne peux pas tester, mais j'ai
de temps en temps des jpg qui sont corrompus, ils s'affichent tous avec
une plage de gris (en bas). Sans doute que les algos arrêtent de décoder
s'ils trouvent une erreur.
zipper un fichier corrompu et le partager...
jdd
--
http://dodin.org
Avatar
efji
Le 25/10/2020 à 08:52, jdd a écrit :
Le 25/10/2020 à 02:17, Alf92 a écrit :
(genre rotation à droite puis à re-rotation à gauche), les fichiers
corrompus étant ignorés (non traités).

le jpg, c'est du binaire pur. Ou le fichier est vide et ça se détecte
facilement, ou il affiche une plage de gris que seul l'œil peut détecter
jdd

Non pas forcément. Il suffit qu'il manque un bit à un endroit
stratégique et c'est corrompu. L'erreur la plus commune c'est un fichier
incomplet, par exemple qui a été écrit à moitié: le début est bien là,
avec l'en-tête qui indique que c'est un jpeg et une analyse partielle
aura du mal à repérer l'erreur.
Je viens de faire un petit test qui m'a énormément surpris :
J'enlève un octet au début du ficher -> illisible (normal)
J'enlève plein plein d'octets n'importe où au milieu, à plusieurs
endroits, et le fichier reste lisible et presque inaltéré !
fichier original, 211234 octets :
https://www.cjoint.com/doc/20_10/JJzkCiL7NdP_2003-20.jpg
fichier modifié, 177313 octets :
https://www.cjoint.com/doc/20_10/JJzkCBChI6P_2003-20-corr.jpg
différence des deux images avec exagération du contraste :
https://www.cjoint.com/doc/20_10/JJzkGFwmsjP_2003-20-diff.jpg
En fait ce fichier est un jpeg à encodage progressif. Il a 2 niveaux de
détail : le début avec une image basse définition et la suite qui
rajoute les détails. On peut faire un peu n'importe quoi dans la seconde
partie du fichier et ça donne le comportement ci-dessus.
Si on y va un peu plus fort, par exemple en gardant les 100 premières
lignes du fichier qui en compte 779 (on garde 9345 octets sur 211234!)
on obtient ceci, qui est typique d'un jpeg corrompu :
https://www.cjoint.com/doc/20_10/JJzkMURVphP_2003-20-head.jpg
Mais les logiciels d'image, ou votre navigateur, le reconnaissent
parfaitement et ne disent pas qu'il est corrompu.
Donc, pour résumer :
1/ si c'est l'en-tête qui est pourrie ça empêche de l'ouvrir mais il
peut arriver que l'image complète soit juste derrière.
2/ Si la corruption est plus loin, l'image peut être complètement
dégradée mais les logiciels la reconnaissent et donc c'est difficile à
repérer automatiquement.
Bon courage !
PS: en effet si on avait des exemples de fichiers corrompus ça aiderait.
--
F.J.
Avatar
Olivier B.
On Sun, 25 Oct 2020 10:52:10 +0100, jdd wrote:
faute d'avoir un exemple du problème, je ne peux pas tester, mais j'ai
de temps en temps des jpg qui sont corrompus, ils s'affichent tous avec
une plage de gris (en bas). Sans doute que les algos arrêtent de décoder
s'ils trouvent une erreur.

ça dépend comment c'est codé, sur le principe la sortie du
décompresseur JPEG (DCT invers etc...) est streamée vers un bitmap, à
ce niveau là tout dépend comment tu décide de gérer l'exeption
(plantage) dans le processus, tu peux dire que tu remplis avec une
couleur arbitraire pour laisser l'utilisateur faire ce qu'il veut de
ce qui a été décodé, ou annuler et avertir de l'erreur par une methode
tout aussi arbitraire. Mais sauf à accéder au code source du
décompresseur, tu devras faire avec un tas de choix arbitraires déjà
faits par le codeur selon l'erreur rencontrée, c'est pour cela que les
softs se comportent differement, et le seul vériftable moyen de
détecter les fichiers corrompus reste de les signer à minima en MD5
zipper un fichier corrompu et le partager...

En effet, c'est préférable, mais pas exhaustif
--
Mail .invalid
Avatar
Olivier B.
On Sun, 25 Oct 2020 11:43:29 +0100, efji wrote:
Donc, pour résumer :
1/ si c'est l'en-tête qui est pourrie ça empêche de l'ouvrir mais il
peut arriver que l'image complète soit juste derrière.
2/ Si la corruption est plus loin, l'image peut être complètement
dégradée mais les logiciels la reconnaissent et donc c'est difficile à
repérer automatiquement.

+1
Bon courage !

en effet :-)
--
Mail .invalid
Avatar
Nul
Le samedi 24 octobre 2020 23:13:23 UTC+2, Ascadix a écrit :
Salut à tous,
Je cherche un soft/moyen pour examiner une banque de photos et
identifier les JPG corrompus.
qq dizaines de 1000 de photos, 800 Go.
La première "sugestion" de Google c'est "bad peggy", mais ce soft ne
marche pas, 1/3 de faux postif sur un scan de 200 JPG ou se trouvaient
2 vrai KO..

tu peut tenter avec SD car Recovery
Avatar
efji
Le 25/10/2020 à 11:51, Nul a écrit :
Le samedi 24 octobre 2020 23:13:23 UTC+2, Ascadix a écrit :
Salut à tous,
Je cherche un soft/moyen pour examiner une banque de photos et
identifier les JPG corrompus.
qq dizaines de 1000 de photos, 800 Go.
La première "sugestion" de Google c'est "bad peggy", mais ce soft ne
marche pas, 1/3 de faux postif sur un scan de 200 JPG ou se trouvaient
2 vrai KO..

tu peut tenter avec SD car Recovery

Non, il ne veut pas réparer un fichier corrompu particulier, il veut
trouver quels sont les fichiers corrompus parmi des dizaines de milliers!
Et il n'a jamais dit qu'ils étaient sur une carte SD.
--
F.J.
Avatar
Benoit
Le 25 octobre 2020 à 04:53, René a raconté :
Le samedi 24 octobre 2020 à 17:13:23 UTC-4, Ascadix a écrit :
Salut à tous,
Je cherche un soft/moyen pour examiner une banque de photos et
identifier les JPG corrompus.
qq dizaines de 1000 de photos, 800 Go.
La première "sugestion" de Google c'est "bad peggy", mais ce soft ne
marche pas, 1/3 de faux postif sur un scan de 200 JPG ou se trouvaient
2 vrai KO..
Qq'un à une idée ?
Merci

C'est quoi un JPG corrompu? Un fichier corrompu? Un JPG trop compressé?
Une image où les pixels s'affichent au mauvais endroit?
Une image ou il manque quelques lignes de pixels?

Je vote pour la dernière. Le fichier JPEG contient ses dimensions, le
début des données de l'image (0xFFDA) et la fin de l'image. Une
erreur à un endroit qui marque la fin de l'image (0xFF, 0xD9 ou
0xFFD9) et le logiciel ne sait plus quoi mettre, alors il le remplit
avec du gris, du noir...
<https://fr.wikipedia.org/wiki/JPEG#Syntaxe_et_structure>
--
Vie : n. f. Maladie mortelle sexuellement transmissible
benoit chez leraillez.com
Avatar
houba
Bonjour ° Bonsoir, le Sat, 24 Oct 2020 23:14:01 +0200, Ascadix
a wroté:
Salut à tous,

salut,
Je cherche un soft/moyen pour examiner une banque de photos et
identifier les JPG corrompus.
qq dizaines de 1000 de photos, 800 Go.
La première "sugestion" de Google c'est "bad peggy", mais ce soft ne
marche pas, 1/3 de faux postif sur un scan de 200 JPG ou se trouvaient
2 vrai KO..

Amha j'utilise [ xnview ] pour ouvrir mes dossiers photos en
vignettage. Ce n'est pas les photos en ma possession qui manquent,
mais jusqu'à ce jour pas de photos corompus.
En me disant que si la /les photos ne s'ouvre.nt pas c'est qu'il y
aurait 'anguille sous roche'.
Qq'un à une idée ?

Pour réparer?
- Un chkdsk (sous windows) dans la partition idoine?
- Recourir à une appli +spécialisée genre: Stellar Repair for Photo
https://www.stellarinfo.com/jpeg-repair.php?utm_source=StellarBlog&utm_medium=unable_to_open_recovered_jpeg&utm_campaign=JPEGRepair
Merci

Bon dimanche Ascadix.
X-Post, fu2 fr.rec.photo

Yep.
--
VaN.
Avatar
Nul
Le dimanche 25 octobre 2020 12:32:14 UTC+1, efji a écrit :
Le 25/10/2020 à 11:51, Nul a écrit :
Le samedi 24 octobre 2020 23:13:23 UTC+2, Ascadix a écrit :
Salut à tous,
Je cherche un soft/moyen pour examiner une banque de photos et
identifier les JPG corrompus.
qq dizaines de 1000 de photos, 800 Go.
La première "sugestion" de Google c'est "bad peggy", mais ce soft ne
marche pas, 1/3 de faux postif sur un scan de 200 JPG ou se trouvaient
2 vrai KO..

tu peut tenter avec SD car Recovery

Non, il ne veut pas réparer un fichier corrompu particulier, il veut
trouver quels sont les fichiers corrompus parmi des dizaines de milliers!
Et il n'a jamais dit qu'ils étaient sur une carte SD.

a tu déjà essayé ? non sans doute.
SD card recovery fonctionne sur tous les supports, aussi bien sur les carte s que sur CD Rom et DD interne ou externe.
Avatar
efji
Le 25/10/2020 à 18:07, Nul a écrit :
Le dimanche 25 octobre 2020 12:32:14 UTC+1, efji a écrit :
Le 25/10/2020 à 11:51, Nul a écrit :
Le samedi 24 octobre 2020 23:13:23 UTC+2, Ascadix a écrit :
Salut à tous,
Je cherche un soft/moyen pour examiner une banque de photos et
identifier les JPG corrompus.
qq dizaines de 1000 de photos, 800 Go.
La première "sugestion" de Google c'est "bad peggy", mais ce soft ne
marche pas, 1/3 de faux postif sur un scan de 200 JPG ou se trouvaient
2 vrai KO..

tu peut tenter avec SD car Recovery

Non, il ne veut pas réparer un fichier corrompu particulier, il veut
trouver quels sont les fichiers corrompus parmi des dizaines de milliers!
Et il n'a jamais dit qu'ils étaient sur une carte SD.

a tu déjà essayé ? non sans doute.
SD card recovery fonctionne sur tous les supports, aussi bien sur les cartes que sur CD Rom et DD interne ou externe.

Oui je l'ai déjà utilisé sur une carte. J'ignorais qu'il fonctionnait
aussi sur un disque, mais peu importe. Il récupère des secteurs
corrompus qui empêchent de voir les fichiers par exemple. Si j'ai bien
compris la requête d'Ascadix ce n'est pas du tout ça : il a des fichiers
que son navigateur voit parfaitement mais qui sont corrompus. A priori
SD cart recovery ne va rien trouver à faire dans un cas comme ça si le
disque est sain.
--
F.J.
1 2 3 4 5