我有一個由矩陣表示的圖像。假設它是21x23矩陣。Matlab將圖像分割爲10x10個單元格
如何將矩陣分成10行和10列。不過,它們的尺寸不一定相同。
有一個功能mat2cell,但我不知道如何使用它
我有一個由矩陣表示的圖像。假設它是21x23矩陣。Matlab將圖像分割爲10x10個單元格
如何將矩陣分成10行和10列。不過,它們的尺寸不一定相同。
有一個功能mat2cell,但我不知道如何使用它
讓我們您的數據存儲在inputmat。
首先,你必須計算子矩陣的維數。例如,他們可能是:
rows = diff(floor(linspace(0,21,11)))
cols = diff(floor(linspace(0,23,11)))
,然後你執行:
cellmatrix = mat2cell(inputmat,rows, cols);
如果要在每個維度中指定的單元格數量沒有均勻分配,則這不起作用。 MATLAB會在這種情況下給你一個錯誤。對於OP的情況,他們想要從21×23圖像創建**不均勻**尺寸的10×10個單元。你需要做其他事情,或者修改你調用'mat2cell'的方式來解決尺寸不均勻的單元。 – rayryeng
我想要的是'rows = diff(floor(linspace(0,21,11)))' –
@ Ben Voigt:這是計算行數的正確方法。我會根據您的評論更新我的解決方案。 –
什麼是每個單元格的大小實際需求?你需要10行×10列,但不一定......我不明白你需要什麼。請提供更多細節。 –