Verfasst am: 07.12.2010, 15:03
Titel: Flächenberechnung mit Matlab
hallo,
ich suche eine möglichkeit mit matlab flächeninhalte in bildern zu berechnen. es soll aber nur ein bestimmter teil vom bild berechnet werden dieser hebt sich durch einen starken kontrast ab (der hellste). ich hab mir gedacht das man vlt die pixel zählen kann die zu den hellsten 20% gehören. oder kann man vlt einen teil mit der maus markieren den man dann auschneiden kann?
Willst du z.B. nur die anzahl der 20% hellsten Werte wissen, wuerde dies z.B. so gehen:
Code:
I = imread('pout.tif');
I(I <= max(I(:))*0.8) = 0; % setze Werte die nicht zu den 20% hellsten Pixeln gehoehren auf Null
NUM = nnz(I); % Anzahl der 20% hellsten Pixel
danke schonmal für die schnelle antwort, ich hab das ausschneide prog mal ausprobiert und es funktioniert auch aber wenn ich den teil ausgeschnitten habe und dann das foto-fenster schließe bekomme ich diese fehler meldung
??? Attempted to access position(:,1); index out of bounds because
size(position)=[0,0].
ich kann den Fehler nicht simulieren. Also eigentlich musst du nur den Bereich markieren, dann Doppelklick auf die ROI und die Ergebnisse sind im Workspace.
Wie hasst du es denn gemacht+welche Matlab Version verwendest du?
MFG
Sco
Student11
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 08.12.2010, 16:47
Titel:
achso ich muss doppelklicken das wusste cih nicht. jetzt gehts...
danke
jetzt will ich ja in dem ausgeschnittenen bereich die pixel zählen ich habs mit diesem befehl versucht:
NUM = nnz(I)
da kommt bei mir aber 0 raus, alles andere klappt super.
Code:
[I,PathName] = uigetfile({'*.jpg','All Files'},'Bitte Datei auswählen', 'C:\Dokumente und Einstellungen\marcello\Eigene Dateien\MATLAB');
figure, imshow(I);
h = imfreehand;
position = wait(h);
mask = poly2mask(position(:,1),position(:,2),size(I,1),size(I,2));
I(mask==0) = 0;
M = mean(I(I~=0));
NUM = nnz(I)
die Anzahl der Pixel im ROI ergibt. Dann haben wohl alle Pixel bei dir den Wert 0 .
MFG
Sco
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
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.