opencv多张图片拼接
时间: 2023-09-03 12:15:39 浏览: 328
在 OpenCV 中,我们可以使用 `cv2.hconcat()` 和 `cv2.vconcat()` 函数来将多张图片拼接在一起。其中,`cv2.hconcat()` 用于水平拼接,即将多张图片在水平方向上拼接在一起;`cv2.vconcat()` 用于垂直拼接,即将多张图片在垂直方向上拼接在一起。
下面是一个使用 `cv2.hconcat()` 和 `cv2.vconcat()` 函数对多张图片进行拼接的示例代码:
```python
import cv2
# 读取多张图片
img1 = cv2.imread("image1.jpg")
img2 = cv2.imread("image2.jpg")
img3 = cv2.imread("image3.jpg")
# 将多张图片在水平方向上拼接
h_concatenated_img = cv2.hconcat([img1, img2, img3])
# 将多张图片在垂直方向上拼接
v_concatenated_img = cv2.vconcat([img1, img2, img3])
# 显示拼接后的图片
cv2.imshow("Horizontal Concatenated Image", h_concatenated_img)
cv2.imshow("Vertical Concatenated Image", v_concatenated_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的代码中,我们首先使用 `cv2.imread()` 函数读取了多张图片。然后,我们使用 `cv2.hconcat()` 函数将这些图片在水平方向上拼接在一起,得到了一个水平拼接后的图片 `h_concatenated_img`;使用 `cv2.vconcat()` 函数将这些图片在垂直方向上拼接在一起,得到了一个垂直拼接后的图片 `v_concatenated_img`。最后,我们使用 `cv2.imshow()` 函数显示拼接后的图片,使用 `cv2.waitKey()` 函数等待用户输入,使用 `cv2.destroyAllWindows()` 函数关闭所有窗口。
需要注意的是,使用 `cv2.hconcat()` 和 `cv2.vconcat()` 函数进行拼接时,需要保证每张图片的尺寸和通道数都相同,否则会出现拼接不成功的情况。
阅读全文