提取二維矩陣中分塊後指定的塊

2021-06-16 04:08:19 字數 867 閱讀 9263

對乙個二維矩陣i(n×n)進行分塊(塊大小為n×n),並提取其中第ii塊中的元素

% 對二維矩陣i進行[n n]分塊,取其中第ii塊中的元素

function x = getblock(i, n, ii)

n = size(i, 1);

n1 = n / n;

n2 = n * n;

[a, b] = ind2sub([n1 n1], ii);

p = (b-1) * n * (n1 * n) + (a-1) * n;   % 計算i中第ii塊之前的元素個數

c = 1;

for i = 1 : n

for j = 1 : n                       % 從p點向下走n步

x(c) = i(p+j);

c = c + 1;

endp = p + n;                          % 從p點向右走n步(因為i中每一列有n個元素)

endx = reshape(x, n, n);

測試**:(分別提取i中各塊的資料)

clear;

clc;

i = magic(4);

n = size(i, 1);

n = 2;

blocknum = round(n * n / (n * n));      % 取整

for ii = 1 : blocknum

x(:, :, ii) = getblock(i, n, ii);   % 取得第ii塊中的元素

end% 輸出塊中的內容

for ii = 1 : blocknum

i, ii

y = x(:, :, ii)

end執行結果:

二維矩陣與二維矩陣之間的卷積

最近在學習數字影象處理 digital image processing,dip 這門課,感覺有些吃力。由於在數字訊號處理 digital singal processing,dsp 這門課中只學了一維矩陣之間的卷積運算。假設我們的卷積核h為kernel矩陣 33 待處理矩陣f x,y 為 55 h...

二維矩陣的一維訪問方式

hdu1045fire net 題意 點代表空地,x代表牆。問空地最多能放置多少個炮 炮能夠向上下左右四個方向打,但是牆打不穿 使互相攻擊不到?簡單dfs,遞迴深度就是炮的個數,不過二維矩陣的訪問方式要變成一維的,從1到n n的方式訪問,可以避免大量重複 include include includ...

求二維矩陣和最大的子矩陣

一 題目 求二維矩陣中和最大的子矩陣。二 設計思路 將二維陣列轉化為一維陣列,在運用一維陣列求最大子陣列方法求出。c 0 a 0 c 1 a 0 a 1 依次往下。將二維陣列存到txt檔案中。三 源 1 include2 include3 void writefile int a 20 int le...