Frage:
Wie kann das Rauschen der Farbwerte beim Wechseln zwischen Farbräumen minimiert werden?
Jamy codes
2015-08-08 17:58:48 UTC
view on stackexchange narkive permalink

Nehmen wir an, ich sollte mit einer Software wie Matlab von RGB zu HSV wechseln und dann das Ergebnis mit derselben Software wieder in RGB konvertieren. Ich weiß, dass es aufgrund dieser Konvertierung zu leichten Rauschen und Fehlern bei den Farbwerten kommen wird. Hat jemand eine Idee, wie man die Farbwerte während einer solchen Konvertierung beibehalten oder das Rauschen irgendwie reduzieren oder vielleicht den Verlust in den Farbdaten abrufen kann?

Einer antworten:
James Snell
2015-08-08 18:28:42 UTC
view on stackexchange narkive permalink

Als jemand, der regelmäßig in anderen Räumen arbeitet (am häufigsten im Labor), würde ich sagen, dass Sie sich darüber keine Sorgen machen sollten.

Da Sie in einem anderen Raum Änderungen vornehmen möchten, erwarten Sie dies Ihr RGB-Ausgang ist nicht identisch mit Ihrem RGB-Eingang. Jedes Rauschen sollte innerhalb akzeptabler Grenzen liegen.

HSV ist keineswegs perfekt und es könnte theoretisch ein Problem sein, wenn Sie häufig zwischen den beiden Räumen hin- und herfahren, aber normalerweise gibt es eine Gute Chance, dass etwas anderes in Ihrem Workflow nicht stimmt.

Wenn Sie zusätzliche Genauigkeit benötigen, können Sie die Bittiefe vor der Konvertierung jederzeit erhöhen, mit höherer Genauigkeit arbeiten und nach der Rückkehr zu RGB realistisch konvertieren Es lohnt sich, Ihren RGB-HSV-RGB-Roundtrip ungefähr hundert Mal zu testen und festzustellen, ob Sie sich überhaupt um das Rauschen kümmern müssen.

Abhängig von den Fähigkeiten von matlab können Sie auch einen Schwellenwert im HSV- festlegen. RGB-Konvertierung, wenn der Pixelwert innerhalb eines bestimmten Bereichs des Originals liegt, um den ursprünglichen RGB-Wert anstelle des neuen zurückzugeben.

Nach 1 Million Roundtrips (mit Python) habe ich keinen merklichen Präzisionsverlust.
@KelSolaar Könnten Sie bitte den Code teilen, mit dem Sie die Konvertierungen durchgeführt haben?
@SumitKumarSaha: Etwas in dieser Richtung: https://gist.github.com/KelSolaar/efe7bcd9ce0daa663280dc97814d83fb


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...