|
|
Punkte aus Bild in Matlab-Koordinaten umrechnen |
|
polo6n |
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 02.06.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.06.2009, 10:47
Titel: Punkte aus Bild in Matlab-Koordinaten umrechnen
|
|
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!!!
|
|
|
|
|
Andreas Goser |
Forum-Meister
|
|
Beiträge: 3.654
|
|
|
|
Anmeldedatum: 04.12.08
|
|
|
|
Wohnort: Ismaning
|
|
|
|
Version: 1.0
|
|
|
|
|
|
Verfasst am: 25.06.2009, 12:24
Titel:
|
|
Bild? Punkte? Diagramm? Ich verstehe nur Bahnhof. Ein Bild in MATLAB ==mxn Pixel mit Grauwerten oder Farbe- Was sind dann die "eingelesenen Punkte"?
Andreas
|
|
|
polo6n |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 02.06.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.06.2009, 07:31
Titel:
|
|
|
|
|
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
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 |
|
|
|
|
|
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 - 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.
|
|