2015-06-19 74 views
-1

我用MATLAB命令 a =('圖像地址') 然後我創建了另一個變量c c = imread('圖像的地址') 現在我使用了相同的圖像在這兩種情況下。當我使用尺寸命令時,它顯示兩個不同的尺寸。 大小(a)如何可能給出與大小(c)不同的大小。 儘管我在兩種情況下都使用了相同的圖像,但對於變量a和c。MATLAB中相同圖像的大小可以以不同的方式顯示嗎?

回答

1

我假設你完全是你在你的問題中寫的。您的代碼將是如下:

a = ('onion.png'); 
c = imread('onion.png'); 

這意味着變量a是由一些字符和可變c表示的字符串由UINT8陣列表示的圖像。 在它們上應用size-函數會給出不同的結果,因爲它根本不是同一個對象。這可以使用class功能進行驗證。

sizeOfA = size(a) >> [1 9] 
sizeOfC = size(c) >> [135 198 3] 
classOfA = class(a) >> char 
classOfC = class(c) >> uint8 

編輯:你現在可以做的是把字符串a加載相同的圖像。因爲只是通過爲變量分配文件名,圖像不會自動讀取。爲了證明這產生完全相同的結果,我們可以這樣做:

d = imread(a); 
isequal(c,d) 

它返回1這意味着數組相等。當然,他們具有相同的sizeclass由可變c表示的圖像:

sizeOfD = size(d) >> [135 198 3] 
classOfD = class(d) >> uint8 
+0

哈哈哈我完全錯過了'了'是文件名的字符串。我以爲'imread'也在那裏做。 +1。 – rayryeng

+1

對我來說,這是尺寸可能不同的唯一可能性。但是我花了一段時間纔看到'imread'還沒有在那裏執行;-) – Matt

相關問題