我正在從事圖像處理項目MATLAB。爲了更容易地預處理圖像,我已經將它分成行和列,所以從原始圖像(2D uint8矩陣)開始,現在我有一個3D矩陣,就像一個堆棧。MATLAB - 合併子矩陣
處理每個塊之後,我想再次重新構圖。問題是行數和列數是動態的,所以我不能使用(或不知道如何在這裏使用它)cat
命令或[firstsubmatrix secondsubmatrix]
語法。
順便說一句,我做的分工是這樣的:那麼對於每個塊
numRows = 3
numCols = 3
blockHeight = originalHeight/numRows;
blockWidth = originalWidth/numCols;
blocks = uint8(zeros(numCols * numRows, blockHeight, blockWidth));
,我填寫使用其內容
y0 = (row - 1) * rowHeight + 1;
y1 = row * rowHeight;
x0 = (col - 1) * rowWidth + 1;
x1 = col * rowWidth;
blocks(numBlock, :, :) = originalImage(y0:y1, x0:x1);
是否有這樣做的更好的方法,並任何塊的方式加入?
您可能會發現這有用:http://www.mathworks.com/help/toolbox/images/ref/blockproc.html(或舊版本的blkproc )。 – 2011-06-08 19:51:32