RGB-zu-YUV-Konverter
Zerlegen Sie eine RGB-Farbe in Helligkeit und zwei Farbdifferenzen: Orange mit 255, 128, 0 ergibt Y 0.5936509804, U −0.2921263922 und V 0.3564952157 mit BT.601-Gewichten. Praktisch, um Rechnungen aus Video und Bildverarbeitung zu prüfen. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Widerstand (Ω)
- 255
- G
- 128
- B
- 0
- Y
- 0,5936509804
- U
- -0,2921263922
- Spannung (V)
- 0,3564952157
- Normalform
- BT.601
Dieser RGB-zu-YUV-Konverter wandelt ganzzahlige Rot-, Grün- und Blaukanäle mit festen BT.601-Gewichten in analoge Y′UV-Luminanz und -Chrominanz um. Geben Sie jeden Kanal zwischen 0 und 255 ein; Sie erhalten normierte Y-, U- und V-Werte mit stabiler Rundung. Die Berechnung ist lokal und deterministisch, ohne Netzwerk, Zufall, Uhr oder stillschweigende Korrektur.
Das analoge YUV-Ergebnis verstehen
RGB beschreibt eine Farbe durch die Stärke ihrer roten, grünen und blauen Kanäle. Analoges Y′UV ordnet dieselben Signale in eine luminanzähnliche Komponente und zwei Farbdifferenzen um. Das Feld y gewichtet Grün am stärksten, danach Rot und Blau, entsprechend den BT.601-Koeffizienten 0.299, 0.587 und 0.114.
Die Felder u und v tragen die Chrominanz: U beschreibt vor allem die Blaudifferenz, V die Rotdifferenz. Vor Anwendung der Matrix wird jede Ganzzahl durch 255 geteilt, sodass R, G und B zwischen null und eins liegen. Y bleibt zwischen null und eins; U liegt ungefähr zwischen -0.436 und 0.436, V zwischen -0.615 und 0.615.
Neutrale Grautöne ergeben nahezu keine Chrominanz. Die Antwort wiederholt die geprüften Kanäle, liefert gerundete Komponenten und nennt Standard sowie Wertebereich. Es handelt sich ausdrücklich um normiertes analoges Y′UV, nicht um digitales YCbCr mit Verschiebungen wie 16 und 128.
Dieser Unterschied ist beim Vergleich mit Codecs, Bildbibliotheken oder Sendetabellen wichtig, die YCbCr-Werte häufig ungenau als YUV bezeichnen.
Prüfung und reproduzierbare Berechnung
Geben Sie r, g und b als ganze Zahlen von 0 bis einschließlich 255 an. Numerische Zeichenketten mit optionalem Vorzeichen werden nach dem Entfernen äußerer Leerzeichen gelesen; Brüche, wissenschaftliche Schreibweise, leere Werte, Boolesche Werte, Arrays, Objekte, Infinity und NaN werden abgelehnt. Jede Zahl muss ganzzahlig und im Bereich sein. 256 und -1 werden nicht abgeschnitten, denn das könnte beschädigte Pixel, falsche Skalierung oder unpassende Schemata verbergen.
Nach der Prüfung wird jeder Kanal durch 255 geteilt. Y nutzt 0.299R + 0.587G + 0.114B, U nutzt -0.14713R - 0.28886G + 0.436B und V nutzt 0.615R - 0.51499G - 0.10001B. Ergebnisse werden auf zehn Dezimalstellen gerundet; negatives Null wird zu Null.
Netzwerk, gespeicherter Zustand, Zufall, Regionseinstellung und Datum spielen keine Rolle.
Richtiger Einsatz in Medienabläufen
Der Konverter eignet sich zum Lernen von Fernsehfarbmodellen, Prüfen grafischer Formeln, Trennen von Helligkeit und Farbdifferenzen sowie Erstellen reproduzierbarer Beispiele zur Signalverarbeitung. Medienschaffende sehen, wie Primärfarben Energie auf Y, U und V verteilen, bevor Unterabtastung behandelt wird. Bewahren Sie die Konvention beim Wert auf: Die Ausgabe nutzt normierte nichtlineare RGB-Signale und eine Y′UV-Matrix nach BT.601-Art.
Sie fügt keine digitalen Offsets hinzu, quantisiert keine begrenzten Videocodes, tastet Chrominanz nicht unter, linearisiert sRGB nicht, wandelt keine Primärfarben und codiert kein Video. Viele Programme nennen YCbCr „YUV“; ihre Zahlen können daher abweichen. Prüfen Sie digitalen Bereich, Ganzzahl- oder Bruchformat und Matrix des Zielsystems.
Da ungültige Kanäle abgelehnt werden, eignet sich der Endpunkt auch als strenge Grenze vor Ihrer Farbverarbeitung.
Anwendungsfälle
Luminanz und Chrominanz vermitteln
Zeigen Sie, wie RGB-Primärfarben unterschiedlich zur Luminanz und zu beiden vorzeichenbehafteten Farbachsen beitragen.
Medieneingaben validieren
Lehnen Sie fehlerhafte oder außerhalb des Bereichs liegende 8-Bit-Kanäle vor der deterministischen Umwandlung ab.
Häufige Fragen
Ist dies analoges YUV oder digitales YCbCr?
Es ist normiertes analoges Y′UV mit festen, aus BT.601 abgeleiteten Gewichten, ohne digitale Offsets oder begrenzte Videocodes.
Welcher Eingabebereich ist zulässig?
Jeder Kanal r, g und b muss ganzzahlig zwischen 0 und 255 liegen.
Warum können U und V negativ sein?
U und V sind um neutrales Grau zentrierte Farbdifferenzsignale. Das Vorzeichen zeigt die Richtung der Blau- und Rotachse.
Begrenzt der Konverter ungültige Kanäle?
Nein. Das würde Fehler in Quelldaten verbergen; Werte unter 0 oder über 255 erzeugen deshalb einen Fehler.
Was ergeben Grau, Schwarz und Weiß?
Jedes neutrale Grau hat U und V gleich null, weil seine drei Kanäle gleich sind. Schwarz wird zu null, null, null, und Weiß ergibt Y gleich eins ohne Chrominanz.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/color/rgb-yuv \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"r":255,"g":128,"b":0}'const res = await fetch("https://api.kit.forhosting.com/color/rgb-yuv", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"r": 255,
"g": 128,
"b": 0
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/rgb-yuv",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"r": 255,
"g": 128,
"b": 0
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/rgb-yuv", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"r":255,"g":128,"b":0}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"r":255,"g":128,"b":0}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/rgb-yuv", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"r": 255,
"g": 128,
"b": 0
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.rgb_yuv",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Werte außerhalb des Bereichs liefern invalid_input und werden nicht begrenzt. Im Browser ist das Werkzeug kostenlos; über die API kostet ein gültiges Element $0.002.
Prüfung und reproduzierbare Berechnung
Auch die Aliasse red, green und blue sowie R, G und B werden angenommen, damit Formulare und Tabellen ohne Umbenennung angebunden werden können. Feste Koeffizienten, Reihenfolge und Rundung machen JSON reproduzierbar. Fehler erscheinen als invalid_input und nennen möglichst den betroffenen Kanal.
Richtiger Einsatz in Medienabläufen
Im Browser läuft dieselbe Logik kostenlos; ein gültiges API-Element kostet $0.002.
Integrationsbeispiele
Konvertierungs-Fixtures erstellen
Erzeugen Sie stabile analoge BT.601-YUV-Tripel für Unit-Tests, Golden-Dateien und sprachübergreifende Prüfungen.
Technische Fragen
Was kostet der RGB-zu-YUV-Konverter?
Im Browser ist er kostenlos. Eine gültige API-Konvertierung kostet $0.002; ungültige Eingaben werden abgelehnt.