python - 在通道维度连接两个图像?
问题描述
我必须在 MATLAB 或 Python 中连接两个通道维度中的图像。
假设我们采用两个灰度输入图像,其中每个图像都具有例如尺寸[1, 1, 28, 28]
(即 1 个图像、1 个通道、28x28 分辨率)。我们如何将它们连接成一个 size 的图像[1, 2, 28, 28]
?
解决方案
在 MATLAB 中,您通常会cat
为此使用以下命令:
bigMat = cat(dimNo, matA, matB); % dimNo can be 1, 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
它,因为这会导致与不断重新分配越来越大的数组以及每次复制数组的所有内容相关的性能损失。
推荐阅读
- java - How to change font size in style.xml for docx using apache poi
- html - 如何自动输入信息通过 URL 中的参数?
- delphi - 使用 websocket 发送原始数据,最好的方法是什么?
- telerik - 格式化剑道网格列中的数据
- java - 尝试为学习目的编写井字游戏
- c# - WPF 派生的用户控件不在 Visual Studio 中打开(但运行)
- neo4j - 如何将 neo4j 节点的属性存储为数组?
- javascript - 循环遍历最后一个 td 以在每个 tr jquery 中附加数据
- python-3.x - 具有超过 4 个组件的 GLSL 纹理
- php-7 - 如何将 PHP5 代码修复为 PHP7