Softwareentwickler MATLAB/Simulink (w/m) Erarbeitung von Lösungen im Bereich der Schnittstelle zum Simulink-Modell und der Benutzeroberfläche von TargetLinkdSPACE GmbH - Paderborn
Verfasst am: 02.01.2012, 14:24
Titel: Plotten desselben Pixels von mehreren Bildern
Hallo zusammen!
Ich möchte vorab erwähnen, dass ich ein absoluter Matlab-Neuling bin.
Ich habe folgendes Problem:
Ich muss mehrere Graustufenbilder einlesen und anschließend die Werte desselben Pixels jeden Bildes plotten. Um das zu verwirklichen habe ich zuerst nur einen kleinen Bereich des Bildes genommen und jeweils einen block von 10x10 Pixel gemittelt... das heißt ich habe nun Bilder mit Riesen-Pixeln. Nun möchte ich folgendes plotten: Pixel(1,1) von Bild1, Pixel(1,1) von Bild2, Pixel(1,1) von Bild3 usw... danach gehts weiter mit Pixel(1,11) von Bild1, Pixel(1,11) von Bild2 usw...später dann auch Pixel(11,1) von Bild1, Pixel(11,1) von Bild2 usw... Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt. Ich will damit sehen wie sich der Grauwert eines Pixels in jedem Bild verändert!
So weit bin ich bis jetzt:
Code:
for nummer=1:1:5 %von 1 bis 5, mit Schrittweite 1
A = [num2str(nummer),'.JPG']; %Bilder von 1 bis 6 aufrufen und
img_org = imread(A); %mit A1 einlesen.
L = rgb2gray(img_org); %Graustufenbilder
N=L(200:250, 200:250); %Bild Ausschnitt auswählen
m=10; %zusammengefasste Pixel (mxm)
h = inline('mean2(x) * ones(size(x))');%Mittelwert ermitteln
g = blkproc(N,[m m],h); %Anwendung h auf mxm Pixel von N1
end
Ich habe also bis jetzt 5 Bilder Bilder eingelesen (Dateinamen 1.JPG, 2.JPG etc...) und jeweils immer 10x10 Pixel gemittelt. Jetzt weiß ich aber nicht, wie ich immer ein Pixel aus jedem Bild auswerten soll. Ich nehme an, dass man da mit mehreren verschachtelten for-Schleifen arbeiten muss... habe auch schon eine Menge ausprobiert, ohne Erfolg!
Kann mir bitte jemand helfen? Für mich ist es sehr wichtig in mit diesem Programm voranzukommen!
Danke erstmal für die Antwort!
Genau so mein ich es... aber natürlich muss das alles in einer Schleife ablaufen. Ich kann das ja nicht für jedes Pixel machen...ich will es später nämlich auch auf einen größeren Bildausschnitt anwenden! Aber das Prinzip stimmt so... hast du nen Ansatz wie ich das verwirklichen kann?
Options and Permissions
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.