Verfasst am: 26.11.2012, 18:12
Titel: imresize nur in einer Richtung ?!
Hallo Leute,
Leider habe ich über die Suchfunktion bisher nichts gefunden. Und zwar habe ich folgendes Problem: Ich habe als Bild ein Auto von dem ich mir mittels ginput die x-Werte des Radstandes von Vorder- und Hinterachse hole.
Da ich den tatsächlichen (realen) Radstand des Autos kenne, möchte ich mir den Faktor ausrechnen, mit welchem ich das Bild in x-Richtung skalieren kann.
Der Faktor in y-Richtung ist dann natürlich nicht derselbe wie in x-Richtung.
mit imresize komm ich soweit ich das gesehen habe nicht weiter.....
Hat jemand eine Idee wie man ein Bild in x und y richtung unterschiedlich skalieren kann ?
also bisher hab ich es so gemacht, dass ich das Fahrzeug an Front und Heck abgeschnitten habe, sowie oben und unten.
Darauf habe ich die tatsächlichen Abmessungen des Fahrzeugs (Länge des Fahrzeugs) über eine GUI eingeben und meinen Plot darüber gelegt.
Nun möchte ich aber eine Lösung finden, bei der ich nicht das Fahrzeug zuerst von "Hand" ausschneiden muss, sondern beispielsweise die Umgebung um das Fahrzeug herum belassen kann. Problem hierbei ist, dass ich das Bild trotzdem dementsprechend vergrößern muss, sodass die realen Maße des Fahrzeugs dargestellt werden. Darüber wird dann wieder der Plot gelegt, in welchem die realen Koordinaten einzelner Messpunkte über der Fahrzeugseite enthalten sind.
Das habe ich noch nicht ganz verstanden. Das Vergrößern des Bildes kann kein Problem mehr sein. Geht es vielleicht darum, dass innerhalb des größeren Bildes dein Plot an einer anderen Stelle anfangen soll?
alsoich hab ein Beispielplot mit angehängt wie es gemacht wird, wenn man das Auto vorher ausschneiden muss.
Zu sehen ist dabei die Länge von 4300mm, die ich zuvor eingeben habe und die Höhe mit 1300mm, die ich ebenfalls eingeben habe.
Da die Daten, die den Plot erzeugen aus einem Versuch stammen, sind die Koordinaten der Messpunkte - bezogen auf die Fahrzeugfront - bekannt. Idealerweise wird dann der Verlauf des Plots exakt an den Messstellen wiedergegeben.
Daher suche ich eine Möglichkeit wie ich das Hintergrundbild (Auto) möglichst gut skalieren/strecken kann, damit die realen Koordinaten der Messpunkte am Auto möglichst exakt über dem Hintergrundbild liegen.
Am liebsten wäre es mir hierbei, dass ich beispielsweise über ginput() den nullpunkt an der Fahrzeugfront festlegen könnte. Noch besser wäre es, wenn ich zusätzlich noch die Punkte des Radstands über ginput() angeben könnte und daraufhin die realen Maße zuweisen könnte. (Abstand punkt linkes rad zu punkt rechtes rad = 2500mm).
Ich hoffe es wurde nun ein kleines bisschen verständlicher
Das Problem mit ginput ist, dass auf jeden Punkt 2 Rückgabewerte(x,y) bekommst und imresize diese Punkte nicht übernehmen kann. Das ist mein erster, aber nicht gesicherter Eindruck. Ich suche natürlich weiter!!!
So endgültig ist das Problem noch nicht. Zwar liefert dir ginput die x,y-Koordinaten, aber zum Skalieren braucht du ja nur die x-Werte = von/bis.
Diese Werte lassen sich an imresize übergeben und auf die angestrebte Skalierung übertragen:
I=imread('Test.tif');
figure; imshow(I) [x,y]=ginput(2);
I2=imresize(I,[343390],'OutputSize',[500900]); % Werte x von ginput figure; imshow(I2) set(gca,'visible','off');
hold on
haxes=axes;
x=[0:0.01:2*pi];
plot(haxes,x,sin(x));
set(haxes,'Color','none')
so etwas suche ich für matlab..... man klickt auf 2 punkte und legt den nullpunkt des x-wertes fest und einen beliebigen Punkt von dem man die x-koordinate kennt. Dieses Programm "skaliert" bzw. rechnet selbsständig ein Koordinaten-System aus.
Ich hoffe es gibt auch so eine Möglichkeit für Matlab
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.