Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Farbraumkonvertierung RGB-YUV

Frage Entwicklung C und C++

Mitglied: Bierkistenschlepper

Bierkistenschlepper (Level 2) - Jetzt verbinden

22.01.2010 um 12:07 Uhr, 4440 Aufrufe

Hallo,

leider klappt bei mir die Farbraumkonvertierung von RGB nach YUV in der Sprache C nicht. Ich bin jetzt schon ewig am probieren und obwohl es in der englischen Wikipedia sehr genau beschrieben ist, hat das Bild nachher einen Farbstich...
http://en.wikipedia.org/wiki/YUV
Aktuell habe ich das Verfahren aus numerical approximation implementiert. Hier mein Code:

int i, j;
int rgb[3];
int yuv[3] = {0, 0, 0};
for(i = 0; i < B.dimx; i++){
for(j = 0; j < B.dimy; j++){
rgb[0] = B.val[0][i*B.dimx+j];
rgb[1] = B.val[1][i*B.dimx+j];
rgb[2] = B.val[2][i*B.dimx+j];

//YUV->RGB-Transformation wie in der englischen Wikipedia
yuv[0] = 66*rgb[0] + 129*rgb[1] + 25*rgb[2];
yuv[1] = -38*rgb[0] -74*rgb[1] + 112*rgb[2];
yuv[2] = 112*rgb[0] - 94*rgb[1] - 18*rgb[2];
yuv[0] = yuv[0] + 128 >> 8;
yuv[1] = yuv[1] + 128 >> 8;
yuv[2] = yuv[2] + 128 >> 8;
B.val[0][i*B.dimx+j] = yuv[0]+16;
B.val[1][i*B.dimx+j] = yuv[1]+128;
B.val[2][i*B.dimx+j] = yuv[2]+128;
printf("YUV-Werte %d %d %d \n", B.val[0][i*B.dimx+j], B.val[1][i*B.dimx+j], B.val[2][i*B.dimx+j]);


}
}

Vor der Transformation (das ist ein Testbild)
P3
4 4
255
255 255 255 10 1 1 200 2 4 3 3 10
98 5 0 1 1 1 2 2 2 3 3 10
0 235 0 10 1 132 2 2 2 3 128 10
0 5 0 1 1 1 2 2 2 3 3 10

Nach der Transformation
P3
4 4
255
235 128 128 19 127 132 69 99 214 19 131 128
44 112 169 17 128 128 18 128 128 19 131 128
134 60 42 32 184 123 18 128 128 82 95 82
19 127 126 17 128 128 18 128 128 19 131 128

Also eigentlich ists genau das gleiche wie in der Wikipedia, aber das Bild hat einen Grün/Blaustich und die Farben sind total verkehrt. Auf den ersten Blick fällt mir aber auf, dass es keine negativen Werte gibt. Laut meiner Dozentin sollten U und V aber im Bereich -[128, 127] liegen... Ich habe es auch schon mit dieser Matrixmultiplikation versucht, aber dann scheitere ich an dem "verschieben" der Zahlen, d.h. manche Zahlen sind zu groß.
Ähnliche Inhalte
Grafikkarten & Monitore
Wie schliesst man ein RGB Kabel an und wo gibt es sowas noch?
Frage von winIT3264Grafikkarten & Monitore20 Kommentare

Hallo Gemeinde, ich habe hier ein Laptop von 1989 mit defektem Bildschirm. Hinten hat das Gerät einen 9-poligen RGB ...

CPU, RAM, Mainboards
Corsair RGB LED Lüfter laut
Frage von uridium69CPU, RAM, Mainboards2 Kommentare

Ich habe heute 3 Stück 120mm RGB LED Lüfter in ein NZXT Elite 340 Gehäuse eingebaut. Die Lüfter sind ...

PHP
PHP RGB dynamische Hintergrundfarbe errechnen
gelöst Frage von MidivirusPHP5 Kommentare

Guten Morgen Gemeinde, ich gebe euch mal meinen bisherigen Code vorweg: Nachdem ich auf einer anderen Webseite ein Codeschnipsel ...

Visual Studio
In VB.net Bilder verändern (Auflösung, RGB, CYMK...)
Frage von ahstaxVisual Studio2 Kommentare

Hallo, ich möchte Bilddateien (JPG, TIF, BMP) verändern. Die Veränderungen können betreffen Farbraum (zu RGB24bit) Auflösung (zu 300x300dpi) Kantenlänge ...

Neue Wissensbeiträge
Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 10 StundenInternet2 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 14 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 14 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 17 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Windows Server
Anmeldung direkt am DC nicht möglich
Frage von ThomasGrWindows Server16 Kommentare

Hallo, ich habe bei unserem Server 2016 Standard ein Problem. Keine Ahnung wie das auf einmal passiert ist. Ich ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte14 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...