ich möchte gerne mit Hilfe von Matlab Bereiche nach Farben trennen.
Aktueller Stand: Ich habe Bilder mit blauen und roten Zellen auf einem schwarzen Hintergrund.
Gewünschtes Ergebnis: Zwei Binärbilder, die mir jeweils die blauen bzw. die roten Zellen als weiße Bereiche zeigen.
Das Problem: Die Farben sind leider nicht eindeutig trennbar. Das Blau ist eher ein Lila, was dem Rot sehr ähnelt.
Was ich bis jetzt versucht habe: Bild aus dem RGB Raum in den HSV transformiert. Manuell einen "perfekten" blauen Bereich auswählen und die Durschnittswerte von H, S und V ermitteln. Damit werden jeweils 3 Wertebereich festgelegt. Anschließend wird für jedes Pixel im Bild überprüft, ob seine H, S und V Werte alle in den festgelegten Bereichen liegen. Wenn ja, dann wird dieser Pixel als "blau" (bzw. Wert 1 im Binärbild) definiert. Die Pixel, bei denen min. einer der drei Werte ausserhalb des Bereiches liegt, ist nicht blau und hat im Binärbild den Wert 0.
Anschließend das selbe Verfahren für rote Zellen.
Diese Verfahren ist jedoch sehr stark abhängig, welchen Bereich man als das "perfekte Blau" definiert. Außerdem ist es ebenfalls von der Farbzusammensetzung des gesamten Bildes abhängig.
Kann mir da vllt jemand weiterhelfen oder gibt es andere Ideen?
verstehe nicht warum der Blau nicht eindeutig trennbar ist? Meinst du, dass das kein Blau sondern Lila ist?
In RGB, hast du schon Kanäle doch ROT/ GRÜN/ BLAU Kanal?
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.