同时显示多个图像流的一种方法是创建单独的对象,每个对象具有自己的线程轮询来自不同相机的图像。然后,您可以将这些图像拼接到一个面板中以显示所有帧。单身 imshow 在抓取每个线程的相机框架后,可以使用面板显示这些框架。一个带4个相框的简单面板:
imshow
面板代码:
import cv2 import numpy as np image = cv2.imread('placeholder5.PNG') # Note all frames must be of the same size image = cv2.resize(image, (0, 0), None, .4, .4) grey = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) grey_3_channel = cv2.cvtColor(grey, cv2.COLOR_GRAY2BGR) numpy_horizontal_row1 = np.hstack((image, grey_3_channel)) numpy_horizontal_row2 = np.hstack((grey_3_channel, image)) combined_images = np.concatenate((numpy_horizontal_row1, numpy_horizontal_row2), axis=0) cv2.imshow('Image panel', combined_images) cv2.waitKey()
例如,我有一个 imshow 面板显示4个不同的摄像头,每个摄像头都有自己的线程来轮询帧。