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

Weiße Pixelbereich in einem Binärbild in Schwarz einfärbe

 

mechatronique
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 15.12.13
Wohnort: Frankfurt am Main
Version: 2013a
     Beitrag Verfasst am: 26.11.2015, 18:55     Titel: Weiße Pixelbereich in einem Binärbild in Schwarz einfärbe
  Antworten mit Zitat      
Hallo Zusammen,

Ich habe also ein Binärbild(s. Anhang) und würde gern jetzt die ungewollten weiße Flächen in Schwarz färben.
Ich kann nicht das komplete bild durchlaufen lassen und die gefundene weiße Pixel in schwarz umwandeln, sonst kriege eine komplettes schwarzes Bild an Ende und das möchte ich halt nicht.
Es könnte so funktionieren, dass man mit einer if-Abfrage und die Größe der Flächen als Bedingung rumspielt. Meine Versuche waren leider bis jetzt erfolglos.

Hätte da vielleicht jemand ein Beispiel, wie ich am bestens vorgehen sollte?

Danke im Voraus für die eventuellen Hilfe
Grüß

binaerbild.JPG
 Beschreibung:

Download
 Dateiname:  binaerbild.JPG
 Dateigröße:  38.12 KB
 Heruntergeladen:  486 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: 27.11.2015, 19:47     Titel: Re: Weiße Pixelbereich in einem Binärbild in Schwarz einf
  Antworten mit Zitat      
Hallo mechatronique,

Zunächst musst Du Kriterien finden, um die gewollten von den ungewollten Flächen zu unterscheiden. Vielleicht suchst Du nur die größte Fläche pro Bild? Oder nur welche mit schrägen Kanten?

Hast Du die Image Processing Toolbox?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Hertha

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.11.2015, 11:25     Titel:
  Antworten mit Zitat      
Hallo mechatronique,

versuche mal das:

Code:
I=imread(    );
I3=imopen(I2,strel('rectangle',[15 15]));
figure; imshow(I3)


Gruß von Hertha
 
mechatronique
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 15.12.13
Wohnort: Frankfurt am Main
Version: 2013a
     Beitrag Verfasst am: 01.12.2015, 11:22     Titel:
  Antworten mit Zitat      
Hallo an alle ,
danke für die tollen Rückmeldungen. Ich war die letzten Tagen viel Unterwegs und könnte nicht antworten.

Ich habe es hingekriegt mit dem Befehl "bwareaopen". Zu dem Befehl muss eine Grenze von Pixelmenge eingegeben werden. Der "löscht" dann so zu sagen alle Gruppierungen von Pixeln, die unterhalb der grenze sind.

Grüß
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.