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

Bild per Drag & Drop einlesen und auswerten.

 

Shanks
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 03.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.09.2014, 09:21     Titel: Bild per Drag & Drop einlesen und auswerten.
  Antworten mit Zitat      
Hi,

bin noch recht neu in Matlab und hoffe ihr könnt mir bei meinem Problem helfen.

Hier erstmal was das Programm können soll:

1. Es soll auf einem Rechner ohne Matlab laufen (Matlab Compiler Runtime)

2. Ein Bild soll per Drag & Drop in das Programm eingelesen werden, so dass ich es bearbeiten kann und zugriff auf die Parameter (Länge, Höhe) habe.

3. Ein Algorithmus soll im Bild dann Formen erkennen und Flächen zählen. Leider habe ich nur das Basis Programm von Matlab und dementsprechend keine Toolboxen. Aber das Programm habe ich schon selbstständig als m-file geschrieben.
Mein Programm ändert das Bild in ein reines schwarz - weiß Bild und fragt in einer Schleife alle Pixel ab ob diese schwarz oder weiß sind. Mittels Merker usw. kann ich dann die Flächen zählen.

Mein Hauptproblem ist der zweite Punkt. Hab leider keine Idee wie ich das angehen soll.

Ein weiteres Problem was bei mir auftritt ist, wenn ich versuche reine schwarz weiß Bilder zu erstellen, sind manchmal noch grüne Punkte mit drin. Hab leider keine Ahnung wieso. Wandel die Bilder mit folgenden Befehlen um:

colormap(gray(256))
hist(bild) % um festzustellen ab welchem wert ich umwandeln muss
x = bild. * 0.5;
Image(x)

Hoffe ich habe mich klar ausgedrückt was ich machen will und jemand kann mir ein paar Tipps geben.

Schonmal Danke im Voraus.

Gruß
Shanks
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.09.2014, 10:39     Titel:
  Antworten mit Zitat      
Hallo,

drag and drop ist schwierig. Wie wäre es stattdessen mit
Code:

?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Shanks
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 03.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.09.2014, 09:41     Titel:
  Antworten mit Zitat      
Danke das mit dem Befehl uigetfile funktioniert super und ist auch deutlich einfacher.

Allerdings hab ich jetzt doch ein Problem mit meinem Code.
Ich möchte ja alle schwarzen Flächen in meinem Bild Zählen. Größe ist egal, einfach nur zählen wie viele schwarze Kleckse drauf sind.

Meine Idee war, dass ich, über ein Unterprogramm, bei jedem schwarzen Pixel nachfrage ob die Pixel über, unter, links und rechts auch schwarz sind. Wenn ja, ruft sich das Unterprogramm selber auf und prüft den jeweiligen Pixel mit der gleichen Methode. Leider schmiert mir bei großen Bildern der Rechner ab da das Recursionlimit von 500 erreicht wird.

Gibt es eine Methode Flächen zu zählen, ohne so viele Recursionen zu verwenden?

Es liegt übrigens nur die Basis Version von Matlab vor. Besitze also keine Image Processing Toolbox.
Private Nachricht senden Benutzer-Profile anzeigen
 
Shanks
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 03.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.09.2014, 13:10     Titel:
  Antworten mit Zitat      
Habe selbst die Lösung gefunden.
Falls es wen interessiert, ich habe einfach aus meiner Recursion die Prüfung des oberen Pixels entfernt, da diese überflüssig war. Dadurch wurde das Recursions Limit nicht mehr erreicht und mein Problem war beseitigt. ^^
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 - 2025 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.