Verfasst am: 11.12.2012, 16:24
Titel: surf figure ein image einfügen
Hallo,
ich habe ein Problem mit surf worüber ich ein image einfügen will.
Beschreibung:
Ich habe mittels surf ein plot erstellt welches mir die Oberfläche eines Chips wiedergibt. Darüber lege ich anschließend ein layout file (png) welches mir in der Oberfläche zeigt, wo sich genau der Chip sich befindet. (Realisiert über Koordinaten der Eckpunkte des Layout im Bezug auf die Oberfläche)
Code:
h = surf(squeeze(rasterx(:,:)),squeeze(rastery(:,:)),arraydata, 'edgecolor','none');
axis equal;
hold on;
img = imread('layout.png');
imgzposition = 0; % z-Position surf([koord(1) koord(2)],[koord(3) koord(4)],...%[x1 x2][y1 y2] repmat(imgzposition, 2),img,'facecolor','texture');
set(h, 'FaceAlpha', 0.75); % Surface h Transparentmodus
Ich habe jetzt vom Chip einen Ausschnitt mittels surf geplotted und möchte das Layout mit dem selben Verfahren darüber legen. Das Problem liegt vermutlich darin, das jetzt die Koordinaten des Layouts außerhalb des plottes liegen und Matlab mir nicht in das Layout auf die entsrprechende Stelle vergrößert.
Habt ihr eine Idee, wie ich das umsetzen kann (auf basis des obrigen Codes), dass Matlab mir mittels des Ausschnittes der Oberfläche und über die Koordinaten der Eckpunkte des Bildes (links oben, rechts unten) das layout file an der richtigen Stelle vergößert und darüber legt? (.puhh.)
Man muss in meinem Fall einfach das Layout zuerst einfügen, und dann die Oberfläche darüber plotten.
Warum kann ich nicht genau sagen: In meinem ersten Plot ist das Layout kleiner als die Oberfläche und die Reihenfolge ist egal (erst Layout Plotten, dann Oberfläche, oder auch anders herum). Im 2. und 3. Plot ist das Layout viel größer als die Oberfläche und da muss ich erst Layout plotten und dann die Oberfläche.... naja.
Zur Vollständigkeit:
Code:
img = imread('layout.png');
imgzposition = 0; % z-Position surf([koord(1) koord(2)],[koord(3) koord(4)],...%[x1 x2][y1 y2] repmat(imgzposition, 2),img,'facecolor','texture');
axis([min(min(rasterx,[],2),[],1)max(max(rasterx,[],2),[],1)min(min(rastery,[],1),[],2)max(max(rastery,[],1),[],2)]);
caxis([0350]);%Z variabel
hold on;
h = surf(squeeze(rasterx(:,:)),squeeze(rastery(:,:)),arraydata, 'edgecolor','none');
set(h, 'FaceAlpha', 0.75); % Surface h Transparentmodus
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.