我必須在 MATLAB 或 Python 的通道維度中連接兩個圖像。假設我們采用兩個灰度輸入圖像,其中每個圖像具有例如維度[1, 1, 28, 28](即 1 個圖像、1 個通道、28x28 分辨率)。我們如何將它們連接成一張大小的圖像[1, 2, 28, 28]?
3 回答

函數式編程
TA貢獻1807條經驗 獲得超9個贊
在 MATLAB 中,您通常會cat
為此使用以下命令:
bigMat = cat(dimNo, matA, matB); % dimNo can be 1, 2, ...
但是,在沿2串聯的情況下第二維度,也可以簡單地使用[... ; ...]
:
bigMat = [matA; matB];
(相當于vertcat
函數)。
如果您事先知道要連接多少個矩陣(即結果的最終大?。?,您應該使用 eg 預先分配您的矩陣bigMat = zeros(1, N, 28, 28)
,然后將每個圖像放在與上一個答案類似的正確位置 -
img1(:,n,:,:) = img2; % where n is 1..N, and not anything like end+1
我們不想使用,end+1
因為這會導致與不斷重新分配越來越大的數組和每次復制數組的所有內容相關的性能損失。
添加回答
舉報
0/150
提交
取消