Znalezienie uszkodzonych zdjęć

Mam na dysku w jednym folderze i podfolderach tysiące plików ze zdjęciami, niestety wiele z nich jest uszkodzonych bezpowrotnie, już się z tym pogodziłem, ale czy jest jakiś program który potrafi sam znaleźć te pliki uszkodzone w folderze i podfolderach? Mozolne przeglądane i sprawdzanie tylu tysięcy fotek na piechotę nie bardzo mi się widzi

Sprawdź czy uszkodzone pliki nie są mniejsze od normalnych, albo pozbawione exif.

Zdjęcia uszkodzone są tak, że wyświetlają się tylko mają artefakty - brakuje fragmentów, czy w ogóle nie wyświetlają się przy próbie wyświetlenia?

Jeżeli chodzi o uszkodzone JPG, które w ogóle się nie wyświetlają to uruchom Linux z LiveUSB i skryptem to można ogarnąć.
Zainstaluj paczkę o nazwie imagemagick

Zapisz ten skrypt np. do pliku checkjpg.sh w katalogu HOME użytkownika i nadaj mu prawa do uruchamiania: chmod +x checkjpg.sh

#!/bin/bash

find "$1" -name '*.jpg' -type f | while read PLIK; do
    if ! identify "$PLIK" &> /dev/null; then
        echo "$PLIK"
    fi  
done 

Jeśli zapisałeś to zamontuj partycję z plikami do przeszukania klikając na nią w menadżerze plików. Skopiuj sobie ścieżkę do katalogu, który chcesz przeszukać i uruchom skrypt bash:
./checkjpg.sh skopiowana_ścieżka_do_katalogu >> $HOME/uszkodzone.txt
Skrypt wypisze uszkodzone pliki JPG i zapisze ich ścieżki w pliku uszkodzone.txt

Sprawdź sobie tak pobieżnie kilka z nich wyrywkowo, czy poprawne wykrył.
Usunąć je możesz poleceniem:
xargs -d '\n' rm -v <uszkodzone.txt

W zasadzie tyle.
!!! Skrypt przeszukuje także sub-katalogi.

Skrypt testowałem na paru plikach JPG uszkodzonych w HEX edytorze tak, aby się nie wyświetlały. Zobacz najpierw na mniejszym zbiorze zdjęć jak zadziała!!!

1 polubienie

Skorzystaj z programów EaseUs Data Recovery ściągnij tu a drugi program to Disc Drill tu ściągnij Rozpakuj programy i przeskanuj dany dysk. Programy naprawiają pliki i pokazuja, które w twoim przypadku zdjęcia zostały naprawione. Program jest próbną wersją, a pełne są płatne. Masz dwie opcje. Kupić pełną wersję i odzyskać fotki albo po odszukaniu zdjęć po skanowaniu bawić się ręcznie w zrzuty z ekranu i robienie jpg ręcznie. Od czegoś trzeba zacząć. Skanowanie pokaże wszystkie pliki. Najlepsza jest opcja na koniec skanowania czyli usunęte pliki. Jeśli ktoś np sprzedał komus komputer i wyrzucił coś do kosza myśląc, że oczyścił komputer i sprzedał, to się grubo pomylił. Te programy znajdą wszystko co było na dysku, który nie został sformatowany przed sprzedażą.

Nie rozumiem. W folderze ze zdjęciami jest przycisk - zmień wygląd. Suwakiem dajesz choćby na średnie ikony i sam widzisz, które obrazki wyświetlają się poprawnie, a które nie.

Żaden program nie odróżni, czy są uszkodzenia w plikach istniejących zdjęć.
Swoją drogą, gdy mało będzie uszkodzonych, to pousuwasz. Gdy zaś mało będzie dobrych, to przeniesiesz do innego folderu.

Przecież napisał, że ma ich tysiące i w podfolderach na dodatek. Też bym tego na piechotkę nie robił.
Program/skrypt odróżni, jeżeli uszkodzona jest struktura pliku powodująca brak możliwości podglądu/otworzenia. Jeżeli uszkodzenie jest niewielkie i powoduje tylko artefakty/ubytki to tak jak mówisz program nie odróżni, chyba, że opiera się o AI do tego celu “wytrenowane”.
identify z pakietu imagemagick rozpoznaje taki plik, ale na wyjście błędu daje go jako “corrupted” jeżeli struktura zaburzona (np. metadane) i to właśnie wykorzystuje skrypt jaki wyżej umieściłem.

Dziękuję za wszelkie uwagi, sprawdzę wszystkie jak tylko znajdę chwile. Co do tego czy pliki widać tylko są jakieś artefakty to zdarzają się takie też ale są też takie *.jpg które się nie otwierają ogóle.

Czkawka ma też wbudowany detektor zdjęć, wychwytuje te artefaktami na miniaturze i te mocniej uszkodzone.