如何使用OpenCV实现视频全屏播放?
使用OpenCV实现Python视频全屏播放的解决方案
嘿,作为编程新手刚接触OpenCV确实会遇到这类小问题,别慌,我来给你讲清楚怎么实现视频全屏播放,还给你补全代码~
首先,OpenCV实现全屏的核心是给窗口设置全屏属性,然后在播放循环里正常读取并显示视频帧就行。下面是适配你Python3.6.3版本的完整代码:
import cv2 import numpy as np import os # 这个设置可以让窗口居中(对全屏影响不大,但保留也没问题) os.environ['SDL_VIDEO_CENTERED'] = '1' # 打开视频文件,替换成你的视频路径 cap = cv2.VideoCapture("video.mp4") # 创建窗口并设置全屏属性 cv2.namedWindow("Fullscreen Video", cv2.WND_PROP_FULLSCREEN) # 将窗口设置为全屏模式 cv2.setWindowProperty("Fullscreen Video", cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN) while cap.isOpened(): # 读取一帧视频 ret, frame = cap.read() if not ret: # 视频播放完毕或者读取失败,退出循环 break # 在全屏窗口显示帧 cv2.imshow("Fullscreen Video", frame) # 按Q键或者ESC键退出播放(等待1ms检测按键) if cv2.waitKey(1) & 0xFF in [ord('q'), 27]: break # 释放视频资源并关闭所有窗口 cap.release() cv2.destroyAllWindows()
我给你拆解下关键步骤:
cv2.namedWindow():先创建一个窗口,第二个参数指定窗口属性支持全屏cv2.setWindowProperty():把刚才创建的窗口切换为全屏模式,第三个参数cv2.WINDOW_FULLSCREEN就是全屏标识- 播放循环里必须用你创建的那个窗口名(这里是"Fullscreen Video")来显示帧,不然会弹出新的小窗口
- 一定要加按键退出逻辑,不然全屏后你可能没法正常关闭程序,按Q或者ESC都可以退出
- 最后记得释放视频捕获对象和关闭窗口,这是好习惯,避免资源占用
还有几个小提醒:
- 如果视频的分辨率和你的屏幕比例不一样,OpenCV会自动拉伸视频填充全屏,要是想保持比例的话就得额外处理,但新手先实现全屏播放就好
- 要是你的视频路径不在当前脚本目录下,记得写完整的绝对路径,比如
"C:/videos/video.mp4"(Windows)或者"/home/user/videos/video.mp4"(Linux/Mac)
内容的提问来源于stack exchange,提问作者A.J
相关产品推荐
相关产品推荐

