PDA

Zobacz pełną wersję : metadata extraction in java



Marcin K
14-09-2006, 21:53
Witam.
Znalazlem taka prosta biblioteke JAVA do odczytu EXIF z pliku.

http://www.drewnoakes.com/code/exif/index.html

Zastanawiam sie, czy nie bylaby przydatna. Jakies moze batchowe operacje, odczyt exif ze wszystkich plikow i zapis wynikwo do pliku, porownanie jakie ogniskowe najczesciej na zdjeciach byly uzywane itp.

Jesli ktos widzi zastosowanie dla takiej biblioteki prosze o informacje.
Jesli bedzie ciekawe postaram sie to splodzic "pro bono".

pozdrawiam.

Tomasz Golinski
14-09-2006, 21:55
W javie? Batchowe? Ueee, jest przecież exiftool i jhead.

Marcin K
14-09-2006, 22:05
W javie? Batchowe? Ueee, jest przecież exiftool i jhead.

Moj pierwszy pomysl byl taki ?

Mam wlasna galerie.

Chce do kazdego zdjecia przygotowac strone z wybranymi parametrami z EXIFa.
Ja musze tylko przygotowac szablon np taki jak ponizej:

<html>
<b>Dane ze zdjecia : %IMAGE_NAME%</b>
...
Make - Canon
[Exif] Model - %Model%
[Exif] Exposure Time - %Exposure%
[Exif] F-Number - F4,5 %F-Number%
...
</html>

i dla kazdego zdjecia aplikacja przygotowuje taki plik a ja go moge wrzucic na serwer.

Inny to jakas ogolna analiza zdjec.

Ale OK, Jesli potrzeb brak, to brak

Tomasz Golinski
14-09-2006, 22:16
Tobie potrzeba sgallery.sf.net :twisted: ;)

muflon
15-09-2006, 09:23
Chce do kazdego zdjecia przygotowac strone z wybranymi parametrami z EXIFa. Ja musze tylko przygotowac szablon np taki jak ponizej:
<html>
<b>Dane ze zdjecia : %IMAGE_NAME%</b>
...
Make - Canon
[Exif] Model - %Model%
[Exif] Exposure Time - %Exposure%
[Exif] F-Number - F4,5 %F-Number%
...
</html>
i dla kazdego zdjecia aplikacja przygotowuje taki plik a ja go moge wrzucic na serwer.
Czy to kolejne wyzwanie p.t. "muflon, zakoduj to w 10 linijkach basha"? :mrgreen:

Vitez
15-09-2006, 13:34
Czy to kolejne wyzwanie p.t. "muflon, zakoduj to w 10 linijkach basha"? :mrgreen:

W JEDNEJ linijce :p , zreszta jak zwykle ;) .

muflon
15-09-2006, 16:02
Juz sie zabralem za dlubanie petelki.. w 5 minut wydlubalem calosc, wyszlo w sumie 5 linii w wersji deluxe :) ale cos mnie tknelo, zeby jeszcze spojrzec w manual do exiftoola. No i voila.. tworzymy sobie plik, nazwijmy go "format":

<html>
<body>
<h3>Dane do zdjecia $FileName </h3>
<table>
<tr><td><b>Flash</b></td><td> $Flash </td></tr>
<tr><td><b>F Number</b></td><td> $FNumber </td></tr>
...
</table>
</body>
</html>
A nastepnie:

exiftool -p format -w "%f.html" *.jpg
Lista tagow odczytywanych przez exiftoola (moze sie przydac, bo jest sporo o podobnych nazwach):

exiftool -list
Choc w sumie petelka byla lepsza :mrgreen: bo mozna bylo napisac cos w stylu:

for TAG in Flash FNumber ...; do costam ; done
:-D :-D :-D

Marcin K
15-09-2006, 17:12
...

Fajne.

To moze jeszcze do pentelki dodasz robienie miniaturek, podpisow wodnych , podpisow z danych exif i moze jeszcze konwersje do B&W ?

O i dobrze by bylo jakby wysylal to wszystko na serwer. No i oczywiscie zeby to szlo po SSLu.

Moglbys tez te dne z exif zapisywac do bazy danych.

muflon
15-09-2006, 18:04
podpisow wodnych (..)
konwersje do B&W (..)
dobrze by bylo jakby wysylal to wszystko na serwer (..)
zeby to szlo po SSLu (..)
Moglbys tez te dne z exif zapisywac do bazy danych.
A fuj, co za szatańskie wynalazki :evil: Może jeszcze okienkowe GUI? ;-)

Marcin K
15-09-2006, 20:18
A fuj, co za szatańskie wynalazki :evil: Może jeszcze okienkowe GUI? ;-)


No widzisz...

Skryptem shell nie zrobisz wszystkiego.
A jesli zrobisz, to wez poprawke, ze nie wszyscy wiedza co to bash.
Nie kazdy majacy windowsa odnajdzie sie w cygwinie...

muflon
15-09-2006, 21:38
Skryptem shell nie zrobisz wszystkiego.
Zrobię wszystko, w szczególności wszystko to, co napisałeś - i to często szybciej niż przeciętny użytkownik znajdzie klikalnego gotowca na tucowsie :). Niestety, jeśli już coś robię, to tak, żeby mi pasowało :) A to oznacza właśnie command line i kilka prostych, wykonujących jedno zadanie (ale za to dobrze) skryptów. W tej chwili mam ich w podręcznym katalogu... bzz... 139 :mrgreen:

A jesli zrobisz, to wez poprawke, ze nie wszyscy wiedza co to bash.
Nie kazdy majacy windowsa odnajdzie sie w cygwinie...
Ależ oczywiście że nie :) Ale patrz wyżej. A mojego skryptu galerii jakoś parę osób używa... psioczą że toporna, że to tamto woleliby inaczej... ale używają :-P :-P :-P

Dobra, powiem wprost: uwielbiam popisywać się skryptowymi sztuczkami i demonstrować, że jednak command line to jest "the right way" :mrgreen: To jest jak dobry szwajcarski scyzoryk: jedno ostrze to ImageMagick, drugie to Exiftool, trzecie jhead... spaja to wszystko bash - i przy odrobinie sprytu wydłubiesz sobie w 5 minut większość rzeczy, o które wypytują ludzie na forach/usenecie :) Spójrz: "jak zgrać szybko fotki z kilku kart/databanka", "jak masowo usunąć exify/coś z nimi zrobić", "jak wygenerować szybko miniaturki i HTMLa" itp. itd... A jak masz opanowaną obsługę scyzoryka, to siadasz, pstrykasz i jest. I ja to kocham :-D

Marcin K
15-09-2006, 22:08
Dobra, powiem wprost: uwielbiam popisywać się skryptowymi sztuczkami

Dobra, powiem wprost: a ja uwielbiam popisywac sie javowymi sztuczkami.

Wole ja i juz. Czuje sie w niej jak ryba w wodzie. W pracy mam ja co dzien i widze jej przewage na shellem. (oczywiscie mowie o bardziej zlozonych problemach) Ale to inna bajka.

Shell moze byc, ale nie zawsze i zalezy co kto lubi.

Oczywiscie nie jestem ortodoksem.
Ja lubie jave a Ty shella. I tak powinno byc.
Musi byc jakas roznorodnosc przeciez.

OK. Troche pojechalismy chyba w dyskusji.

muflon
15-09-2006, 22:19
OK. Troche pojechalismy chyba w dyskusji.
Eee tam, jest java w tytule? jest. Jest metadata? jest. Jest software? Jest. To i tak to bardziej on topic niż większość flejmów Apple vs. PC :mrgreen:

Ja miałem dość długi zawodowy epizod z J2EE - i w odpowiednich zastosowaniach również czuję się w niej jak "ryba w wodzie". Ale jako "scyzoryka" to ja tego nie widzę :) Nie masz tam odpowiednika ps -fU user | awk '{print "kill -9 "$1}' | sh (ubić procesy usera) albo cat /etc/passwd | cut -d: -f3 | tail -1 (znajdź ostatni zajęty UID) itp. itd... czegoś, co mając konkretny problem, wydłubiesz w 15 sekund - od czasu pojawienia się problemu do jego rozwiązania :) Dla mnie większość spraw typu takiego o jakich mowa, to właśnie ta klasa - "złożony problem" zaczyna się gdzieś w okolicach aplikacji web na kilkanaście ekranów i połączenia z Oraclem :-D A w międzyczasie (od półtorej strony shella wzwyż) jest jeszcze perl :mrgreen:

BTW, nie znasz przypadkiem takiego jednego M. Kasińskiego, co to pojechał do Korei klepać $$$ (czy jakieś tam inne wony) m.in. na tym, o czym piszemy? :mrgreen:

Marcin K
15-09-2006, 22:40
Dla mnie większość spraw typu takiego o jakich mowa, to właśnie ta klasa - "złożony problem" zaczyna się gdzieś w okolicach aplikacji web na kilkanaście ekranów i połączenia z Oraclem


Ja moze jestem troche skrzywiony bo najczesciej mam do czynienia z tego typu lub bardziej zlozonymi problemami (Telco). Ale taj jak pisalem shellem nie gardze. Jedno i drugie ma swoje plusy i minusy.

Aplikacja : pisze w javie
instalacja aplikacji : tu skrypt

W sumie piszemy o tym samym : Kazde jest dobre do "innych" zastosowan .



BTW, nie znasz przypadkiem takiego jednego M. Kasińskiego, co to pojechał do Korei klepać $$$ (czy jakieś tam inne wony) m.in. na tym, o czym piszemy? :mrgreen:

Nie znam.