Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 18. 06. 2023 17:58

Pomeranc
Příspěvky: 682
Pozice: student
Reputace:   10 
 

Obrázek - generování, z ČB do barevné a naopak

Ahoj,

pořád nerozumím procesu generování obrázku a jeho obarovavání nebo převod do čb.
Vím, že obrázek by se měl reprezentovat maticí. Ale moc si nedokážu představit, jak to udělat.
Když generuji obrázek, tak rovnou musím vymyslet nějakou matici, ale pak si nejsem jistá jaké maximální a
minimální prvky můžou v matici být. A obarovování a naopak jde úplně mimo mě.

Offline

 

#2 18. 06. 2023 19:34

fmfiain
Příspěvky: 704
Reputace:   -1 
 

Re: Obrázek - generování, z ČB do barevné a naopak

Dobrý deň ↑ Pomeranc:,
aký jazyk a akú knižnicu môžeš použiť?

Offline

 

#3 18. 06. 2023 20:09

Pomeranc
Příspěvky: 682
Pozice: student
Reputace:   10 
 

Re: Obrázek - generování, z ČB do barevné a naopak

↑ fmfiain:

Momentálně to programuji ve Fortranu, ale myslím si, že postup by měl být podobný i u ostatních jazyků.
S použitím knihovny se nepočítá.

Offline

 

#4 18. 06. 2023 20:17

fmfiain
Příspěvky: 704
Reputace:   -1 
 

Re: Obrázek - generování, z ČB do barevné a naopak

Dobrý deň ↑ Pomeranc:,
majme R ako červenú farbu pixela, G ako zelenú farbu pixela a B ako modrú farbu pixela a I ako intenzitu CB pixela.
Potom platí: [mathjax]I = 0,299*R + 0,587*G + 0,144*B[/mathjax]

Offline

 

#5 18. 06. 2023 20:24

Pomeranc
Příspěvky: 682
Pozice: student
Reputace:   10 
 

Re: Obrázek - generování, z ČB do barevné a naopak

↑ fmfiain:

Díky, a obráceně, když mám černobílý obrázek?

Offline

 

#6 18. 06. 2023 20:58 — Editoval check_drummer (18. 06. 2023 21:05)

check_drummer
Příspěvky: 4939
Reputace:   106 
 

Re: Obrázek - generování, z ČB do barevné a naopak

↑ Pomeranc:
Ahoj, z černobílého obrázku nelze jednoznačně zrekonstruovat jeho barevný vzor - což je vidět z toho, že to zobrazení výše, které R,G,B hodnotám přiřazuje hodnotu I, není bijekce.
Jaký je přesně tvůj úkol?


"Máte úhel beta." "No to nemám."

Offline

 

#7 18. 06. 2023 21:04

check_drummer
Příspěvky: 4939
Reputace:   106 
 

Re: Obrázek - generování, z ČB do barevné a naopak

↑ Pomeranc:
Většinou se obraz reprentuje pomocí matice pixelů (bodů) a každý pixel se skládá ze tří složek - R,G,B (červená, zelená, modrá), rozsah každé složky je bud reálné číslo mezi 0 a 1 nebo celé číslo mezi 0 a 255, to záleží nareprezentaci. Pro odstíny šedé platí, že se hodnoty složek rovnají, tj. R=G=B. A zjednodušeně řečeno, čím má složka nižší hodnotu, tím je tmavší, resp. méně zastoupená ve výsledné barvě pixelu. Tak třeba (R,G,B)=(0,0,0) je černá, (255,255,255) je bílá, (255,0,0) je sytě červená, (180,180,180) je světle šedá, apod.

Zkus si ve Windows program Malování, tam se dá otevřít nastavení barev a můžeš si tam problížet jaké RGB složky mají jednotlivé barvy.


"Máte úhel beta." "No to nemám."

Offline

 

#8 18. 06. 2023 23:47

Pomeranc
Příspěvky: 682
Pozice: student
Reputace:   10 
 

Re: Obrázek - generování, z ČB do barevné a naopak

↑ check_drummer:

Mám černobílý obrázek a mám ho nabarvit. Přesná specifikace není.
Takže teď momentálně mám matici černobílého obrázku a nevím jak pokračovat.

Offline

 

#9 19. 06. 2023 00:08

check_drummer
Příspěvky: 4939
Reputace:   106 
 

Re: Obrázek - generování, z ČB do barevné a naopak

↑ Pomeranc:
To se dá pojmout různě, když neexistuje jednoznačná rekonstrukce. Třeba se dá několika odstínům šedé přiřadit předem konkrétní barva a pak mezi nimi přecházet inetrpolací.


"Máte úhel beta." "No to nemám."

Offline

 

#10 19. 06. 2023 00:51

fmfiain
Příspěvky: 704
Reputace:   -1 
 

Re: Obrázek - generování, z ČB do barevné a naopak

Dobrý deň ↑ Pomeranc:,
hovorí ti niečo prahovanie obrazu?
Ak je intenzita CB obrázku menšia ako 255/7, tak vyfarby pixel čiernou farbou, ak je I menšia ako (255/7)*2, tak vyfarby pixel modrou farbou, ak je I menšia ako (255/7)*3, tak vyfarby pixel červenou farbou, ak je I menšia ako (255/7)*4, tak vyfarby pixel fialovú (modro-červenou) farbou, ak je I menšia ako (255/7)*5, tak vyfarby pixel azurovou (modro-zelenou) farbou, ak je i menšia ako (255/7)*6, tak vyfarby pixel žltou (zeleno-červenou) farbou a v ostatných prípadoch vyfarby pixel bielou (zeleno-cerveno-modrou) farbou.
Vtip je v tom, že sa obrázok vyfarby a nie je dôležité aké farby použiješ. Ani malé dieťa nevyfarbuje podľa reality.

Offline

 

#11 19. 06. 2023 11:47

check_drummer
Příspěvky: 4939
Reputace:   106 
 

Re: Obrázek - generování, z ČB do barevné a naopak

↑ fmfiain:
To je asi speciální případ toho co píšu - jen by asi bylo vhodné mezi těmi barvami použít nějakou interpolaci, jinak to udělá jen barevné "fleky", což by na realistické fotografii asi nebylo hezké. Pro ručně malované obrázky s málo barvami by to mohlo mít dobrý efekt.


"Máte úhel beta." "No to nemám."

Offline

 

#12 19. 06. 2023 16:59

fmfiain
Příspěvky: 704
Reputace:   -1 
 

Re: Obrázek - generování, z ČB do barevné a naopak

Dobrý deň ↑ check_drummer:,
↑ Pomeranc: písal, že má iba nafarbiť čiernobiely obrázok, bez bližšej špecifikácie. Nikde sa nepíše, že to má vyzerať realisticky.

Offline

 

#13 19. 06. 2023 20:14

check_drummer
Příspěvky: 4939
Reputace:   106 
 

Re: Obrázek - generování, z ČB do barevné a naopak

↑ fmfiain:
V tom případě bych každý pixel obarvil červeně - (255,0,0).


"Máte úhel beta." "No to nemám."

Offline

 

#14 19. 06. 2023 22:35

MichalAld
Moderátor
Příspěvky: 5071
Reputace:   126 
 

Re: Obrázek - generování, z ČB do barevné a naopak

Můžeš na to pohlížet taky takto:

Barvu (třeba jednoho pixelu) můžeme reprezentovat jako RGB (tj čísla určující intenzitu 3 zvolených barev - červené, zelené a modré). Ale stejně tak dobře můžeme použít i jiné reprezentace, a taková užitečná je třeba HSV (Huge - odstín barvy, Saturation - sytost, Value - jas).

No a převod z barevného do černo-bílého obrázku je v reprezentaci HSV jednoduchý, prostě složky H a S zahodíme, a necháme jen to V. To slovo "zahodíme" znamená, že je nahradíme nějakou konstatní hodnotou. Zpravidla takovou, aby z toho vyšel šedý obrázek, ale není to obecně nutné.

Ale opačný převod, z mono do color je trochu problém. Protože jsme něco zahodili, a to už nemáme jak získat zpátky. Můžeme namísto šedé obrázek udělat v nějakém jiném odstínu (tj změníme hodnoty H a S), ale to není úplně to co potřebujeme. Protože původní H a S nebyly konstantní.

Na obarvení monochromatického obrázku není žádný jednoduchý postup. Musíme prostě poznat, co na tom obrázku je, a dát tomu barvy, jaké od toho očekáváme - slunce aby bylo žluté, nebe modré, kytky zelené, silnice černé...

Nějakým způsobem tohle dokáží až metody umělé inteligence, které po natrénování na mnoha reálných snímcích se v tom novém pokouší nalézt známé vzory a dávat jim odpovídající barvu. Ale né vždycky je z toho to, co bychom si přáli.

Ale žádný jednoduchý postup na tohle neexistuje.

Offline

 

#15 20. 06. 2023 23:55

Pomeranc
Příspěvky: 682
Pozice: student
Reputace:   10 
 

Re: Obrázek - generování, z ČB do barevné a naopak

↑ MichalAld:


Dobře :) .

Offline

 

#16 21. 06. 2023 00:15 — Editoval Pomeranc (22. 06. 2023 19:17)

Pomeranc
Příspěvky: 682
Pozice: student
Reputace:   10 
 

Re: Obrázek - generování, z ČB do barevné a naopak

↑ check_drummer:, ↑ fmfiain:

to je určitě zajímavý nápad.
Místo jedné matice mám tři matice. Nicméně pak nevím, jak z těch matic udělat obrázek do souboru.
Mým úkolem je to navíc vypsat do binárního souboru, ale v binárních souborech se vůbec nevyznám, pracovala jsem zatím jen s textovými soubory.

Offline

 

#17 21. 06. 2023 01:08

check_drummer
Příspěvky: 4939
Reputace:   106 
 

Re: Obrázek - generování, z ČB do barevné a naopak

↑ Pomeranc:
A proč 2bitový soubor? Nemáš náhodou ten obrázek převést do tvaru, kdy bod je buď černý nebo bílý?
Uložit se to pak dá různými způsoby, ty máš použít nějaký konkrétní grafický formát?


"Máte úhel beta." "No to nemám."

Offline

 

#18 21. 06. 2023 08:20

MichalAld
Moderátor
Příspěvky: 5071
Reputace:   126 
 

Re: Obrázek - generování, z ČB do barevné a naopak

Pravda je, že by bylo pro začátek možná nejlepší pochopit, co máš vlastně dělat.

Offline

 

#19 21. 06. 2023 09:27

Stýv
Vrchní cenzor
Příspěvky: 5696
Reputace:   215 
Web
 

Re: Obrázek - generování, z ČB do barevné a naopak

MichalAld napsal(a):

Pravda je, že by bylo pro začátek možná nejlepší pochopit, co máš vlastně dělat.

To ti doslo brzo. :-D

Offline

 

#20 21. 06. 2023 22:43 — Editoval Pomeranc (22. 06. 2023 17:37)

Pomeranc
Příspěvky: 682
Pozice: student
Reputace:   10 
 

Re: Obrázek - generování, z ČB do barevné a naopak

↑ check_drummer:

V podstatě netuším proč tam je ten dvoubitový soubor (zadání je prostě zadání).
Nicméně to co mám nejspíš dělat je vygenerovat čb obrázek, obarvit ho a uložit do binárního souboru.

Offline

 

#21 22. 06. 2023 10:56

Aleš13
Příspěvky: 357
Reputace:   
 

Re: Obrázek - generování, z ČB do barevné a naopak

Co je to dvoubitový soubor?

Offline

 

#22 22. 06. 2023 17:38

Pomeranc
Příspěvky: 682
Pozice: student
Reputace:   10 
 

Re: Obrázek - generování, z ČB do barevné a naopak

↑ Aleš13:

Nic, jenom jsem se upsala :) .

Offline

 

#23 22. 06. 2023 21:28

check_drummer
Příspěvky: 4939
Reputace:   106 
 

Re: Obrázek - generování, z ČB do barevné a naopak

↑ Pomeranc:
Zeptal bych se zadavatele na detailnější zadání - jestli záleží na tom jakými barvami bude obarven, apod. Třeba se binární soubor myslí, že tam budou jen barvy bílá a černá. A to uložení do souboru je taky nejasné - má to být nějaký tvůj vlastní formát? Máš umět to z toho souboru i načíst a zobrazit?


"Máte úhel beta." "No to nemám."

Offline

 

#24 18. 07. 2023 14:21

fmfiain
Příspěvky: 704
Reputace:   -1 
 

Re: Obrázek - generování, z ČB do barevné a naopak

Dobrý deň ↑ Pomeranc:,
nechcem vyzvedať, ale ako si to nakoniec vyriešila? Ja sa o túto tému osobne zaujímam.

Ďakujem za odpoveď.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson