You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:31:40