在python open cv中降低了相机分辨率但显示窗口更高

时间:2014-02-27 05:04:11

标签: python opencv

我正在开发一个需要在覆盆子pi上进行人脸检测的项目。我有一台USB相机来做这件事。帧速率显然非常慢。因此,我使用 VideoCapture.set()缩小了捕获分辨率。在我设置时,这将分辨率降低到 320,214 。这大大提高了捕获帧速率,但是它在320 X 214上显示了一个窗口上的Feed。我想保持相同的捕获分辨率,但我想要更大尺寸的显示窗口。我只是python和open cv的初学者。请帮帮我。下面是我为简单的相机提供的代码。

    import numpy as np
    import cv2
    import time

    cap = cv2.VideoCapture(-1)

    cap.set(3, 320) #width
    cap.set(4, 216) #height
    cap.set(5, 15)  #frame rate
    time.sleep(2)

    while(cap.isOpened()):
        ret, frame = cap.read()
        cv2.imshow("captured video", frame)
        if cv2.waitKey(33) == ord('q'):
            break

cap.release()
cv2.destroyAllWindows()

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望显示图像是原始图像的放大版本。如果是这样,您只需要cv2.resize

display_scale = 4
height, width = frame.shape[0:2]
height_display, width_display = display_scale * height, display_scale * width
# you can choose different interpolation methods
frame_display = cv2.resize(frame, (display_width, display_height),
                           interpolation=cv2.INTER_CUBIC)
cv2.imshow("captured video", frame_display)