gpt4 book ai didi

python - 连接图像矩阵中的图像

转载 作者:行者123 更新时间:2023-11-30 21:59:00 26 4
gpt4 key购买 nike

我有 4 个图像,每个图像的宽度和高度均为 8。它们属于形状为 [4,8,8] 的向量。我将图像向量 reshape 为形状为 [2,2,8,8] 的图像矩阵。

如何连接矩阵内部的图像以生成单个图像,以便形状变为 [16,16]?我希望将图像连接起来,以便保持它们在矩阵中的 x,y 位置 - 本质上只是将单独的图像缝合在一起形成单个图像。

我有一种感觉,这可以在 numpy 中轻松完成,甚至可以在 tensorflow 中完成,但我对 python 中的任何好的解决方案持开放态度。

visual of my problem

最佳答案

您可以将numpy.concatenate与不同的轴一起使用。下面是一个使用 4 个形状为 [2 2] 的图像的简化版本示例,它会生成一个 [4 4]结果图像:

import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
c = np.array([[9, 10], [11, 12]])
d = np.array([[13, 14], [15, 16]])

ab = np.concatenate((a, b), axis=1)
cd = np.concatenate((c, d), axis=1)
abcd = np.concatenate((ab, cd), axis=0)

>>> print(abcd)
array([[ 1, 2, 5, 6],
[ 3, 4, 7, 8],
[ 9, 10, 13, 14],
[11, 12, 15, 16]])
>>> print(abcd.shape)
(4, 4)

只需将此代码适应您的代码,而不是使用 a, b, c, d 通过张量的第一个维度连接图像,类似于 np.concatenate((t [0], t[1]), axis=1)t 形状为 [4 8 8] 的张量。

否则,正如其他答案所建议的,您可以使用两次 numpy.hstack 函数两次,但我认为它的行为并不那么容易阅读,甚至代码更少。

关于python - 连接图像矩阵中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54721964/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com