PYTHON - 如何返回cv2.imshow窗口的大小?

6

自从我使用了cv2.namedWindow('Frame', cv2.WINDOW_NORMAL),我能够在运行时调整窗口大小,但是我也想打印新的窗口大小。 有人能帮忙吗?

更新: 这不是完整的代码,但类似于以下内容:

cap = cv2.VideoCapture(0)
cv2.namedWindow('Frame', cv2.WINDOW_NORMAL)
while(True):
    # Capture frame-by-frame
    ret, frame = cap.read()

    cv2.imshow('Frame',frame)
    print(frame.shape) #prints image dimension
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

即使我调整了窗口大小,它仍然保持打印(480, 640, 3)。

图片大小是窗口大小。因此,请打印您要打印的图像大小。 - Ishara Madhawa
我尝试过了,但图像大小仍然保持不变。不知道为什么 :( - Mae Mara
请问您能否上传完整的代码? - Ishara Madhawa
@IsharaMadhawa,请查看我的更新帖子 :) - Mae Mara
1个回答

14

您可以使用以下指令。

cv2.getWindowImageRect('Frame')

这将返回一个元组(x, y, w, h),其中包含当前显示在名为'Frame'的窗口中的图像的详细信息。

注意:这将返回有关图像的详细信息,但不包括图像所在窗口的信息。

编辑注意:此函数出现在 opencv 3.4.1 版本之后。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接