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

Pixel in Plot auswerten

 

Newdav
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 11.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.10.2011, 16:05     Titel: Pixel in Plot auswerten
  Antworten mit Zitat      
Hallo,
gibt es die Möglichkeit einen Plot in Quadranten zu unterteilen und dort die jeweiligen Pixel zählen zu lassen?
Private Nachricht senden Benutzer-Profile anzeigen


eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 12.10.2011, 16:22     Titel:
  Antworten mit Zitat      
Welche Art von Plot? Polygone? Ein Bild?
Private Nachricht senden Benutzer-Profile anzeigen
 
Newdav
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 11.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.10.2011, 10:21     Titel:
  Antworten mit Zitat      


beoba.jpg
 Beschreibung:

Download
 Dateiname:  beoba.jpg
 Dateigröße:  65.16 KB
 Heruntergeladen:  670 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: 13.10.2011, 13:01     Titel:
  Antworten mit Zitat      
Hallo Newdav,

Zitat:
gibt es die Möglichkeit einen Plot in Quadranten zu unterteilen und dort die jeweiligen Pixel zählen zu lassen?

Das ist nun eine sehr vage Frage ein Bild. Und wie geht's weiter? Wie sollen die "Quadranten" ausgerichtet sein? Was ist ein "Pixel"? Was passiert mit den Pixeln, die genau auf den Linien liegen? In welchem Format liegen die Daten vor - als Matrix oder als Schwarz-Weiß-Bild wie das gepostete? Geht es also um Statistik oder um Bildverarbeitung? Wie werden Pixels gezählt, die direkt übereinander liegen?

Es motiviert nicht zu einer aufwändigen Antwort, wenn man Dir zunächst die Details müsam aus der Nase ziehen muss.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 13.10.2011, 13:03     Titel:
  Antworten mit Zitat      
Moin Newdav,

ich hätte da 2 Lösungen, allerdings für Bilder. Du kannst, wenn nicht noch einer eine Lösung für Plot hat, die Plots in Bilder wandeln, mit imfeehand einen Rahmen ziehen und in diesem Bereich die Pixel zählen lassen.

Eine andere Möglichkeit siehe hier:

http://www.mathworks.com/matlabcent.....5/BlobsDemoScreenshot.png

Man könnte aus deinen Quadranten Bildausschnitte machen und diese wiederum als Input für das Verfahren nehmen. Wenn die Pixel dann zu klein sind, um gezählt zu werden, vergrößere einfach die Bilder.

Das ist zwar alles nicht so elegant, aber wenn sich nicht noch eine andere Lösung ergibt, zumindes ein Anfang.

Viel Erfolg

Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
Newdav
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 11.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.10.2011, 14:14     Titel:
  Antworten mit Zitat      
Hallo,
@Jan: Du hast recht, ich habe wirklich mit Infos gespart. ich versuche dieses nachzuholen.

Die Daten werden durch simulation eines optischen Systems mit Vergrößerung 15:1 dargestellt. Das Objekt ist eine 3mm² Maske. Würde also in dem Fall einer Kantenlänge von 0,2mm im Spot entsprechen. Dieser Spot soll nun untersucht werden, ob er gleich ausgeleuchtet wird. Also ob überall gleich viele Pixel verteilt sind. Dafür dachte ich, könnte man den Spot in N Quadranten einteilen und dann über den Raum integrieren, um die Anzahl der in dem Quadranten vorliegenden Pixel zu zählen. Dementsprechend müssten auch übereinanderliegende Pixel gezählt werden.
Ich hoffe das Problem ist nun klarer geworden, werde das jetzt mit dem von Hubertus vorgeschlagenen Methode versuchen.
gruß
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: 13.10.2011, 16:02     Titel:
  Antworten mit Zitat      
Hallo Newdav,

Die physikalischen Grundlagen sind meistens für die Matlab-Fragen uninteressant. Hilfreicher wäre die Representation der Daten in Matlab, etwa: Input is eine [400 x 600] UINT8 Matrix, die "Pixel" sind kreisförmig mit etwa 4 Pixeln Durchmesser.

Wie sollen denn übereinanderliegende Pixel als solche erkannt werden?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Newdav
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 11.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.10.2011, 16:18     Titel:
  Antworten mit Zitat      
Hallo,

danke für eure antworten. Matlab braucht wohl noch etwas Zeit bei mir. Habe mit Hilfe eines Freundes es nun hinbekommen. Schreibe den code nochmal reinn, falls es wen interessiert. Danke trotzdem nochmal für eure Hilfe!

Code:

DBeob = 20;    % Größe der Beobachtungsebene
NP = 51;         % Anzahl Pixel (in einer Dimension)
MNr = 7;       % ausgewertete Stützstelle

IBeob = zeros(NP);  % Ergebnisbild
PSize = DBeob/NP;   % Pixelgröße
xBeob = (-(DBeob-PSize)/2:PSize:(DBeob-PSize)/2); %Pixel-Mittelpunkte horiz.
yBeob = (-(DBeob-PSize)/2:PSize:(DBeob-PSize)/2); %Pixel-Mittelpunkte vert.

for j=NoRplot:NoR
    k = ceil(x(MNr,j)/PSize + NP/2);
    l = ceil(y(MNr,j)/PSize + NP/2);
    if((k>0)&&(k<=NP)&&(l>0)&&(l<=NP))
        IBeob(l,k) = IBeob(l,k) + 1;
    end
end

figure(5); hold off;
imagesc(xBeob,yBeob,IBeob); colorbar;
axis xy; axis image;
 
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.