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

Strukturen aus einem Bild entfernen

 

lavatar
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 20.07.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.07.2009, 12:52     Titel: Strukturen aus einem Bild entfernen
  Antworten mit Zitat      
Um Strukturen einer bestimmten grösse aus einem Bild zu entfernen gibt es
den "bwareaopen" Befehl.
Nur würde ich gern wissen ob man dies auch programmieren kann?
Hat jemand eine Idee?
Private Nachricht senden Benutzer-Profile anzeigen


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.028
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 20.07.2009, 13:17     Titel:
  Antworten mit Zitat      
Moin,

wie meinst du das?

In der Hilfe zu BWAREAOPEN steht:
Zitat:
Algorithm

The basic steps are

1.

Determine the connected components.

Code:
L = bwlabeln(BW, conn);


2.

Compute the area of each component.

Code:


3.

Remove small objects.

Code:
bw2 = ismember(L, find([S.Area] >= P));


Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
lavatar
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 20.07.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.07.2009, 13:41     Titel:
  Antworten mit Zitat      
Als Beispiel:
Code:
% Remove all object containing fewer than 400 pixels
imagen = bwareaopen(imagen,400);
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.028
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 20.07.2009, 14:27     Titel:
  Antworten mit Zitat      
Hab ich doch geschrieben:
Code:
% imagen = bwareaopen(imagen,400);
imagenL = bwlabeln(imagen);
imagenS = regionprops(imagenL, 'Area');
imagen2 = ismember(imagenL, find([imagenS.Area] >= 400));


Oder was hast du daran nicht verstanden?

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
lavatar
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 20.07.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.07.2009, 14:35     Titel:
  Antworten mit Zitat      
Es geht drum das ich diesen Befehl für ne Arbeit nicht benutzen darf, und wissen wollte ob man diesen programmieren kann als Funktion in Form einer M-File.
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.028
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 20.07.2009, 14:53     Titel:
  Antworten mit Zitat      
Klar geht das. Darfst du die Image Processing Toolbox verwenden? Wenn ja, dann nimm meinen Code oben, schreib den in eine extra Funktion, welche die Bildmatrix und die Pixelanzahl entgegennimmt und die neue Bildmatrix zurückgibt. Fertig!

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
lavatar
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 20.07.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.07.2009, 14:55     Titel:
  Antworten mit Zitat      
steve hat Folgendes geschrieben:
Klar geht das. Darfst du die Image Processing Toolbox verwenden? Wenn ja, dann nimm meinen Code oben, schreib den in eine extra Funktion, welche die Bildmatrix und die Pixelanzahl entgegennimmt und die neue Bildmatrix zurückgibt. Fertig!

Gruß
Alex

Danke Alex, leider darf ich die nicht benutzen. Nur Imread und solche Sachen sind noch erlaubt.

Hab das Problem das ich ein Display einer Uhr habe, und ich möchte das nur noch die Ziffern stehen bleiben. Mittel Erosion und Dilatation sind nur noch am Rand Fläche vorhanden. Ich dachte die könnte ich mit der Funktion entfernen lassen.
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.