【发布时间】:2020-06-06 14:47:33
【问题描述】:
我正在处理opencv python 项目raspberry pi 4(pi)。 Pi 连接到分辨率为800x480 的屏幕。 Picamera 还连接到 pi 以获取实时视频源。我需要在框架右侧显示视频源,在框架左侧显示一些信息。为此,我有以下代码:
frame = cap.read()
frame = imutils.resize(frame, width=400, height=480)
frame2 = np.zeros((frame.shape[0], 400, frame.shape[2]), dtype=frame.dtype)
(H, W) = frame.shape[:2]
(H1, W1) = frame2.shape[:2]
print("Frame {}, {}".format(H, W))
print("Frame2 {}, {}".format(H1, W1))
cv2.putText(frame2, "Some Information", (5, 30), cv2.FONT_HERSHEY_COMPLEX_SMALL, 1, (0, 0, 255), 1)
cv2.putText(frame2, "More Information", (5, 60), cv2.FONT_HERSHEY_COMPLEX_SMALL, 1, (0, 0, 255), 1)
cv2.putText(frame2, "Some More Information", (5, 90), cv2.FONT_HERSHEY_COMPLEX_SMALL, 1, (0, 0, 255), 1)
image = np.hstack((frame2, frame))
cv2.namedWindow(win_name, cv2.WINDOW_NORMAL)
cv2.setWindowProperty(win_name, cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN)
cv2.imshow(win_name, image)
key = cv2.waitKey(1) & 0xFF
if key == ord("q"):
break
代码说明:
我已将frame 的大小调整为400x480,因为我们的总宽度是800,所以我将它分成两个相等的部分,保持高度相同480。这个frame 将在右侧显示视频源。我还创建了frame2,它将在左侧显示信息。我也将其宽度保持为400,不知道如何设置高度。运行此代码,我得到以下输出:
如您所见,输出帧被平均分为宽度为 400 但高度已减少到 300 的两部分,如打印输出所示
Frame 300, 400
Frame2 300, 400
谁能解释为什么高度减少到300而不是480。有什么办法可以将高度保持在480。请帮忙。谢谢
【问题讨论】:
标签: python image opencv image-processing