gpt4 book ai didi

python - 如何串联三个图像?

转载 作者:行者123 更新时间:2023-12-02 17:28:08 25 4
gpt4 key购买 nike

ValueError:操作数不能与形状(310,1643,3)一起广播(1673,1643,3)

add = (image1 + image2 + image3)

image1 = cv2.imread("OrchidAMHI0011570910_crop.jpg")
image2 = cv2.imread("OrchidAMHI0011570910_crop1.jpg")
image3 = cv2.imread("OrchidAMHI0011570910_crop2.jpg")
add = (image1 + image2 + image3)
cv2.imshow("Addition", add)

我希望输出是所有三个图像的串联

最佳答案

我假设,您希望将问题正文中提到的图像串联起来。例如,这可以通过使用OpenCV的 hconcat vconcat 函数来完成。

这是垂直连接的简短示例。请注意,所有输入图像的宽度必须相同。对于水平串联,高度必须相同。

我们来看看这三个输入图像:

Input 1

Input 2

Input 3

然后,我们使用以下简短代码段:

import cv2
import numpy as np

# Set up sample images for vertical concatenation; width must be identical
image1 = 64 * np.ones((100, 200, 3), np.uint8)
image2 = 128 * np.ones((200, 200, 3), np.uint8)
image3 = 192 * np.ones((300, 200, 3), np.uint8)

# Concatenate using cv2.vconcat
add = cv2.vconcat([image1, image2, image3])

# Visualization
cv2.imshow('image1', image1)
cv2.imshow('image2', image2)
cv2.imshow('image3', image3)
cv2.imshow('Addition', add)
cv2.waitKey(0)

并且,最终结果如下所示:

Output

另一个选择可能是,因为OpenCV在后台使用NumPy来使用 vstack 。所以,代替

add = cv2.vconcat([image1, image2, image3])

你也可以使用

add = np.vstack([image1, image2, image3])

希望有帮助!

关于python - 如何串联三个图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57767026/

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