2012-08-30 41 views

回答

3

只是爲了支持@丹的第一個建議(找上同時發佈了同樣的事情)用一個例子,這裏是你如何能覆蓋或使用強度值作爲表面灰度的表面上底襯的圖像:

[X,Y,Z] = peaks(256); % surface 
I = double(imread('cameraman.tif')); % image 

figure; 
mesh(X, Y, Z, I); % overlay image as texture 
colormap gray; hold on; 
c = 1.5*min(Z(:)); % scaling Z- location of image 
mesh(X, Y, c*ones(size(Z)), I) % underlay image as a constant-height surface 

enter image description here

然而surf與設置'texturemap'(聯答案,因爲他認爲)是一個更漂亮的方法。

+0

感謝您的幫助。我已經這麼久了。數據可視化的一些原因很難找到這個領域的專家。 – user1608954

+0

因爲我再次遇到這個問題。對於記錄,您也可以使用'warp'進行圖像疊加,即對於'warp(X,Y,Z,I./255)'上面的例子' – gevang

2

如果它是一個灰度圖像,那麼也許你使用surf(X,Y,Z,C)其中X和Y將像素COORDS可以顯示圖像,也相當於你的地板在網格的底部(即meshgrid創建它們),Z將只是zeros(n),C將是像素強度。然後製作你的彩條灰度。我不是100%肯定的,我會假設你可以使用類似hold on的東西來繪製同一個圖上的衝浪和網格。

谷歌搜索我的以上建議後,我發現這個:How can I plot an image (.jpg) in MATLAB in both 2-D and 3-D?。它看起來像SURF是要走的路,但不是使用C參數,你可以給它一個紋理貼圖,它可以是圖像。而且你只需要指定圖像角落的X,Y,Z座標就好了。

+0

非常感謝。我已經開始實現我已經呆了幾天的情節了。 – user1608954