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

Pixel ober- und unterhalb einer Schwelle färben

 

Thommy90
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 18.10.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2016, 09:03     Titel: Pixel ober- und unterhalb einer Schwelle färben
  Antworten mit Zitat      
Guten Morgen zusammen,

ich stehe vor einem Problem, dass ich nicht lösen kann. Vielleicht könnt ihr mir helfen Smile
Ich beschäftige mich z.Z. im Rahmen meiner Abschlussarbeit mit der Einführung eines Systems zur industriellen Bildverarbeitung, um Produktionsfehler automatisch erkennen zu können. Dabei kann für jede Kamera eine obere und untere Detektionsschwelle festgelegt werden, bei deren Über- bzw. Unterschreiten ein Fehler erkannt wird.

Um diese Schwellen methodisch zu ermitteln, möchte ich nun die Fehlerbilder, die von den unterschiedlichen Kameras aufgenommen werden, statistisch auswerten (Graustufenhistogramm, Linienprofil, x_max, x_min etc.).

Das Graustufenhistogramm, Linienprofil, Ermittlung der Graustufenwerte etc. habe ich gut hinbekommen und mit dem Programm dem Anhang hinzugefügt (Auswertung).

Wenn ich nun die Fehler ausgewertet habe, würde ich gerne grafisch überprüfen, ob die festgelegte Schwelle den Fehler vollständig detektiert. Hierzu würde ich gerne z.B. alle Pixel mit der Graustufe höher als die obere Schwelle gelb färben und alle Pixel niedriger als die untere Schwelle blau färben. Dies würde ich sowohl gerne im Ausgangsbild (Fuzzball.BMP) als auch im 3D-Plot machen. Die anderen Pixel sollen in ihrer jeweiligen Graustufe dargestellt werden. Ist dies möglich? Und wenn ja, wie gehe ich vor?
Ich habe die Funktion der Binärisierung zwar gefunden, das ist aber nicht das, was ich ganz genau suche.

Über eine Rückmeldung würde ich mich sehr freuen.

Beste Grüße,
Thomas

Auswertung.pdf
 Beschreibung:

Download
 Dateiname:  Auswertung.pdf
 Dateigröße:  436.77 KB
 Heruntergeladen:  580 mal
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: 25.11.2016, 14:05     Titel: Re: Pixel ober- und unterhalb einer Schwelle färben
  Antworten mit Zitat      
Hallo Thommy90,

Hier ist der physikalische Hintergrund zunächst unnötig für die Lösung des Problems.

Zitat:
Hierzu würde ich gerne z.B. alle Pixel mit der Graustufe höher als die obere Schwelle gelb färben und alle Pixel niedriger als die untere Schwelle blau färben.

Das ist die eigentliche Frage, oder? In welcher Form liegt das Grau-Stufen-Bild vor?
Was bedeutet "färben"? Sollen die Pixel alle gleich gelb bzw. blau werden?

Code:
Grey = rand(60, 40);

R = Grey;
G = Grey;
B = Grey;

toBlue = (Grey > 0.9);
R(toBlue) = 0;
G(toBlue) = 0;
B(toBlue) = 1;

toYellow = (Grey < 0.1);
R(toYellow) = 1;
G(toYellow) = 1;
B(toYellow) = 0;

RGB = cat(3, R, G, B);
subplot(1,2,1);
image(cat(3, Grey, Grey, Grey));
subplot(1,2,2);
image(RGB);

Wie wäre das?

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

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 18.10.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2016, 14:47     Titel:
  Antworten mit Zitat      
Hallo Jan S,

vielen Dank für deine Antwort. Ja genau, das ist meine Frage. Leider hat dein Code nicht den gewünschten Effekt erzielt.
Das Bild wurde von der Zeilenkamera im Bildverarbeitungssystem aufgenommen. Dabei handelt es sich um ein Graustufenbild (0-255) im BMP-Format.
Leider kann ich die BMP-Abbildung nicht anhängen. Ich habe es daher nun als .tif gespeichert und angehangen (Fuzzball.tif). Im Originalbild ist jedoch kein weißer Rahmen um das Bild, es beginnt mit den dunklen Stellen.

Wenn ich nach meinen statistischen Auswertungen die Schwellen festgelegt habe, möchte ich z.B., dass alle Pixel im Bild der Graustufen 150-255 als gelb dargestellt werden.
Auf der anderen Seite würde ich gerne dunkle Pixel (z.B. alle Pixel mit der Graustufe von 0-50) als blau darstellen.

Das würde ich sowohl gerne beim angezeigten Bild als auch bei der 3D-Darstellung machen. Im Anhang habe ich hierfür Beispielbilder angehangen.

Beste Grüße,
Thomas

fuzzball.tif
 Beschreibung:

Download
 Dateiname:  fuzzball.tif
 Dateigröße:  97.45 KB
 Heruntergeladen:  452 mal
Pixel_färben.pdf
 Beschreibung:

Download
 Dateiname:  Pixel_färben.pdf
 Dateigröße:  3.02 MB
 Heruntergeladen:  541 mal
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.