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

Punkte aus Bild in Matlab-Koordinaten umrechnen

 

polo6n
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 02.06.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.06.2009, 10:47     Titel: Punkte aus Bild in Matlab-Koordinaten umrechnen
  Antworten mit Zitat      
Hallo,
habe folgendes Problem:
Habe ein Bild in Matlab eingelesen und darin Punkte eingelesen.
Jetzt will ich die Punkte in ein anderes Diagramm übertragen, jedoch muss ich die Punkte irgendwie von Pixel-Koordinaten in Numerische Koordinaten umrechnen. Hab leider keine Ahnung wie das gehen soll.

Bitte um Hilfe!!!
Private Nachricht senden Benutzer-Profile anzeigen


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 25.06.2009, 12:24     Titel:
  Antworten mit Zitat      
Bild? Punkte? Diagramm? Ich verstehe nur Bahnhof. Ein Bild in MATLAB ==mxn Pixel mit Grauwerten oder Farbe- Was sind dann die "eingelesenen Punkte"?

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
polo6n
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 02.06.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.06.2009, 07:31     Titel:
  Antworten mit Zitat      
Das ist mein Programm und das Diagramm:
code
clc
clear
close all

scrsz = get(0,'ScreenSize'); %aktuelle Bildschirmgröße,wird auf jedem pc aktualisiert


figure('Resize','off','Position',[50 50 scrsz(3)*0.9 scrsz(4)*0.8]);

%---------------------2. Pflichtübung------------------------

%Bild einlesen und darstellen

bild=imread('Verbrauchskennlinie.jpg','jpeg');

image(bild);

axis off;
hold on;


%X-Achse Skalierung festlegen
xmin_xmax_pix=ginput(2);

promptx={'x-Min:','x-Max:'};

dlg_titelx='x-Achse';

num_lines=1;

defx={'1000','6000'};

xmin_xmax=inputdlg(promptx,dlg_titelx,num_lines,defx);

xmin=str2num(xmin_xmax{1});
xmax=str2num(xmin_xmax{2});


%Y-Achse Skalierung festlegen
ymin_ymax_pix=ginput(2);

prompty={'y-Min:','y-Max:'};

dlg_titely='y-Achse';

defy={'0','1.2'}

ymin_ymax=inputdlg(prompty,dlg_titely,num_lines,defy);

ymin=str2num(ymin_ymax{1});
ymax=str2num(ymin_ymax{2});


%Punkte in Diagramm bestimmen
xy=[];

maus_but=1


while maus_but==1
[xi,yi,maus_but]=ginput(1);
xy=[xy,[xi;yi]];
plot(xi,yi,'r*')

end

%Eingabe ob Spline geschlossen oder offen
maus_but=questdlg('Soll die Spline-Kurve geschlossen sein?','Spline-Typ','ja','nein','default')

kontrlja=strcmp(maus_but,'ja');
kontrlnein=strcmp(maus_but,'nein');
if kontrlja
xy=[xy,[xy(1,1);xy(2,1)]];
end

x=[];
y=[];


n=length(xy);
for i=1:1:n

x=[x,[xy(1,i)]];
y=[y,[xy(2,i)]];

end

if kontrlja
fnplt(cscvn(xy), 'g',1.5);

else
xx=x(1):0.25:x(n);
yy=spline(x,y,xx);
plot(xx,yy,'b')
end

%Aufforderung weitere Punkte zu bestimmen für einen zweiten Spline
if kontrlja
uiwait(msgbox('Punkte bestimmen für offenen Spline','2. Pflichtübung'));
else
uiwait(msgbox('Punkte bestimmen für geschlossenen Spline','2. Pflichtübung'));
end


%Punkte bestimmen
ab=[]

maus_but=1

while maus_but==1
[ai,bi,maus_but]=ginput(1);
ab=[ab,[ai;bi]];
plot(ai,bi,'r+')
end



if kontrlnein
ab=[ab,[ab(1,1);ab(2,1)]];
end


a=[];
b=[];


n=length(ab);
for i=1:1:n

a=[a,[ab(1,i)]];
b=[b,[ab(2,i)]];

end

%Plotten des Splines
if kontrlnein
fnplt(cscvn(ab), 'g',1.5);

else
aa=x(1):0.25:a(n);
bb=spline(a,b,aa);
plot(aa,bb,'b')
end

Bild 4.png
 Beschreibung:
Das sind die zwei Kurven, die jetzt in eine neue Figure übertragen werden sollen

Download
 Dateiname:  Bild 4.png
 Dateigröße:  306.25 KB
 Heruntergeladen:  1353 mal
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 - 2024 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.