C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

RGB -> YUV + Histogramm

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German)
View previous topic :: View next topic  
Author Message
Sunny
Guest





PostPosted: Wed Feb 01, 2006 6:01 pm    Post subject: RGB -> YUV + Histogramm Reply with quote



Hey,

ich habe ein Programmierproblem und ich hoffe dass ihr mir helfen
könnt.

1. Ich möchte ein Bild von RGB nach YUV umformen. Ich habe es mit
OIpenCV versucht, aber eigentlich möchte ich OpenCv umgehen.
Die Formeln sind folgende:
Y = 0,3 * R +0,6*G+0,1*B
U = B-Y
V=R-Y

Wie schreibe ich das am besten im Code, wenn ich mein Image i
reinbekomme. und das darauf anwenden will?

2. Anschließend möchte ich aus den YUV Werten 2 Histogramme machen.
Eins für Y und eines für U. Diese sollen gespeichert werden und bei
Bedarf aufgerufen werden können.

Hoffentlich habt ihr ne Idee:

Vielen Dank
E

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Steffen Christgau
Guest





PostPosted: Wed Feb 01, 2006 7:01 pm    Post subject: Re: RGB -> YUV + Histogramm Reply with quote



Sunny schrieb:
Quote:
[Farbraumprobleme]

Hoffentlich habt ihr ne Idee:

Vielen Dank

Auf http://www.efg2.com/Lab/ finden sich viele Informationen zum Thema
Bildverarbeitung oder zum Thema Farben. Da wirst du sicherlich was finden.

Ciao... Steffen

P.S.: Du solltest deinen real name angeben.

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Michael Hofmann
Guest





PostPosted: Thu Feb 02, 2006 4:22 am    Post subject: Re: RGB -> YUV + Histogramm Reply with quote



Sunny wrote:
Quote:
1. Ich möchte ein Bild von RGB nach YUV umformen. Ich habe es mit
OIpenCV versucht, aber eigentlich möchte ich OpenCv umgehen.
Die Formeln sind folgende:
Y = 0,3 * R +0,6*G+0,1*B
U = B-Y
V=R-Y

Wie schreibe ich das am besten im Code, wenn ich mein Image i
reinbekomme. und das darauf anwenden will?

Zunaechst stellt sich die Frage, wie Deine Bilddaten ueberhaupt im
Speicher vorliegen.
Wenn ich mal vermuten darf, dass Du drei 8-bit Kanaele hast - einen fuer
Rot, einen fuer Gruen und einen fuer Blau - dann machst Du fuer jeden
Bildpunkt genau das, was Du oben schon geschrieben hast und speicherst
das jeweilige Ergebnis in den Ausgabekanal.

Das ganze ist eine punktweise Operation, also z.B. mit je einem Iterator
(oder gar Zeiger) pro Kanal auf Ein- und Ausgabe recht einfach zu erledigen.
Casts in entsprechendes Fliesskommaformat und Rueckrundung zwecks
Quantisierung noch beachten.

Quote:
2. Anschließend möchte ich aus den YUV Werten 2 Histogramme machen.
Eins für Y und eines für U. Diese sollen gespeichert werden und bei
Bedarf aufgerufen werden können.

Du erstellst fuer je einen Kanal eine feste Anzahl N von "Bins" (bspw.:
std::vector<AccType> bin( N, 0 )), iterierst wiederum punktweise durch
die Pixel und inkrementierst fuer den jeweiligen Datenwert den
Akkumulator des entsprechenden Bin. Im Anschluss kannst Du noch
entsprechend normalisieren oder auch nicht.

Gruss,

Michael

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.