|
|
Bild per Drag & Drop einlesen und auswerten. |
|
Shanks |

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 03.09.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.09.2014, 09:21
Titel: Bild per Drag & Drop einlesen und auswerten.
|
 |
|
 |
|
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
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 03.09.2014, 10:39
Titel:
|
 |
Hallo,
drag and drop ist schwierig. Wie wäre es stattdessen mit
?
Grüße,
Harald
|
|
|
Shanks |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 03.09.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.09.2014, 09:41
Titel:
|
 |
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.
|
|
|
Shanks |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 03.09.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.09.2014, 13:10
Titel:
|
 |
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. ^^
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|