2014-06-17 92 views
0

我有一張圖像,使用顏色顯示圖像的深度,其中較暖的顏色代表圖像的較近部分,較冷的顏色代表較遠的對象。我想將此圖像表示爲顯示深度的衝浪圖。我必須在java中這樣做,但我認爲在繼續之前,首先要更容易理解Matlab中的過程。我試圖使用圖像的大小和繪圖,但它不斷給我錯誤。任何幫助將非常感激。如何在MATLAB中顯示圖像的衝浪?

我嘗試衝浪功能:

`img = imread('sample.png'); 
grayImage = rgb2gray(img); 
surf(double(img))` 

,並得到這個錯誤:

>> surf 
Attempt to execute SCRIPT surf as a function: 
C:\Users\kuchin\Documents\MATLAB\surf.m 
Error in surf (line 3) 
surf(double(img)) 

回答

2

編輯

正如本自己的文章發表的留言看到,你的問題是,您正在使用另一個surf.m文件覆蓋surf功能。不要用與Matlab構建函數相同的名稱命名您的matlab文件。前往C:\Users\kuchin\Documents\MATLAB\surf.m並將其命名爲mysurf.m。它會解決你的問題。

原帖

如果你有加倍的深度圖像(MXN)剛剛

surf(img); 

如果他們UINT8

surf(double(img)); 

會做的伎倆。 測試代碼:

img=imread('coins.png'); 
surf(double(img)) 

輸出:

enter image description here

+0

我試過,但我得到一個錯誤,這是我輸入: IMG = imread( 'sample.png'); grayImage = rgb2gray(img); 衝浪(雙(IMG)) 和我的輸出和錯誤: >>衝浪 嘗試執行SCRIPT衝浪作爲一個函數: C:\用戶\ kuchin \文件\ MATLAB \ surf.m 錯誤衝浪(第3行) surf(double(img)) –

+0

@ user3748494 Do surf(double(grayImage));如果這不起作用,您可以發佈圖像或鏈接到圖像? –

+0

@ user3748494 mmm問題是你在你提供的目錄下有一個.m文件caled surf.m,並且該文件覆蓋了Matlabs的surf功能。永遠不要將你的.m文件命名爲maltab函數! 例如,如果你使用另一個功能(例如surfc()),你會發現沒有問題 –

相關問題