在播放本地视频或读取摄像头内容时,画面可能很大,导致窗口几乎铺在整个屏幕上,没办法缩小,并且程序是在while中循环的,也没办法关闭,很闹心。就需要在程序中固定窗口的大小。

走过的坑在此记录一下。

import cv2
 
cap = cv2.VideoCapture('./1.mp4')
fps = cap.get(cv2.CAP_PROP_FPS)

while cap.isOpened():
    ret, frame = cap.read()
    # 注意:namedWindow、resizeWindow、imshow三个函数中的字符串必须相同,否则无法实现固定窗口大小的效果
    cv2.namedWindow("test", 0)  
    cv2.resizeWindow("test", 500, 300)    # 设置窗口的长和宽
    cv2.imshow('test', frame)
    cv2.waitKey(int(fps))
 
cap.release()
cv2.destroyAllWindows()


Solryu
18 声望5 粉丝