Sivu 1/1
Exif-datan parserointi
Lähetetty: Heinä 13, 2003 12 : 39
Kirjoittaja Teal
Toi Exif on aika uus juttu meikäläiselle, kun kamerakin on vasta hiljattain hommattu. Osaiskohan joku valottaa, että miten exif on tallennettu kuvan yhteyteen.
Olen tässä hiomassa omaa kuvagalleriaa ja ajattelin, että olis kiva saada exif tiedot PHP:lla näkyviin. Palveluntarjoajalla vain ei ole valmiit exif-funktiot tuettuna, koska olevat kuulema vielä aika raakileita.
Ajattelinkin tässä itse parseroida exif-tiedot kuvasta, mutta en ole oikein löytänyt tietoa asiasta.
Olisin kiitollinen jos joku osaisi valottaa asiaa hieman minulle.
Lähetetty: Heinä 13, 2003 14 : 06
Kirjoittaja Hoki
En osaa sanoa mitään tekniseen puoleen liittyen, mutta osaan hakea tietoa Googlella... :-)
http://sourceforge.net/projects/libexif
Tuolta löytyy lähdekoodit kyseiseen ohjelmaan, niin jos et sitä itse ohjelmaa saa toimimaan palveluntarjoajan, niin ainakin lähdekoodia tutkimalla voisi valottua jotain...
Lähetetty: Heinä 13, 2003 20 : 23
Kirjoittaja Teal
Thanks. Täytyypi tutkailla löytyisikö tuolta apua.
edit: Eipä hirveesti ole iloa, kun on C:llä koodattu. Eikä satu olemaan kyseinen kieli hallussa. Näin webbisovellusta ajatellen pitäisi olla PHP-kielellä.
Olenhan minäkin googlea kokeillut, mutta vastaan ei ole vielä pikaisella selaamisella tullut mitään järkevää (se on tämä netin runsaudenpula =)
Lähetetty: Heinä 13, 2003 21 : 44
Kirjoittaja Jedah
Googlettamalla löytyi helposti standardin virallinen (?) sivusto
http://www.exif.org/. Tuolta speksistähän kaikki asiat selviävät, tosin ne ovat kyllä yleensä melko raskaslukuisia.
Lähetetty: Heinä 13, 2003 22 : 28
Kirjoittaja janx
PHP-koodarin raamattu löytyy osoiteesta
http://fi.php.net/.
Sitä tietoa kuinka se on koodattu kuvan yhteyteen minulla ei ole.
Hmm... enpä huomannut, että olitkin jo löytänyt valmiit funktiot... :)
Tuskin tuolta raamatusta muuta aiheesta löytyy.
Lähetetty: Heinä 13, 2003 23 : 45
Kirjoittaja markkinn
Tuolla ainakin onnistuu:
http://mig.sourceforge.net/
PHP-koodit löytyy sieltä jostain, ei muuta kuin tutkimaan ja lainaamaan koodin pätkää :)
Lähetetty: Heinä 17, 2003 11 : 42
Kirjoittaja uggi
Jos on tarpeeksi uusi php:n versio ja käännetty --enable-exif asetuksella niin siitä pitäisi löytyä ihan sisäänrakennetut exif-funktiot, esim:
http://fi.php.net/manual/en/function.exif-read-data.php
Jos tuo ei onnistu niin täältä löytyy jotain apua tilanteeseen:
http://www.offsky.com/software/exif/index.php
Lähetetty: Heinä 17, 2003 17 : 07
Kirjoittaja Teal
Kuten jo ensimmäisessä viestissä sanoin... Palveluntarjoajalla ei ole valmiit funktiot päällä, koska ovat kuulemma vielä raakileita.
Tuon saitin johon linkki osoittaa olinkin jo löytänyt ja parhaillaan tutkiskelen sitä. Näyttäisi olevan ihan kelpo scripti. Joistakin kuvista en kuitenkaan ole saanut haluamiani tietoja. Saattaa kuitenkin olla, että photari on näistä kuvista tiedot kadottanut...
Tutkitaan ja hutkitaan...Eiköhän tästä vielä jotakin tule ;-)
Lähetetty: Heinä 19, 2003 16 : 56
Kirjoittaja Teal
Nyt on tutkisteltu tuota exiferiä ja näyttäis jopa melkein toimivan. Melkein siksi, että suljinaikaa ei kyllä osaa alkuunkaan näyttää oikein. Kuvissa jotka on otettu jotain sekunnin sadasosan suljinajoilla exifer näyttää ajaksi useita sekunteja. Onkohan joku muu käyttänyt exiferiä ja huomannut moista ja mahdollisesti jopa korjannut bugin? Jos ei, niin täytyy varmaan perehtyä sorsaan tarkemmin.
Lähetetty: Heinä 28, 2003 10 : 31
Kirjoittaja uggi
Teal kirjoitti:Kuvissa jotka on otettu jotain sekunnin sadasosan suljinajoilla exifer näyttää ajaksi useita sekunteja.
Käytätkö ko. arvoa ihan sellaisenaan vai teetkö sille jotain laskutoimituksia? Exifer kun palauttaa sen stringinä, esim "1/250 sec".
Ainiin, ja siellä exif-datassahan on sekä [SubIFD][ExposureTime] että [SubIFD][ShutterSpeedValue]. En tiedä mistä tuon jälkimmäisen arvo oikein lasketaan mutta se näyttäisi aika isoja lukuja (esim. 1/6 s. suljinajalla 2.59375 s.), kumpaa arvoa olet käyttänyt?
Lähetetty: Heinä 28, 2003 12 : 19
Kirjoittaja uggi
uggi kirjoitti:[SubIFD][ShutterSpeedValue]. En tiedä mistä tuon jälkimmäisen arvo oikein lasketaan mutta se näyttäisi aika isoja lukuja (esim. 1/6 s. suljinajalla 2.59375 s.)
Hmm hetken Googlailun jälkeen osuin tälle sivulle:
http://www.chem.helsinki.fi/~toomas/photo/ev.html
Mahtaakohan tossa olla kyse tuosta Exposure Valuesta? Parin testikuvan perusteella näyttäisi osuvan arvot aika lailla kohdalleen tuon taulukon kanssa. Joku enemmän valokuvaukseen perehtynyt voisi valaista asiaa..
-- Edit --
Joo, kannattais Googlettaa loppuun asti. ShutterSpeedValuella ei ole tuon taulukon kanssa mitään tekemistä.
http://www.ba.wakwak.com/~tsuruzoh/Comp ... xifIFDTags
Lähetetty: Heinä 28, 2003 17 : 28
Kirjoittaja Teal
Jos joku muukin saman asian kanssa painii...
['SubIFD']['ExposureTime'] ja ['SubIFD']['FNumber'] ovat suoraan käytettävissä oikeassa muodossa. (Ikävä kyllä kamerani ei näytä noita tallentavan.)
['SubIFD']['ShutterSpeedValue'] ja ['SubIFD']['ApertureValue'] ovat APEX-arvoja, jotka eroavat yllä olevista seuraavalla tavalla:
ApertureValue (Av) = 2 log 2 (F number)
ShutterSpeedValue (Tv) = - log 2 (exposure time)
Näin ollen, jos joutuu käyttämään noita ApertureValue ja ShutterSpeedValue-arvoja joutuu koodia hieman muokkaamaan riviltä 331 eteenpäin:
Koodi: Valitse kaikki
} else if($tag=="9205" || $tag=="9202") { //AperatureValue and MaxAperatureValue
$data="f ".round(sqrt(pow(2,$data)),1);
} else if($tag=="920a") { //FocalLength
$data=round($data,2)." mm";
} else if($tag=="9201") { //ShutterSpeedValue
$data=(1/pow(2,$data));
if ($data < 0.3){
$data = "1/".round(1/$data)." sec";
}else{
$data = round($data,1)." sec";
}
}
Ps. Exif-standardin speksit löytyvät osoitteesta
http://tsc.jeita.or.jp/avs/data/cp3451.pdf