Forum » Programiranje » Črna 255 255 255 = 1
Črna 255 255 255 = 1
Natalija1 ::
Saj ne vem če sodi tema sem, vendar bom poskusila. Ali obstaja program, v katerega bi lahko vnesla svoja imena barv in ki bi izpisal podatek, koliko pikslov neke barve ima nek image. Recimo, da bi izdelala image kocke v 100 barvah. Barve bi imenovala od 1-100. Nagradno vprašanje pa je: Koliko je na sliki pikslov posameznih barv?
Barve MORAJO biti imenovane od 1-100.
Barve MORAJO biti imenovane od 1-100.
rasta ::
Kar želiš, če prav razumem je histogram slike.
To zna narediti vsak bolj napreden program za obdelavo slik, polno tovrstnih funkcij pa imajo tudi splošno namenska orodja za preračunavanje in obdelovanje podatkov, kot je npr. (I)Python in Octave. Išči za funkcijo "hist".
To zna narediti vsak bolj napreden program za obdelavo slik, polno tovrstnih funkcij pa imajo tudi splošno namenska orodja za preračunavanje in obdelovanje podatkov, kot je npr. (I)Python in Octave. Išči za funkcijo "hist".
Natalija1 ::
Z Photoshopom delam že nekaj let, vendar ne poznam funkcije, ki bi mi omogočala prikaz pikslov z drugimi imeni, kot jih ponuja barvni model RGB, oziroma modeli, ki so že pripravljeni v Photoshopu. Imam tudi program, ki mi šteje piksle in mi pove koliko pikslov, recimo črne barve je na sliki. Vendar mi program pove, da je 0,0,0 = 328, jaz pa potrebujem rezultat, da je barve z imenom 1 (črna)= 328.
Z namenskimi orodji za preračunavanje in obdelovanje podatkov pa se še nisem srečala.
Z namenskimi orodji za preračunavanje in obdelovanje podatkov pa se še nisem srečala.
prtenjam ::
... Vendar mi program pove, da je 0,0,0 = 328, jaz pa potrebujem rezultat, da je
barve z imenom 1 (črna)= 328...
No, če je temu tako, potem pa imate rešitev tako ali tako na dlani. Vi pravite, da znate dobiti takšen izpis:
0,0,0 = 238 255,0,0 = 100 0,255,0 = 2134 ... itd
No vse kaj je potrebno storiti sedaj je predelati izpis preko skripte v takšenle izpis:
1 (črna) = 238 2 (rdeča) = 100 3 (zelena) = 2134 ... itd
Ne vrjemem, da bi za to obstajal namenski program - je potrebno ročno napisati skripto oz. makro oz. program, kar pač kdo zna.
Matjaž Prtenjak
https://mnet.si
https://mnet.si
whatever ::
What he said. Kot drugo, pa je 100 različnih barvnih odtenkov kar težko razločiti med sabo, kot tudi jih smiselno (enakomerno) izbrati glede na celoten barvni spekter. No, slednje sicer ni problem, če hočeš enakomerno razporeditev, ampak ne vemo kaj hočeš naredit.
Zgodovina sprememb…
- spremenilo: whatever ()
rasta ::
Ne poznam ravno PhotoShopa, ampak če RGB-paleto pretvoriš v indeksirano paleto s 100 barvami, ti zriše histogram za teh 100 barv?!
Natalija1 ::
Kot rečeno, imam program,ki mi natančno pove, koliko pikslov določene RGB barve je na sliki.
Primer:
D2A37A : 82
E7C0A1 : 16
EFCBB3 : 3
0E0703 : 62
060000 : 14
160E03 : 4
857F6C : 72
F1E7DB : 18
FEF3EA : 32
FDF5ED : 94
V tem primeru bi morala RGB nazive barv preimenovati v nazive od 1-9. Če prav razumem, bi za to verjetno potrebovala nek program, v katerega bi vnesla sliko in pripadajoče RGB nazive barv, program pa bi mi skonvertiral, recimo FDF5ED = 94 pikslov v 9 = 94 pikslov.
Primer:
D2A37A : 82
E7C0A1 : 16
EFCBB3 : 3
0E0703 : 62
060000 : 14
160E03 : 4
857F6C : 72
F1E7DB : 18
FEF3EA : 32
FDF5ED : 94
V tem primeru bi morala RGB nazive barv preimenovati v nazive od 1-9. Če prav razumem, bi za to verjetno potrebovala nek program, v katerega bi vnesla sliko in pripadajoče RGB nazive barv, program pa bi mi skonvertiral, recimo FDF5ED = 94 pikslov v 9 = 94 pikslov.
Natalija1 ::
Rasta, drži, vendar mislim, da mi še vedno ne bo pokazalo rezultata z mojimi nazivi barv. Bom preverila, ali lahko določim, da mi na histogramu prikaže mojo paleto!
Natalija1 ::
rasta ::
Še vedno ne razumem cilja naloge.
RGB paleta ima zalogo vrednosti 124 = 16 777 216.
Torej moraš najprej grupirati vse te odtenke v svojih 100 barv. Nato pa izrišeš histogram.
Problem je lahko še končna oblika izpisa, kar je trivialno opravilo (s pomočjo regularnih izrazov).
Torej, kje se zalomi?
RGB paleta ima zalogo vrednosti 124 = 16 777 216.
Torej moraš najprej grupirati vse te odtenke v svojih 100 barv. Nato pa izrišeš histogram.
Problem je lahko še končna oblika izpisa, kar je trivialno opravilo (s pomočjo regularnih izrazov).
Torej, kje se zalomi?
Natalija1 ::
Še vedno ne razumem cilja naloge.
RGB paleta ima zalogo vrednosti 124 = 16 777 216.
Torej moraš najprej grupirati vse te odtenke v svojih 100 barv. Nato pa izrišeš histogram.
Problem je lahko še končna oblika izpisa, kar je trivialno opravilo (s pomočjo regularnih izrazov).
Torej, kje se zalomi?
Poskusila bom pojasniti:
Imam različne BMP slike.
Vsako sliko sestavljajo različne palete različnih-stotih barv (100 izmed 16 777 216).
Imenovala sem jih od 1-100.
Če imam deset slik, imam torej tudi deset različnih palet z različnimi kompleti 100-tih barv.
Naloga:
1.Kako naj dosežem, da mi bo računalnik povedal, da ima slika v 100 barvah ,ki je sestavljena npr.iz 50000 bitov,2543 bitov ene barve in 314 bitov druge barve ter tako dalje za vseh 100 barv.
Rezultat se mora pokazati, npr. kot 2543 bitov barve "1", ne pa kot 2543 bitov 0,0,0 - črna po RGB paleti.
Bojim se, da bo resnično potrebno napraviti nek ustrezen program, ki bo omogočal konverzijo nazivov barv (iz RGB palete v "mojo" paleto).
Po meni dostopni tehnologiji, bi morala vsak posamezen bit, ki ima ime barve po RGB paleti, recimo 0,0,0 - črna, peš preimenovati v "1". In tako vseh 50000 bitov v 100 barvah. To je zelo zamudno delo.
rasta ::
Torej je naloga enostavna.
Najprej rabiš izračunati histogram, nato pa preimenovati imna barv.
Če sem prav prebral, že imaš program, ki ti izračuna histogram (če ne pa to narediš s funkcijo hist() v Octave) in ti ga izpiše v naslednji obliki:
D2A37A : 82
E7C0A1 : 16
EFCBB3 : 3
0E0703 : 62
060000 : 14
Kar pa ti želiš je pa preimenovanje "D2A37A" -> "1", "E7C0A1" -> "2" itd.
Slednje lahko enostavno narediš s skripto.
V ukazi lupini bash gre takole (Linux in podobni OS):
#!/bin/sh
sed -i 's/D2A37A :/1 :/g' $1
sed -i 's/E/C0A1 :/2 :/g' $1
...
Kako gre pa to v Windows ukazni lupini pa ne vem.
Najprej rabiš izračunati histogram, nato pa preimenovati imna barv.
Če sem prav prebral, že imaš program, ki ti izračuna histogram (če ne pa to narediš s funkcijo hist() v Octave) in ti ga izpiše v naslednji obliki:
D2A37A : 82
E7C0A1 : 16
EFCBB3 : 3
0E0703 : 62
060000 : 14
Kar pa ti želiš je pa preimenovanje "D2A37A" -> "1", "E7C0A1" -> "2" itd.
Slednje lahko enostavno narediš s skripto.
V ukazi lupini bash gre takole (Linux in podobni OS):
#!/bin/sh
sed -i 's/D2A37A :/1 :/g' $1
sed -i 's/E/C0A1 :/2 :/g' $1
...
Kako gre pa to v Windows ukazni lupini pa ne vem.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Grafen obljublja tudi zasloneOddelek: Novice / Znanost in tehnologija | 17960 (13962) | Mcsin |
» | 256 GB na A4 listu (strani: 1 2 )Oddelek: Novice / Diski | 10312 (7123) | ender |
» | Grafična priprava za tiskOddelek: Pomoč in nasveti | 4398 (3971) | Matev |
» | Samsung predstavil CX930B - skoraj barvni monitorOddelek: Novice / Zasloni / projektorji / ... | 5447 (4007) | Dr_M |
» | Kako naredim fluorescento oranžno barvo v photoshopu???Oddelek: Pomoč in nasveti | 1606 (1177) | pjongwing |