OpenCV---视频操作

用摄像头捕获视频

bash 复制代码
import cv2 as cv
import numpy
cap = cv.VideoCapture(0)
while(cap.isOpened()):
    ret, frame = cap.read()  # read()   它返回两个值,第一个是布尔值,表示是否成功读取到一帧,第二个是帧本身。
    cv.imshow('Video', frame)
    if cv.waitKey(25) & 0xFF == ord('q'):
        cap.release()
        break
cv.destroyAllWindows()

没有摄像头,我们可以使用一款APPIP摄像头

cap = cv.VideoCapture(0) 0改成IP摄像头内容中的局域网IP

从文件中播放视频

c 复制代码
import cv2 as cv
myVC = cv2.VideoCapture('../video.mp4')      # 设置窗口宽高 myVC.set(3, 160)  myVC.set(4,120)
while True:
    check, frame = myVC.read()
    cv2.imshow('Camera', frame)
    if(cv2.waitKey(1) == ord('q')):
        myVC.release()
        break
cv2.destroyAllWindows()

保存视频

c 复制代码
import cv2 as cv
import numpy as np

myVC = cv.VideoCapture(0)
fourcc = cv.VideoWriter_fourcc(*'XVID')
out = cv.VideoWriter('output.avi', fourcc, 20.0, (640,480))

while(myVC.isOpened()):
    ret, frame = myVC.read()    # 读操作
    if ret == True:
        frame = cv.flip(frame, 0)   # flip() 用于沿Y轴翻转视频的1图像
        out.write(frame)        # 写操作
        cv.imshow('Camera', frame)  # 展示效果:在哪个窗口,哪一帧图像
        if cv.waitKey(1) & 0xFF == ord('q'):
            break
    else:
        break
myVC.release()
out.release()
cv.destroyAllWindows()
相关推荐
jay神20 分钟前
指纹识别考勤打卡系统 - 完整源码项目
人工智能·深度学习·机器学习·计算机视觉·毕业设计
罗兰Yolanda1 小时前
影视后期全流程的核心软件及工作站配置方案推荐
计算机视觉·音视频
AI即插即用2 小时前
即插即用系列 | CVPR 2025 MK-UNet: 多核深度可分离卷积,重新定义轻量级医学图像分割
图像处理·人工智能·深度学习·神经网络·计算机视觉·视觉检测
Struart_R2 小时前
VideoLLM相关论文(二)
计算机视觉·大语言模型·强化学习·多模态·r1
2501_936146042 小时前
柿子目标检测实战:YOLO11-HSFPN网络优化与性能分析
人工智能·目标检测·计算机视觉
_codemonster2 小时前
手语识别及翻译项目实战系列(一)环境准备
人工智能·python·计算机视觉
AAD555888992 小时前
【YOLO13项目实战】(5)镰刀目标检测与识别_C3k2_MBRConv3改进版
人工智能·目标检测·计算机视觉
wfeqhfxz25887822 小时前
柿子与桃子目标检测识别-YOLO11-seg-HGNetV2改进实现
人工智能·目标检测·计算机视觉
ASD123asfadxv3 小时前
【医疗影像检测】VFNet模型在医疗器械目标检测中的应用与优化
人工智能·目标检测·计算机视觉
qwerasda1238523 小时前
青豆质量分类识别_YOLOv5_SPDConv_改进算法_目标检测_深度学习_计算机视觉
算法·计算机视觉·分类