open cv学习 (十一)视频处理

这篇具有很好参考价值的文章主要介绍了open cv学习 (十一)视频处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

视频处理

demo1
import cv2
# 打开笔记本内置摄像头
capture = cv2.VideoCapture(0)
# 笔记本内置摄像头被打开
while capture.isOpened():
    # 从摄像头中实时读取视频
    retval, image = capture.read()
    # 在窗口中实时显示读取到的视频
    cv2.imshow("Video", image)
    # 等到用户按下键盘的时间为1ms
    key = cv2.waitKey(1)
    # 如果用户按下空格键
    if key == 32:
        break


capture.release()
cv2.destroyAllWindows()
demo2
import cv2
# 打开笔记本内置摄像头
capture = cv2.VideoCapture(0, cv2.CAP_DSHOW)
# 笔记本内置摄像头被打开
while capture.isOpened():
    # 从摄像头中实时读取视频
    retval, image = capture.read()
    image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    # 在窗口中实时显示读取到的视频
    cv2.imshow("Video", image_gray)
    # 等到用户按下键盘的时间为1ms
    key = cv2.waitKey(1)
    # 如果用户按下空格键
    if key == 32:
        break


capture.release()
cv2.destroyAllWindows()
demo3
import cv2
# 打开笔记本内置摄像头
capture = cv2.VideoCapture(0, cv2.CAP_DSHOW)
# 笔记本内置摄像头被打开
while capture.isOpened():
    # 从摄像头中实时读取视频
    retval, frame = capture.read()
    # 在窗口中实时显示读取到的视频
    cv2.imshow("Video", frame)
    # 等到用户按下键盘的时间为1ms
    key = cv2.waitKey(1)
    # 如果用户按下空格键
    if key == 32:
        capture.release()
        cv2.destroyWindow("Video")
        cv2.imwrite("./copy.png", frame)
        cv2.imshow("img", frame)
        break
cv2.destroyAllWindows()
demo4
import cv2
# 打开视频文件
video = cv2.VideoCapture("公司宣传.avi")

while video.isOpened():
    # 读取视频
    retval, image = video.read()
    # 设置窗口
    cv2.namedWindow("Video", 0)
    cv2.resizeWindow("Video", 432, 300)

    if retval == True:
        cv2.imshow("Video", image)
    else:
        break
    key = cv2.waitKey(1)
    if key == 27:
        break
video.release()
cv2.destroyAllWindows()
demo5
import cv2
# 打开视频文件
video = cv2.VideoCapture("公司宣传.avi")

while video.isOpened():
    # 读取视频
    retval, image = video.read()
    # 设置窗口
    cv2.namedWindow("Gray", 0)
    cv2.resizeWindow("Gray", 432, 300)

    if retval == True:
        img_Gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
        cv2.imshow("Gray", img_Gray)
    else:
        break
    key = cv2.waitKey(1)
    if key == 27:
        break
video.release()
cv2.destroyAllWindows()
demo6
import cv2
# 打开视频文件
video = cv2.VideoCapture("公司宣传.avi")

while video.isOpened():
    # 读取视频
    retval, image = video.read()
    # 设置窗口
    cv2.namedWindow("Video", 0)
    cv2.resizeWindow("Video", 420, 300)

    if retval == True:
        cv2.imshow("Video", image)
    else:
        break
    key = cv2.waitKey(50)
    if key == 32:
        cv2.waitKey(0)
        continue
    if key == 27:
        break

video.release()
cv2.destroyAllWindows()
demo7
import cv2
# 打开视频文件
video = cv2.VideoCapture("公司宣传.avi")
fps = video.get(cv2.CAP_PROP_FPS)
# 获取视频文件的帧数
frame_Count = video.get(cv2.CAP_PROP_FRAME_COUNT)
# 获取视频文件的帧宽度
frame_Width = int(video.get(cv2.CAP_PROP_FRAME_WIDTH))
# 获取视频文件的帧高度
frame_Height = int(video.get(cv2.CAP_PROP_FRAME_HEIGHT))
print("帧速率:", fps)
print("帧数:", frame_Count)
print("帧宽度:", frame_Width)
print("帧高度:", frame_Height)
demo8
import cv2
# 打开视频文件
video = cv2.VideoCapture("output.avi")
fps = video.get(cv2.CAP_PROP_FPS)
frame_Num = 1
while video.isOpened():
    # 读取视频
    retval, frame = video.read()
    # 设置窗口
    cv2.namedWindow("Video", 0)
    cv2.resizeWindow("Video", 420, 300)
    if retval == True:
        cv2.putText(frame, "frame:" + str(frame_Num), (0, 100), cv2.FONT_HERSHEY_SIMPLEX, 2, (0, 0, 255), 5)
        cv2.putText(frame, "second:" + str(round(frame_Num/fps, 2)) + "s", (0, 200), cv2.FONT_HERSHEY_SIMPLEX, 2, (0, 0, 255), 5)
        cv2.imshow("Video", frame)
    else:
        break

    key = cv2.waitKey(50)
    frame_Num+=1
    if key == 27:
        break

video.release()
cv2.destroyAllWindows()
demo9
import cv2
# 打开笔记本内置摄像头
capture = cv2.VideoCapture(0, cv2.CAP_DSHOW)
# 确定视频被保存的编码格式
fourcc = cv2.VideoWriter_fourcc('X', 'V', 'I', 'D')

# 创建VideoWriter类对象
output = cv2.VideoWriter("output.avi", fourcc, 20, (640, 480))

while capture.isOpened():
    retval, frame = capture.read()
    if retval == True:
        output.write(frame)
        cv2.imshow("frame", frame)
    key = cv2.waitKey(1)
    if key == 27:
        break
capture.release()
output.release()
cv2.destroyAllWindows()

文章来源地址https://www.toymoban.com/news/detail-660934.html

到了这里,关于open cv学习 (十一)视频处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 音视频项目—基于FFmpeg和SDL的音视频播放器解析(二十一)

    介绍 在本系列,我打算花大篇幅讲解我的 gitee 项目音视频播放器,在这个项目,您可以学到音视频解封装,解码,SDL渲染相关的知识。您对源代码感兴趣的话,请查看基于FFmpeg和SDL的音视频播放器 如果您不理解本文,可参考我的前一篇文章音视频项目—基于FFmpeg和SDL的音视

    2024年02月02日
    浏览(54)
  • 音视频 FFmpeg音视频处理流程

    推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家: 零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核) https://xxetb.xet.tech/s/VsFMs

    2024年02月12日
    浏览(44)
  • 【音视频原理】音视频 “ 采样 - 编码 - 封装 过程 “ 和 “ 解封装 - 解码 - 播放 过程 “ 分析 ( 视频采集处理流程 | 音频采集处理流程 | 音视频文件解封装播放流程 )

    本篇文件主要分析 音视频文件 是怎么产生的 , 以及 音视频文件是如何播放的 ; 视频文件从录像到生成文件的全过程 : 采集图像帧 : 摄像头 硬件 负责 采集画面 , 采集的 初始画面 称为 \\\" 图像帧 \\\" , 一秒钟 采集 的 图像帧 数量 称为 \\\" 帧率 \\\" , 如 : 60 帧 就是 一秒钟采集 60 个画

    2024年02月11日
    浏览(51)
  • [音视频处理] FFmpeg使用指北1-视频解码

    本文将详细介绍如何使用ffmpeg 4.4在C++中解码多种格式的媒体文件,这些媒体文件可以是视频、视频流、图片,或是桌面截屏或USB摄像头的实时图片。解码文件后,还将每帧图片转换为OpenCV的Mat格式以供后续使用。 目录 1 基于ffmpeg的媒体文件解码 1.1 简介 1.2 详细代码 2 ffmpeg函

    2024年02月07日
    浏览(47)
  • Python的音视频文件处理

    ffmpeg-python 是 ffmpeg 的一个包装,通过 python 调用 ffmpeg 的 API ,实现高效的音视频文件处理 开始之前 安装 ffmpeg 安装 ffmpeg-python 参考 ffmpeg官方网站 ffmpeg-python的代码库与技术文档 技术背景 音视频文件处理流程 输入文件 ⟹ 解封装 已编码的数据包 ⟹ 解码 被编码的帧 ( 可进行

    2024年02月03日
    浏览(38)
  • Java音视频处理——JavaCV

    目录   简介 Maven 软件环境 JavaCV-Examples OpenCV Cookbook Examples 概述 示例 OpenCV文档 如何使用JavaCV示例 示例代码的组织结构 示例列表 Why Scala? 学习地址 图像简单处理代码示例 1.打开保存一张图  2.画直线 3.画圆圈 4.画折现 5.添加文字水印 6.裁剪并局部放大 7.人脸检测 视频简单处

    2024年02月03日
    浏览(74)
  • 音视频学习-音视频基础

    ` ◼ 像素:像素是一个图片的基本单位,pix是英语单词picture的简写,加上英语单词“元素element”,就得到了“pixel”,简称px,所以“像素”有“图像元素”之意。 ◼ 分辨率:是指图像的大小或尺寸。比如1920x1080。 ◼ 位深:是指在记录数字图像的颜色时,计算机实际上是用

    2024年02月12日
    浏览(42)
  • 音视频学习—音视频理论基础(2)

      音频是一种模拟信号,它是由声波转化而来的电信号。声波是通过气体、液体或固体传播的机械波,代表了声音的震动。在录制过程中,声音被转换成电信号,然后被储存在数字格式中。   声音的三要素是频率、振幅和波形   频率是指声波的振动次数,通常使用赫

    2024年04月29日
    浏览(27)
  • 【Webpack】处理字体图标和音视频资源

    打开阿里巴巴矢量图标库open in new window 选择想要的图标添加到购物车,统一下载到本地 src/fonts/iconfont.ttf src/fonts/iconfont.woff src/fonts/iconfont.woff2 src/css/iconfont.css 注意字体文件路径需要修改 src/main.js public/index.html type: \\\"asset/resource\\\" 和 type: \\\"asset\\\" 的区别: type: \\\"asset/resource\\\"  相当于

    2024年02月20日
    浏览(39)
  • FFmpeg音视频处理工具介绍及应用

    FFmpeg项目由 Fabrice Bellard在2000年创立。到目前为止,FFmpeg项目的开发者仍然与VLC、MPV、dav1d、x264等多媒体开源项目有着广泛的重叠。Ffmpeg(FastForward Mpeg)是一款遵循GPL的开源软件,在音视频处理方面表现十分优秀,几乎囊括了现存所有的视音频格式的编码,解码、转码、混合

    2024年02月08日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包