PDA

Zobacz pełną wersję : ExifFolderCrawler - przeszukiwanie JPEG-ów wg Exif (Windows)



vid3
03-12-2015, 09:27
Zrobiłem sobie taki program pod Windows
który przeszukuje wskazany folder z podfolderami
i pokazuje w tabeli wszystkie pliki JPG które zawierają dane Exif z ich zawartością.

Program zamieszczony jest TU (http://port.az.pl/ExifFolderCrawler/).
Wersja bezpłatna FreeWare (innej nie będzie).
Bez reklam i wodotrysków.

Opis programu :
Program wczytuje zawartość wskazanego folderu i podfolderów - pokazuje jedynie pliki JPG zawierające dane Exif
Z danych exif wczytywane są dane podstawowe, GPS oraz Maker Note Nikona (numer seryjny aparatu, liczba wykonanych zdjęć, itd)

Funkcje w obecnej wersji:
- wczytwanie ze wskazanego folderu i pokazanie plików JPG w tabeli,
- wybór kolumn wg danych Exif lub automatycznie - wszystkie dostępne parametry,
- sortowanie wg wybranej kolumny,
- wyświetlenie szczegółów Exif pliku,
- przejście do folderu zawierającego wybrany plik,
- otwarcie wybranego pliku w domyślnym programie do przeglądania zdjęć,
- zapis tabeli do pliku (csv),
- filtrowanie listy plików wg danych Exif,

Jeżeli kogoś zainteresuje to narzędzie to jest jeszcze przez jakiś czas możliwość rozbudowy lub zaproponowania zmian.

Carlos_lo
03-12-2015, 09:52
to jeszcze wersje po maca i bedzie szal :)

kkokosz
03-12-2015, 12:08
Niestety, nie mogę przetestować programu w praktyce, bo mam niekompatybilną wersję dotNeta :(
Natomiast patrząc na listę funkcji i mając w pamięci swoją chęć napisania podobnego programu, widziałbym takie propozycje rozwoju:
- obsługa RAWów (na pewno da się wyciągnąć z nich zaszyte JPGi bez żadnych bibliotek - pamiętam, że wystarczyło odczytać odpowiedni blok danych z RAWa, nie pamiętam jednak, czy sprawdzałem, czy ten JPG ma w sobie dane Exif - jeśli tak, to od razu miałbyś rozwiązany problem, jak wydobywać te dane z RAWów; jeśli nie, warto chyba poszukać bibliotek do najpopularniejszych formatów: NEF, CR2 itp.)
- definiowana lista programów do otwierania (nie tylko domyślny, skojarzony z rozszerzeniem)
- możliwość edycji danych Exif (przynajmniej jakichś komentarzy, copyright czy podobnych), najlepiej dla grup plików
- możliwość "eksportu" wybranego obrazu z naniesionymi danymi Exif na sam obraz (albo pod nim, na jakiejś ramce)

Tak w ogóle to się zastanawiam, do czego Ty ten program wykorzystujesz (bo w moim przypadku piszę programy głównie dla siebie, a potem je ewentualnie rozpowszechniam, podejrzewam, że u Ciebie wygląda to podobnie). Nie da się ukryć, że najpopularniejszy chyba obecnie program do zarządzania biblioteką zdjęć (czyli Lightroom) ma takie same, a nawet większe możliwości. No, wiadomo, że jest komercyjny, więc darmowe narzędzie też jest w cenie. Zamierzasz pójść dalej i rozwijać aplikację w stronę katalogowania/zarządzania? Bez modułu obróbki, ale np. słowa kluczowe? Kolekcje? Bo "się aż prosi" ;)

vid3
03-12-2015, 13:08
Obecna wersja dotNet to chyba 4.6 z Win10,
wieczorem (jak będę w domu) przekompiluję na 4.5 - powinno działać pod Win7.
Program zrobiłem ... z ciekawości.
1. Chciałem zobaczyć co w Exifach piszczy, (niby standard, a jednak nie do końca)
2. Przeskanować ukryte foldery i wyciągnąć z nich JPG-i z exifami. (A niezłe kwiatki tam się ukrywają)
3. I coś tam jeszcze ...

A czy program będę rozwijał zależy od ... zainteresowania.
Moje oczekiwania już spełnił.

Z biblioteki Nikona do Nefów też korzystam ( w innym programie).
Jest tam możliwość wyciągnięcia informacji takich jak w exif.
Ale prędkość działania jest makabryczna.
Nie nadaje się do pracy na wielu plikach.

kkokosz
03-12-2015, 13:58
Obecna wersja dotNet to chyba 4.6 z Win10,
wieczorem (jak będę w domu) przekompiluję na 4.5 - powinno działać pod Win7.

Testowałem rzeczywiście na Win7 64bit



Z biblioteki Nikona do Nefów też korzystam ( w innym programie).
Jest tam możliwość wyciągnięcia informacji takich jak w exif.
Ale prędkość działania jest makabryczna.
Nie nadaje się do pracy na wielu plikach.
Zawsze możesz jakoś cache'ować dane o plikach, tzn. czytać je raz, zapisać jakieś sumy kontrolne i doczytywać tylko te zmienione :) ale to już nie zadanie dla malutkiego programu, czytającego dane na bieżąco :]

2pompony
03-12-2015, 14:20
Jako profan w programowaniu, ale użytkownik programów graficznych w stopniu przynajmniej podstawowym mam taką uwagę: zamiast programu, który by dublował możliwości innych, raczej wolałbym widzieć program, który albo odkrywa coś nowego, albo wypełnia lukę, jaką mają inne programy. Może brzmi to enigmatycznie, ale zaraz wyjaśnię...

W tym wypadku mogę posortować tabelę pełną jpgów według danych z EXIFa... No fajnie, ale zamiast tego może mógłbym dostać jakiś zbiorczy raport, co byłoby o tyle ciekawe, że sortowanie tabeli pełnej zdjęć ma każda przeglądarka, a generowanie z tego raportu bardzo nieliczne (jeśli w ogóle). Na przykład ile zdjęć mam robionych jednym szkłem, a ile innym - a jeszcze lepiej z możliwością podziału na zakresy ogniskowych. To zresztą tylko przykłąd, można by wywlec dowolne dane z EXIFa i zaptaszkować, żeby raport to uwzględnił...

Albo coś, czego nie ma LR sam w sobie, trzeba się posiłkować jakimiś pluginami: sortowanie zdjęć w zależności od pory dnia, a nie od daty. Po co? Mamy folder zdjęć z wyjazdu wakacyjnego, pełne dwa tygodnie. Jak zobaczyć/posortować wszystkie zdjęcia nocne? Ja posortujemy według daty, pokażą się w kolejności: poniedziałek rano, poniedziałek południe, poniedziałek wieczór, poniedziałek noc, i potem to samo we wtorek, środę, i tak dalej... A może można by było posortować według godzin: np. od 19 - 05 jako pierwsza grupa, a potem te w godzinach dziennych. A ideałem byłoby, gdyby można było tak zgrupowane zdjęcia otagować (komentarzem w EXIFie na przykład), żeby inne programy mogły to odczytać. Można by to zresztą zrobić bardziej inteligentnie (w razie potrzeby służę pomysłami), lub po chłopsku, ale skutecznie.

W ogóle taki program mógłby stanowić dopełnienie do koemrcyjnych molochów (np. LRa) wyszukując luki jakie te programy mają i te luki cerując. Myślę, że pomysłów może być więcej, ale jak program będzie ograniczony tylko do jpgów, grupa docelowa użytkowników zmaleje znacznie.

vid3
03-12-2015, 19:13
Całkowicie się z Tobą zgadzam.
Ale też niesamowicie mnie dołuje instalowanie wypasionego programu z toną reklam
który ma u mnie wykonywać prostą funkcję.
W efekcie tracę czas i dobrą opinię o firmie instalując pierdylion dodatkowych (niechcianych) dodatków.
Czasami wolę wystrugać sobie proste narzędzie we własnym zakresie i wiedzieć dokładnie co robi.

Raporty o których pisałeś da się zrobić.
Program który tu zapodałem ma dopiero tydzień i jest w fazie ... rozwojowej.
Chociaż tak jak napisałem - dla mnie wykonał już robotę.
Jak komuś się spodoba mogę coś jeszcze przy nim podłubać.

Obecna wersja powinna pracować na Win7. (http://port.az.pl/ExifFolderCrawler/)

2pompony
03-12-2015, 22:16
Dobrze, że się zgadzasz. :) I dobrze, że nie lubisz programów, które intensywnie pokazują reklamy, bo to rodzi nadzieję, że Twój program taki nie będzie.

Moim zdaniem na etapie w miarę początkowym przy pracach nad programem trzeba sobie odpowiedzieć na to, do kogo program jest skierowany i co ma robić (nie zestaw konkretnych czynności, bo to może ulegać zmianom), tylko jaką dziedzinę ma obsługiwać... To znaczy być czymś niszowym do prostych czynności jak sortowania zdjęć lub podobnych spraw, czy może ma ułatwiać życie robiąc za rozszerzenie możliwości komercyjnych gigantów, czy może ma ewoluować w stronę edytora EXIFów... Każdy z zakresów tematycznych będzie wymagał innego podejścia i wdrożenia innych pomysłów.

Może niezłym wyjściem byłoby napisanie czegoś wspomagającego kombajny typu LR czy C1 (i jeśli idzie o wspomaganie LRa mam nawet pewne pomysły), ale nie wiem, czy to jest kierunek, w jakim sam jako autor chcesz iść.

jamirq
03-12-2015, 22:33
Nie mogę teraz sprawdzić aplikacji, ale potrzebuje soft który potrafi po wybraniu folderu głównego w ktorym sa dalsze foldery przeskanuje je i do exif w polu komentarz doda pełną ścieżkę do folderu gdzie dany plik się znajduje

vid3
12-12-2015, 22:19
To da się zrobić.

jamirq
13-12-2015, 15:33
O super :) to czekam z niecierpliwością