WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Farbfilter/Reflexionen entfernen

 

captaincaos
Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 07.12.16
Wohnort: ---
Version: 2016a, 2016b, 2018a
     Beitrag Verfasst am: 07.12.2016, 14:59     Titel: Farbfilter/Reflexionen entfernen
  Antworten mit Zitat      
Hallo liebe Community,

derzeit versuche ich mich an einer Bildauswertung bei der eine durch einen Laserdiode erzeugte rote Linie erkannt werden soll, bzw. deren Position im Bild bestimmt werden soll.
Die Linie ist dabei nur schwer zu erkennen/herauszufiltern, da sie von einer unebenen, spiegelnden Fläche reflektiert wird und es eine starke Umgebungsbeleuchtung gibt.

Derzeit versuche ich das Ganze im RGB-Farbraum zu "filtern".
Mein derzeitiger "Filter" sieht folgendermaßen aus:
Code:

% die Matrix img enthält das zu bearbeitende Bild

img_g = img;
img_b = img;

% Reiner Grünanteil des Bildes
img_g(:,:,1) = 0;
img_g(:,:,3) = 0;

% Reiner Blauanteil des Bildes
img_b(:,:,1) = 0;
img_b(:,:,2) = 0;

% Reiner Rotanteil des Bildes
img(:,:,2) = 0;
img(:,:,3) = 0;

% "Filter" um die Pixel mit hohem Rotanteil und wenig anderen Farbe zu verstärken
% gleichzeitig werden weiße Bereiche (hoher Wert bei allen Farben) herausgefiltert
img(:,:,1) = img(:,:,1) - (0.5.*img_b(:,:,3)) - (0.5.*img_g(:,:,2));

% Schwelle um Pixel unterhalb eines bestimmten Wertes zu schwärzen
img(img<75) = 0;


Der "Filter" funktioniert bisher mäßig gut. Deshalb bin ich auf der Suche nach Verbesseungsvorschlägen oder Alternativen.

Gruß
captaincaos
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 07.12.2016, 20:08     Titel: Re: Farbfilter/Reflexionen entfernen
  Antworten mit Zitat      
Hallo captaincaos,

Um einen guten Filter zu erstellen, muss man die Natur der Störsignale analysieren. Wie unterscheiden sich die gewünschten von den unerwünschten Punkten?
Suchst Du nur nach irgendwelchen Rot-Tönen, oder hat der Laser nicht eine ganz bestimmte Farbe? Im HSV-Raum zu suchen könnte deshalb effizienter sein.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
captaincaos
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 07.12.16
Wohnort: ---
Version: 2016a, 2016b, 2018a
     Beitrag Verfasst am: 08.12.2016, 07:42     Titel:
  Antworten mit Zitat      
Hallo Jan,

im RGB Farbraum in dem ich arbeite ist es so, dass die gesuchten Pixel einen hohen Rotwert haben und wenig grün und blau. Die größten Probleme habe ich damit weiße Bildbereiche bzw. sehr helle Bereiche zu filtern. Für reines Weiß, RGB jeweils 255, funktioniert der Filter sehr gut, dafür sorgt:
Code:
img(:,:,1) = img(:,:,1) - (0.5.*img_b(:,:,3)) - (0.5.*img_g(:,:,2));


Allerdings funktioniert das logischerweise weniger gut wenn der Grün- und Blauwert kleiner sind.

Was den Laser betrifft, der hat eine feste Wellenlänge, was einer bestimmten Farbe entspricht. Aber, leider, ergibt das im Foto nicht unbedingt einen konstanten RGB Wert. Denn der Laser wird nicht direkt aufgenommen sondern von einer Oberfläche reflektiert. Die Oberfläche ist sehr uneben wodurch das Licht gebrochen und zerstreut wird. Außerdem wirken auf die RGB Werte ja auch das Umgebungslicht usw...

Mit dem HSV Raum habe ich mich noch nicht wirklich auseinander gesetzt. Gibt es hier irgendwelche Vorschläge wo man sich darin einlesen kann?

Gruß
captaincaos
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 08.12.2016, 15:24     Titel:
  Antworten mit Zitat      
Hallo captaincaos,

Zitat:
Mit dem HSV Raum habe ich mich noch nicht wirklich auseinander gesetzt. Gibt es hier irgendwelche Vorschläge wo man sich darin einlesen kann?

:-) Wie wäre es mal WikiPedia danach zu fragen? Auch Google weiß ganz sicher einiges dazu.

Ich muss ein wenig grinsen: Die Antwort ist naheliegend, oder?
Du beschäftigst Dich mit Bildbearbeitung und möchtest Farbtöne erkennen. Da sind solide Kenntnisse zu einem Farbraum, der Farbtöne verwendet ganz wichtig.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
captaincaos
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 07.12.16
Wohnort: ---
Version: 2016a, 2016b, 2018a
     Beitrag Verfasst am: 08.12.2016, 16:06     Titel:
  Antworten mit Zitat      
Hallo Jan,

Wikipedia und Google habe ich seit heute morgen auch schon bemüht Wink .
Habe seitdem auch schon mit Matlab im HSV-Farbraum herumgespielt. Von einem sinnvollen Filter für meine Anwendung bin ich zwar noch etwas entfernt aber wenn es soweit ist werde ich den Code für Anregungen und Verbesserungsvorschläge hier posten.
Allgemein finde ich den HSV-Farbraum ...sagen wir mal nicht ganz so selbsterklärend wie den RGB-Farbraum aber ich glaube das bekomm ich hin.
Zitat:
Da sind solide Kenntnisse zu einem Farbraum, der Farbtöne verwendet ganz wichtig.

Was das betrifft bin ich erstaunt, dass ich in der kurzen Zeit in der ich mich mit dem Thema beschäftige überhaupt einen brauchbaren RGB-Filter zustande bekommen habe. Wink

Gruß
captaincaos
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.