Diskuze: Obrázek grayscale detekce

Java Java Obrázek grayscale detekce

Avatar
martinsakra
Redaktor
Avatar
martinsakra:

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):

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

Nahoru Odpovědět  +2 4.3.2014 22:54
:)
Avatar
Odpovídá na martinsakra
Luboš Běhounek (Satik):

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
:)
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
Jiří Gracík:

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
Creating websites is awesome till you see the result in another browser ...
Avatar
1Pupik1989
Člen
Avatar
1Pupik1989:

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 Jiří Gracík
Luboš Běhounek (Satik):

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
:)
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
Jiří Gracík:

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

Nahoru Odpovědět 4.3.2014 23:25
Creating websites is awesome till you see the result in another browser ...
Avatar
Odpovídá na Jiří Gracík
Luboš Běhounek (Satik):

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

Nahoru Odpovědět 5.3.2014 0:00
:)
Avatar
1Pupik1989
Člen
Avatar
1Pupik1989:

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:

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.