2012-12-04 139 views
3

我有一個簡單的代碼在Matlab中顯示圖像。我使用imread()來讀取它,並使用imshow()來顯示它。下面的代碼,結果沒有正確顯示。希望可以有人幫幫我。Matlab imshow()沒有正確顯示圖像

img = imread('/home/samuelpedro/Desktop/API - Projecto/coimbra_aerea.jpg'); 
figure, imshow(img); 

產生的圖像在下面。 enter image description here

此外,如果我選擇將它保存爲文件作爲新的JPG保存正確。

更新1:

古怪,如果我選擇顯示在首軸>圖像處理,校正

+0

請修復圖像鏈接,或解釋什麼不正確顯示。 – bla

+0

@natan下載鏈接並將.png添加爲文件的擴展。這個問題看起來像是一遍又一遍地平鋪圖片。 –

+0

謝謝SamuelNLP,請你也可以添加jpg文件,這樣我們就可以複製這個美麗而奇怪的錯誤... – bla

回答

3

在您的屏幕截圖鎖定,x和y蜱丟失。它們應該出現在Matlab的標準配置中。也許有些東西只是在Matlab配置中搞砸了。嘗試使用全新的~/.matlab文件夾執行此操作(以前重命名舊文件夾)。

或者......再次通過您的屏幕截圖判斷,這看起來像在後臺的Ubuntu/Unity。 Unity需要加速(OpenGL),對於某些Linux圖形驅動程序可以是隨機的。你可能想嘗試在一個「乾淨的」X服務器(也許是twm環境)中啓動matlab來排除這個問題。

將圖像保存爲(未壓縮的)位圖(bmp)並用imread讀取。如果jpg被imread-routine搞亂了,這應該排除這一點。

最後但並非最不重要的一點,你的磁盤上的JPG格式的副本,一些翻轉的位。在文件的副本上運行md5sums。

+0

奇怪的是,如果我選擇在首選項>圖像處理中顯示軸,則會更正 – SamuelNLP