Histogram Image – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Histogram Image – .NET – Fórum – Programujte.comHistogram Image – .NET – Fórum – Programujte.com

 

Mutagen
~ Anonymní uživatel
549 příspěvků
15. 2. 2012   #1
-
0
-

Zdravim.

Mám takovou otázku jak mohu dostat z obrazku histogram. Ale textovy histogram, protoze sem nasel jeden navod, ale je pro python a tam je prave postup pres textovy histogram. Jde o to, že bych chtěl načíst nějaký obrázek, udělat histogram, změnit třeba červenou na modrou, a zase uložit jako obrázek. Sice sem něco našel, ale ne to co bych potřeboval. Vždycky to je přes náky grafy či co...

Děkuji za odpověd.

Mutagen

Nahlásit jako SPAM
IP: 82.202.104.–
liborb
~ Redaktor
+18
Guru
16. 2. 2012   #2
-
0
-

Histogram je jednoduše řečeno taková statistika obrázku (počet zastoupení jednotlivých barev). Na základě histogramu se dá zjistit ledacos, ale pro úpravy je potřeba udělat transformační funkci, kterou se prožene původní obrázek (aplikuje se na jednotlivé pixely). Možná zkus upřesni, co bys přesně chtěl dosáhnout (ukázka?).

Nahlásit jako SPAM
IP: 78.80.52.–
Mutagen0
Super člen
16. 2. 2012   #3
-
0
-

Ja sem prave nasel neco je to ale v pythonu napsany ale to mi moc nepomuze ale princip by mel prave byt stejny pokud by to tak slo.

from PIL import Image

im = Image.open("captcha.gif")
im = im.convert("P")

print im.histogram()

a output by mel vyjit takhle

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0
, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 2, 0, 1, 0, 0, 1,
0, 2, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 3, 1, 3, 3, 0,
 0, 0, 0, 0, 0, 1, 0, 3, 2, 132, 1, 1, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 15, 0
, 1, 0, 1, 0, 0, 8, 1, 0, 0, 0, 0, 1, 6, 0, 2, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 2,
 365, 115, 0, 1, 0, 0, 0, 135, 186, 0, 0, 1, 0, 0, 0, 116, 3, 0, 0, 0, 0, 0, 21,
 1, 1, 0, 0, 0, 2, 10, 2, 0, 0, 0, 0, 2, 10, 0, 0, 0, 0, 1, 0, 625]

Jde mi o to aby se to takhle vypsalo a abych mohl zmenit treba 0 na 5 ... a pak zase zpet slozit.

Proste potreboval bych neco co mi dokaze rozkouskovat obrazek a zmenit treba cernou na bilou apod.

A prave ze pres tohle si myslim ze to jde, protoze to na ty strance je to rozepsany jak by to melo fungovat ale je to rpo python a v C# nevim jak udelat tento histogram nebo jak vymenit nebo znicit barvy v obrazku co bych tam nechtel.

Nahlásit jako SPAM
IP: 89.190.90.–
liborb
~ Redaktor
+18
Guru
16. 2. 2012   #4
-
0
-

Když máš obrázek 10x10 pixelů, tj. celkem 100 pixelů, tak součet hodnot v histogramu musí být také 100. Když někde ubereš, tak někde musíš přidat, a tohle dělá právě ta transformační funkce. Čistě hypoteticky, máš takový obrázek 10x10. Všechny pixely jsou černé, tak máš histogram [100, 0, ..............., 0]. Ubereš 1 a dáš ho do do bílé [99, 0, ......................, 1]. No a teď který z těch 99 pixelů se má změnit? Jestli chceš jít cestou "všechny pixely s barvou X změň na barvu Y" a ten histogram ti má sloužit jenom k výběru té barvy, tak to si to dokážu představit, ale budete nějaké programátorské sádlo stát :).

Nahlásit jako SPAM
IP: 78.80.52.–
Mutagen0
Super člen
16. 2. 2012   #5
-
0
-

A nevis aspon jak bych mohl zacit ? Tim myslim jak ziskat tyhle informace, pohral bych si s tim a pokud bych si nevedel rady tak bych se zase na neco zeptal.

Nahlásit jako SPAM
IP: 89.190.90.–
liborb
~ Redaktor
+18
Guru
16. 2. 2012   #6
-
0
-

Jak jsem psal, histogram je statistika obrázku. Když vezmeš ten výsledek, co dostaneš po volání histogram() a pak v tom poli jednu jeho buňku vynuluješ (třeba černou) a přesuneš je všechny jinam (třeba do bílé), tak to vlastně znamená, že chceš, aby se při následném procházení (tím myslím tvůj program) obrázku pixel po pixelu, když narazí na černou, tak aby se změnila na bílou.

Možná na to v Pythonu existuje nějaká funkce, ale samozřejmě je to možné udělat "ručně" viz můj předchozí popis.

Nahlásit jako SPAM
IP: 78.80.52.–
Mutagen0
Super člen
16. 2. 2012   #7
-
0
-

No práve v C# jsem nenašel žádnou funkci, která by mě ten histogram udělala :(

Nahlásit jako SPAM
IP: 89.190.90.–
liborb
~ Redaktor
+18
Guru
16. 2. 2012   #8
-
0
-

Je to jenom četnost barev, nehledej v tom žádnou složitost (příklad).

Nahlásit jako SPAM
IP: 78.80.52.–
Mutagen0
Super člen
16. 2. 2012   #9
-
0
-

Jo tak ... jenom by me zajimalo jak muzu prevyst Bitmapu ci Image do double[,] protoze ten kod co jsi sem postnul to pouziva bitmapu nahranou v double[,] coz ja nevim jak to tam nacist ... Kdyz pouziju neco jako

double[,] BitmapArray = new double[Image.FromFile("img.png").Width, Image.FromFile("img.png").Height];

tak se mi tam nahrajou jenom šířka a výška ale obrázek ne.

Nahlásit jako SPAM
IP: 89.190.90.–
Dominik
~ Anonymní uživatel
129 příspěvků
17. 4. 2012   #10
-
0
-

Skus kniznicu opencv pre c#

Nahlásit jako SPAM
IP: 158.193.85.–
Dotnet67
~ Anonymní uživatel
1 příspěvek
17. 4. 2012   #11
-
0
-
Nahlásit jako SPAM
IP: 90.180.19.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 41 hostů

Podobná vlákna

Histogram — založil Srna z Brna

Histogram matlab — založil Luk

Pohyblivý image — založil stanke

Image map — založil Jockie

Image a OnMouseMove — založil xp

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý