IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Obrázek grayscale detekce

Aktivity
Avatar
martinsakra
Tvůrce
Avatar
martinsakra:4.3.2014 22:30

Zdravim mám otázku, jde nějak rozumně zjistit (v jave) z obrázku zda se pohybuje jenom od černé do bílé (grayscale) nebo je barvená?
A nějak jinak než pixel o pixel procházek a kontrolovat?

mě napadlo se podívat třeba na bitovou hloubku, ale ani 8bit nezaručuje nic stejně tak někdo muže vzít a uložit černobílou jako 32bit na pixel.

Mám totiž na vstupu obrázek a podle toho jestli je barevný nebo ne, z něj beru data. A poslední možnost je prostě nechat na uživateli aby mi řekl, a nechat program věřit. Což se mi moc nechce.

Odpovědět
4.3.2014 22:30
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Avatar
Odpovídá na martinsakra
Luboš Běhounek Satik:4.3.2014 22:54

nemusíš kontrolovat každý pixel, teoreticky stačí pár náhodných :)

Nahoru Odpovědět
4.3.2014 22:54
https://www.facebook.com/peasantsandcastles/
Avatar
Odpovídá na martinsakra
Luboš Běhounek Satik:4.3.2014 22:58

Pokud bys to chtěl mít 100%ní, tak bys musel zkontrolovat všechny pixely.
A pozor na ztrátové komprese, třeba JPG - pixel nemusí po kompresi zůstat přesně šedý.

Nahoru Odpovědět
4.3.2014 22:58
https://www.facebook.com/peasantsandcastles/
Avatar
Odpovídá na Luboš Běhounek Satik
Neaktivní uživatel:4.3.2014 23:01

Ale i při kompresi by stále měly všechny složky(RGB) mít stejnou hodnotu, ne?

Nahoru Odpovědět
4.3.2014 23:01
Neaktivní uživatelský účet
Avatar
1Pupik1989
Člen
Avatar
1Pupik1989:4.3.2014 23:09

Můžeš číst hlavičky souborů, ale už to bude celkem složité. Java na to má nějakou fíčurinu, ale nevzpomenu si jak se jmenuje. Na googlu pod "image header java" určitě něco najdeš.

 
Nahoru Odpovědět
4.3.2014 23:09
Avatar
Odpovídá na Neaktivní uživatel
Luboš Běhounek Satik:4.3.2014 23:13

Nemusejí.
RGB se v JPG převádí na jiný barevný formát a každý barevný kanál se transformuje jinak.

Nahoru Odpovědět
4.3.2014 23:13
https://www.facebook.com/peasantsandcastles/
Avatar
Odpovídá na Luboš Běhounek Satik
Neaktivní uživatel:4.3.2014 23:25

Zajímavý. V tom případě komprimované černobílé obrázky nejsou černobílé?

Nahoru Odpovědět
4.3.2014 23:25
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Luboš Běhounek Satik:5.3.2014 0:00

Tak to vypada, ze ciste cernobila v JPG asi cernobilou zustane, takze asi jsou :) .

Nahoru Odpovědět
5.3.2014 0:00
https://www.facebook.com/peasantsandcastles/
Avatar
1Pupik1989
Člen
Avatar
1Pupik1989:5.3.2014 0:56

http://www.fastgraph.com/…_format.html

Tím bych se asi řídil u JPEGu. U PNG je to v chunku IHDR. Většina forámtů se dá identifikovat podle 2 - 8 prvních bajtů.

Pokud si nemáš chuť psát parsery, tak můžeš zkusit https://code.google.com/…ttingStarted

To by mělo zvládnout většinu formátů.

Editováno 5.3.2014 0:59
 
Nahoru Odpovědět
5.3.2014 0:56
Avatar
1Pupik1989
Člen
Avatar
1Pupik1989:5.3.2014 4:05

Nebo další možnost je napsaná na stackoverflow, což bude asi jednodušší.

http://stackoverflow.com/…m-byte-array

 
Nahoru Odpovědět
5.3.2014 4:05
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.