PictView: Image orientation vs náhledy

Hlášení chyb a problémů programu Altap Salamander. Buďte, prosím, ve svých popisech co nejpodrobnější a vytvořte pro každý incident nový příspěvek. Nevkládejte programem generovaná hlášení o pádu programu, pošlete je e-mailem.
User avatar
ino
Posts: 440
Joined: 09 Dec 2005, 14:59
Location: Brno, Czech Republic

PictView: Image orientation vs náhledy

Post by ino »

Zdravím,

všiml jsem si jedné dobné nesrovnalosti: ve fotoaparátu mám zapnutou funkci "Image rotation", která zaznamenává polohu fotoaparátu vzhledem k ose pohledu - v EXIF je to položka Orientation.

Při zobrazení v panelu v módu ALT+5 (Thumnails) jsou tyto údajě použity pro natočení snímku, ale pouze u snímků ve formátu NEF (RAW od Nikonu), kdežto snímky ve formátu JPEG otáčeny nejsou, ačkoliv oba snímky obsahují náhledy (jak jpeg tak i jpg), ale otáčen je pouze jeden znich.

viz screeshot:
Image
snímky: jpg nef
Attachments
preview.png
preview.png (118.35 KiB) Viewed 19650 times
Last edited by ino on 21 Nov 2010, 23:59, edited 1 time in total.
User avatar
zarevak
Plugin Developer
Plugin Developer
Posts: 789
Joined: 04 Feb 2006, 16:49
Location: Prague, Czech Republic

Post by zarevak »

Dobrý den,
náhledy fotek z Lumix LX2 jsou otáčeny v pořádku (jak interní náhled, tak upřesněný náhled později). Váš JPEG snímek je však při zobrazení interního (rychlého) náhledu zobrazen špatně a až později, kdy je načten celý snímek a zobrazen upřesněný náhled, je váš snímek zobrazen správně. Tipuju, že zde bude nějaký problém s uložením interního náhledu v JPEG souboru.
(upřesněný náhled PictView generuje z vlastních obrazových dat po načtení rychlých náhledů všech souborů a pokud je požadovaná velikost náhledů větší než uložený rychlý náhled)
User avatar
ino
Posts: 440
Joined: 09 Dec 2005, 14:59
Location: Brno, Czech Republic

Post by ino »

zarevak wrote:Dobrý den,
náhledy fotek z Lumix LX2 jsou otáčeny v pořádku (jak interní náhled, tak upřesněný náhled později). Váš JPEG snímek je však při zobrazení interního (rychlého) náhledu zobrazen špatně a až později, kdy je načten celý snímek a zobrazen upřesněný náhled, je váš snímek zobrazen správně. Tipuju, že zde bude nějaký problém s uložením interního náhledu v JPEG souboru.
(upřesněný náhled PictView generuje z vlastních obrazových dat po načtení rychlých náhledů všech souborů a pokud je požadovaná velikost náhledů větší než uložený rychlý náhled)
fain, tak jsem trochu laboroval.
fakta:
- oba obrázky DSC_6753.JPG DSC_6753.NEF jsou naprosto totožné (jsou vytvořeny ve stejný čas fotoaparátem v módu RAW+JPG) a bez žádných pozdějších úprav.
- oba obrázky obsahují thumbnail
- oba obrázky obsahují info že focená scéna je zachycena left-bottom (nahoře je skutečná levá strana a napravo horní strana)
- v módu zobrazení Thumbnail Alt+5 je do velikosti 160 px zobrazen náhled extrahovaný ze snímku a je zobrazen tak, jak je uložen, tzn. bez natočení které je definováno v EXIF - Orientation.
- při zvětšení velikosti na 161 px a více, je zobrazen zřejmě vygenerovaný náhled z celkového snímku, který již je natočen dle info z EXIFu.
- v daném adresáři nemám žádný thumbs.db (který by mohl nějak ovlivňovat cachování náhledů)
- ze souboru NEF se vždy zobrazí náhled extrahovaný ze snímku a je pootočen dle informací vEXIFu.

Očekával bych natočení všech snímků dle informací z EXIFu pokud to lze (a dle otoční .nef náhledu to lze).

V prohlížeči PictView očekával to stejné chování, s možností toto natáčení potlačit umožnit tak zobrazení snímků tak jak jsou.
User avatar
ino
Posts: 440
Joined: 09 Dec 2005, 14:59
Location: Brno, Czech Republic

Post by ino »

ino wrote: tak jsem trochu laboroval.
Ještě doplním screenshoty:

velikost náhledu 160 pixelů:
Image

velikost náhledu 161 pixelů:
Image
Attachments
161 pixelů
161 pixelů
161px.png (76.14 KiB) Viewed 19650 times
160 pixelů
160 pixelů
160px.png (55.24 KiB) Viewed 19650 times
Last edited by ino on 22 Nov 2010, 00:00, edited 1 time in total.
User avatar
zarevak
Plugin Developer
Plugin Developer
Posts: 789
Joined: 04 Feb 2006, 16:49
Location: Prague, Czech Republic

Post by zarevak »

Osobně si myslím, že bude rozdíl v uložení náhledů, kde jeden z našich fotoaparátů je ukládá otočené a druhý neotočené (jak to má podle specifikace být, netuším). Konkrétní náhled z JPEGu na ověření extrahovat neumím, takže jen tipuji....

Můj testovací obrázek je ke stažení:
http://temp.zarevak.net/P1000005.JPG (pozor: 3,81MB!)
User avatar
ino
Posts: 440
Joined: 09 Dec 2005, 14:59
Location: Brno, Czech Republic

Post by ino »

zarevak wrote:Osobně si myslím, že bude rozdíl v uložení náhledů, kde jeden z našich fotoaparátů je ukládá otočené a druhý neotočené (jak to má podle specifikace být, netuším). Konkrétní náhled z JPEGu na ověření extrahovat neumím, takže jen tipuji....

Můj testovací obrázek je ke stažení:
http://temp.zarevak.net/P1000005.JPG (pozor: 3,81MB!)
Velice zajímavé...
Náhled v JPEG z Nikonu se neotáčí a z Panasonicu ano.
Co se týče uložení náhledu, zdá se, že jsou uloženy stejně, tj. tak jak jsou snímky zachyceny, viz screenshot:
Image
Attachments
LumixLX2.png
LumixLX2.png (49.52 KiB) Viewed 19650 times
Last edited by ino on 22 Nov 2010, 00:23, edited 1 time in total.
User avatar
Datalog
Posts: 244
Joined: 10 Dec 2005, 11:21
Location: Prague, Czech Republic
Contact:

Post by Datalog »

Trochu off-topic, ale prosím, jakým programem extrahujete ty exif-ovské náhledy. Nejlépe freeware. Chvíli jsem googlil (jyxoval) ale nenalezl vhodný vyhledávací string co by mne navedl k cíli.
User avatar
jis
Posts: 451
Joined: 27 Jan 2006, 23:14
Location: Prague, Czech Republic

Post by jis »

Např. starý dobrý japonský freeware Exif Reader:
http://www.takenet.or.jp/~ryuuji/miniso ... d/english/
Altap Salamander fan since 1998
User avatar
ino
Posts: 440
Joined: 09 Dec 2005, 14:59
Location: Brno, Czech Republic

Post by ino »

Datalog wrote:Trochu off-topic, ale prosím, jakým programem extrahujete ty exif-ovské náhledy. Nejlépe freeware. Chvíli jsem googlil (jyxoval) ale nenalezl vhodný vyhledávací string co by mne navedl k cíli.
Apache+PHP konkretne zde: http://cz.php.net/manual/en/function.exif-thumbnail.php
User avatar
Datalog
Posts: 244
Joined: 10 Dec 2005, 11:21
Location: Prague, Czech Republic
Contact:

Post by Datalog »

Tisíceré díky.

ino: Ten apache+php, to mne mohlo napadnout :lol: , to je skvělý (z mého pohledu nouzový, ale skvělý) nápad.

jis: To vypadá moc pěkně, přesně to jsem chtěl. Díky
User avatar
zarevak
Plugin Developer
Plugin Developer
Posts: 789
Joined: 04 Feb 2006, 16:49
Location: Prague, Czech Republic

Chyba objevena!

Post by zarevak »

Našel jsem zdroj probému!! 8)

pokud si vypíšete obsah všech EXIF informací pomocí příkladu uvedeného na stránce: http://cz.php.net/manual/en/function.exif-read-data.php
Konkrétně:

Code: Select all

$exif = exif_read_data('DSC_6753.JPG', 0, true);
foreach ($exif as $key => $section) {
   foreach ($section as $name => $val) {
       echo "$key.$name: $val<br />\n";
   }
}
Pak zjistíte, že Váš obrázek narozdíl mého neobsahuje THUMBNAIL.Orientation: 8
(ve Vámi doporučeném Exif Readeru je tato položka u mého souboru k nalezení v části Thumbnail Information - Orientation : bottom)

Z toho vyplývá otázka: Co s takovým (chybným) souborem? Odhadnout otočení náhledu podle otočení celého obrázku? (co když fotoaparát již náhled otočil sám? (zda je to vůbec možné)) Udělat vyjímku a odhadovat otočení jen u některých (chybných) fotoaparátů?
User avatar
ino
Posts: 440
Joined: 09 Dec 2005, 14:59
Location: Brno, Czech Republic

Re: Chyba objevena!

Post by ino »

zarevak wrote:Našel jsem zdroj probému!! 8)
Bravo!
zarevak wrote: Pak zjistíte, že Váš obrázek narozdíl mého neobsahuje THUMBNAIL.Orientation: 8
(ve Vámi doporučeném Exif Readeru je tato položka u mého souboru k nalezení v části Thumbnail Information - Orientation : bottom)
Vida, to jsem vůbec netušil, že lze nastavit orientaci jak pro snímek, tak i pro náhled zvlášť.
zarevak wrote: Z toho vyplývá otázka: Co s takovým (chybným) souborem? Odhadnout otočení náhledu podle otočení celého obrázku? (co když fotoaparát již náhled otočil sám? (zda je to vůbec možné)) Udělat vyjímku a odhadovat otočení jen u některých (chybných) fotoaparátů?
Salamander tedy otáčí náhledy správně. Vždy si přečte informaci o otočení přesně té části snímku, se kterou právě pracuje náhled/celý snímek (tady je vidět preciznost s jakou je Slamander vyvíjen!).

Otázkou je, kolik typů fotoaparátu uvádí respektive neuvádí tuto hodnotu jako onen Nikon. (možná by to mohli skouknout pánové v altapu, tuším že teď mají peknou sbírku RAW snímků i s exify...)

Každopádně ráno píšu na Nikon, chtělo by to zaktualizovat firmware...
User avatar
ino
Posts: 440
Joined: 09 Dec 2005, 14:59
Location: Brno, Czech Republic

Re: Chyba objevena!

Post by ino »

ino wrote:Každopádně ráno píšu na Nikon, chtělo by to zaktualizovat firmware...
Takže na Nikon jsem napsal a čekám na odpověď.

Nicméně, nehledě k faktu zda bude moje žádost u Nikonu vyřízena kladně či nikoliv, mám tu hromadu snímků, kde v EXIFu chybí položka Orientation a tyto snímky nebudu mít nikdy natočeny :cry:

Proto si dovoluji navrhnout řešení:
- umožnit hledání direktivy Orientation v EXIFu tak, aby po nenalezení této položky v sekci Thumbnail ji zkusil hledat o úroveň výše, tedy v Main Information.
Jan Patera
Plugin Developer
Plugin Developer
Posts: 707
Joined: 08 Dec 2005, 14:33
Location: Prague, Czech Republic
Contact:

Re: Chyba objevena!

Post by Jan Patera »

zarevak wrote:Pak zjistíte, že Váš obrázek narozdíl mého neobsahuje THUMBNAIL.Orientation: 8
(ve Vámi doporučeném Exif Readeru je tato položka u mého souboru k nalezení v části Thumbnail Information - Orientation : bottom)
Z toho vyplývá otázka: Co s takovým (chybným) souborem? Odhadnout otočení náhledu podle otočení celého obrázku? (co když fotoaparát již náhled otočil sám? (zda je to vůbec možné)) Udělat vyjímku a odhadovat otočení jen u některých (chybných) fotoaparátů?
Zdravim! Situace v PictView je mene prozaicka.
1) JPEGy se ctou ruznymi zpusoby v zavislosti na tom, zda se hleda nahled nebo cte cely obrazek
2) EXIF v JPEGu se nikdy necte jako takovy, pouze se tam hrubou silou hledaji nektere zajimave sekvence bajtu. Tudiz je jedno, zda orientace patri k hlavnimu obrazku, nahledu nebo necemu jinemu. Duvodem byla hlavne rychlost.
3) EXIF data (napr. uvnitr JPEG markeru APP1) je de facto TIFF
4) NEF je TIFF + dalsi data. Soucasti TIFFu je orientace. Pri cteni TIFFu jako takoveho se orientace pri thumbnailovani vzdy pouzije
5) jeden JPEG muze obsahovat klidne 3 (i ruzne) nahledy (napr. po editaci ve Photoshopu)
6) heuristika, ktera detekuje natoceni nahledu uvnitr JPEGu vuci vlastnimu obrazku, je pri thumbnalovani pouzivana jiz nekolik let
7) Rada programu (typickou ukazkou je IrfanView) obsahuje (nejen tzv. bezeztratovou) rotaci. Kdyz ji uzivatel pouzije, tyto programy nejenze neaktualizuji EXIF info, ale ani nahled. Podobne situace nastavaji napriklad pri orezavani
8 ) Diky predchozim dvema bodum jsem uz dostal radu bug reportu, ze ukazujeme nahled vzhuru nohama, protoze fakt neumim odhadnout, zda uzivatel tocil doleva nebo doprava
9) Rada programu nerozumi EXIF infu, a pri editaci EXIF data castecne modifikuji, ale spoustu dat poskodi. Takze my diky bodu 2) dokazeme najit informace, ktere jine programy uz nedohledaji...
10) A samozrejme existuji fotaky (vesmes ty starsi nez 2-3 roky), ktere tvrdosijne ukladaji orientaci bottom-left, bez ohledu na skutecnost


Ano, chci to cele predelat. Ale bohuzel nestiham :-(
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5229
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Re: PictView: Image orientation vs náhledy

Post by Jan Rysavy »

Obdobný problém na anglické části fóra: http://forum.altap.cz/viewtopic.php?f=2&t=5277
Post Reply