PDA

Zobacz pełną wersję : Program do usuwania rawów, którym nie odpowiadają jpegi



ccmny
26-07-2011, 01:42
Witam, na prośbę kolegi stworzyłem program do usuwania rawów, którym nie odpowiadają jpegi, i stwierdziłem, że może warto by się nim podzielić również z innymi.
Wiele osób trzyma rawy w osobnych folderach i przegląda jpegi (i często też kasuje). Program działa na tej zasadzie, że sprawdza, czy w folderze z jpegami, w którym został uruchomiony, nie ma folderu "raws" (albo, czy nie ma go folder wyżej) i jeśli któryś z rawów nie ma swojego odpowiednika w postaci jpega, to jest on kasowany (oczywiście najpierw jest pytanie o potwierdzenie). Można też podać swoją nazwę folderu jako pierwszy argument wywołania (np."remraw.exe rawy"). Program obsługuje większość formatów rawów.
Wiem, że sama idea jest banalna, ale można dzięki niemu zaoszczędzić sporo czasu. Z doświadczenia wiem, że jak ktoś ma setki zdjęć do obrobienia, to najpierw przegląda jpegi, kasuje te nieudane i dopiero wtedy wywołuje niektóre rawy. Często po tym jest oczywiście sporo zabawy ze sprzątaniem niewykorzystanych rawów.

Nie jestem pewien, jak administracja zapatruje się na udostępnianie na forum binarek, w związku z czym oto kod źródłowy, który każdy może skompilować:
https://gist.github.com/1105525
Jeśli dostanę zgodę, to chętnie umieszczę również exeka do ściągnięcia dla mniej technicznych :)

ccmny
27-07-2011, 14:26
A zresztą, hf:
http://student.agh.edu.pl/~gabis/remraw.exe

2pompony
27-07-2011, 14:46
Ten program jest dla mnie mało przydatny (bo robię wyłącznie w RAWach), ale przyjmuję z uznaniem, że komuś się chce pisać, testować i dzielić potem takimi rzeczami. Mam nadzieję, że program będzie powoli (a może i szybko) dorabiał się nowych funkcjonalności, i może zrobi się z niego taki 'prawdziwy' detektor duplikatów, który porównuje nie tylko nazwy plików czy dane z EXifa, ale i zawartość graficzną plików.

ccmny
27-07-2011, 20:53
Dziękuję :)
Programu raczej nie mam zamiaru rozwijać, bo robi to, do czego został stworzony, a w tej postaci można go szybko odpalić z linii poleceń w wybranym folderze. Odnośnie wykrywania duplikatów na podstawie zawartości to sprawa już nie jest taka prosta, bo każdorazowe porównywanie wszystkich pikseli jest bardzo czasochłonne i też nie daje pewności, czy zdjęcie przed obróbką i po obróbce zostaną rozpoznane jako to samo (chociaż można użyć algorytmów takich, jak ten (http://www.hackerfactor.com/blog/index.php?/archives/432-Looks-Like-It.html), ale wtedy też pojawia się masa innych problemów).

durom
28-07-2011, 08:39
Dziękuję. Przetestuję. Dokładnie taką metodę stosuję. Selekcjonuję na jpg i wywołuję raw. Jeżeli funkcjonalnie będzie ok to na pewno się przyda.

ccmny
09-08-2011, 17:57
Napisałem jeszcze takie dwa programiki:
http://student.agh.edu.pl/~gabis/divpic.exe
Dzieli obrazy na piony i poziomy (w zależności od tego, który bok jest dłuższy) i wkłada je do folderów "Piony" i "Poziomy". Jeśli zdjęciom odpowiadają rawy, to robi w odpowiednich folderach folder "rawy" i tam też je wkłada.

http://student.agh.edu.pl/~gabis/srtraw.exe
Wkłada wszystkie rawy do folderu rawy i tak w dół, dla każdego rawa, który nie znajduje się w folderze rawy. Przykładowo: mamy folder ze zdjęciami, w którym jest 10 podfolderów. W każdym podfolderze znajdują się rawy i po uruchomieniu programu w każdym z podfolderów jest tworzony kolejny podfolder "rawy", w którym są umieszczane pliki raw.

Jeszcze odnośnie samego sposobu używania, to warto sobie wsadzić programy do windows/system i wtedy można je odpalać z okna adresu w explorerze, wpisując odpowiednio "divpic", lub "srtraw" (albo dodać ich ścieżkę do systemowego patha).

fredek7
09-08-2011, 23:25
Masz może pomysł na usuwanie duplikatów i kopiowanie wszystkich JPG do przewidzianego folderu??

ccmny
09-08-2011, 23:30
Ale co rozumiesz przez duplikaty? Jedno zdjęcie w kilku folderach? Tzn. opisz przykładowe działanie programu, to pomyślę, co da się zrobić.

fredek7
10-08-2011, 09:48
Mam zdjęcia od 1 do 34 na dysku C ale kilka zdjęć np 3,16,20 znajdują się na dysku D 5,13,24,7 na dysku E .Chodzi o to aby program sprawdzał EXIF zdjęcia i opis i katalogował wszystko na dysku F w folderach z datą i dał opcje usunięcia ich z poprzednich lokalizacji po wyborze co usunąć a co zostawić w starym miejscu .

ccmny
10-08-2011, 10:00
Niestety, zrobienie czegoś takiego byłoby dość trudne, z kilku powodów:
1. Przeszukiwanie każdego folderu na wszystkich dyskach zajmie mnóstwo czasu.
2. Skąd rozpoznać, że to zdjęcie, a nie np. obrazek z internetu?
3. Trzeba by zrobić gui (i to dość rozbudowany).

GeparD
18-08-2011, 15:49
Niestety, zrobienie czegoś takiego byłoby dość trudne, z kilku powodów:
1. Przeszukiwanie każdego folderu na wszystkich dyskach zajmie mnóstwo czasu.
2. Skąd rozpoznać, że to zdjęcie, a nie np. obrazek z internetu?
3. Trzeba by zrobić gui (i to dość rozbudowany).

Ad2. Odczytac opis z exif zdjecia czy pasuje zadanemu?