如何将两个矩阵连接成一个矩阵?所得矩阵的高度应与两个输入矩阵的高度相同,其宽度应等于两个输入矩阵的宽度之和。
我正在寻找一个预先存在的方法,它将执行与此代码等效的操作:
def concatenate(mat0, mat1):
# Assume that mat0 and mat1 have the same height
res = cv.CreateMat(mat0.height, mat0.width + mat1.width, mat0.type)
for x in xrange(res.height):
for y in xrange(mat0.width):
cv.Set2D(res, x, y, mat0[x, y])
for y in xrange(mat1.width):
cv.Set2D(res, x, y + mat0.width, mat1[x, y])
return res
我知道这个问题很老了,但我偶然发现了它,因为我想连接二维数组(不仅仅是一维的连接)。
np.hstack
不会这样做。假设您有两个
640x480
图像,它们只是二维的,那么使用dstack
。如果您使用的是cv2(那么您将获得Numpy支持),那么您可以使用Numpy函数
np.hstack((img1,img2))
来执行此操作。例如:
你应该使用
cv2
。Legacy使用cvmat。但是numpy数组非常容易使用。正如@abid-rahman-k所建议的,您可以使用hstack(我不知道),所以我使用了这个。
但是如果你想使用遗留代码,这应该会有帮助
假设img0的高度大于图像的高度
相关问题 更多 >
编程相关推荐