返回顶部
首页 > 资讯 > 后端开发 > Python >PythonOpenCV读取视频报错的问题解决
  • 227
分享到

PythonOpenCV读取视频报错的问题解决

2024-04-02 19:04:59 227人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

最近由于项目的需要,经常需要使用OpenCV读视频操作,会经常遇到一个问题,就是视频读完之后会出现报错的情况,虽然不影响代码结果,但是对于吹毛求疵的我实在忍受不了。 会报错的程序:

最近由于项目的需要,经常需要使用OpenCV读视频操作,会经常遇到一个问题,就是视频读完之后会出现报错的情况,虽然不影响代码结果,但是对于吹毛求疵的我实在忍受不了。

会报错的程序:

# -*-coding:utf-8-*-
"""
File Name: read_video.py
Program IDE: PyCharm
Create File By Author: Hong
"""
import cv2


def read_video(video_path: str):
    """
    OpenCV读视频小工具,解决视频读完报错的问题
    :param video_path: 输入需要读取的视频文件路径
    :return: 没有返回值
    """
    print('视频路径:', video_path)
    cap = cv2.VideoCapture(video_path)
    while cap.isOpened():
        # get a frame
        ret, frame = cap.read()

        cv2.imshow("capture", frame)

        if cv2.waiTKEy(1) & 0xFF == ord('q'):
            break
    print('视频读完!')
    cap.release()
    cv2.destroyAllwindows()


if __name__ == '__main__':
    path = r'D:\multi_insect_videos\multi_object00.mp4'
    read_video(path)

可以把视频正常读完,但是结果会输出错误

Traceback (most recent call last):
  File "E:/PyCharmDocument/create_ST_image/multi_insect_processing/crop_video_to_images.py", line 76, in <module>
    read_video(path)
  File "E:/PyCharmDocument/create_ST_image/multi_insect_processing/crop_video_to_images.py", line 65, in read_video
    cv2.imshow("capture", frame)
cv2.error: OpenCV(4.5.3) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-uzca7qz1\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'

原因是视频结束后,opencv的imshow()函数读不了帧就出错了。解决方法:在imshow()之前加入判断,只有当有帧时才读,没有帧时直接退出循环。

不会报错的代码:

# -*-coding:utf-8-*-
"""
File Name: read_video.py
Program IDE: PyCharm
Create File By Author: Hong
"""
import cv2


def read_video(video_path: str):
    """
    OpenCV读视频小工具,解决视频读完报错的问题
    :param video_path: 输入需要读取的视频文件路径
    :return: 没有返回值
    """
    print('视频路径:', video_path)
    cap = cv2.VideoCapture(video_path)
    while cap.isOpened():
        # get a frame
        ret, frame = cap.read()
        if not ret:
            break
        cv2.imshow("capture", frame)

        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    print('视频读完!')
    cap.release()
    cv2.destroyAllWindows()


if __name__ == '__main__':
    path = r'D:\multi_insect_videos\multi_object00.mp4'
    read_video(path)

程序输出结果:

视频路径: D:\multi_insect_videos\multi_object00.mp4
视频读完!

Process finished with exit code 0

到此这篇关于python OpenCV读取视频报错的问题解决的文章就介绍到这了,更多相关Python OpenCV读取视频报错内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: PythonOpenCV读取视频报错的问题解决

本文链接: https://lsjlt.com/news/162071.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • PythonOpenCV读取视频报错的问题解决
    最近由于项目的需要,经常需要使用opencv读视频操作,会经常遇到一个问题,就是视频读完之后会出现报错的情况,虽然不影响代码结果,但是对于吹毛求疵的我实在忍受不了。 会报错的程序: ...
    99+
    2024-04-02
  • OpenCV读取视频报错的问题怎么解决
    这篇文章的内容主要围绕OpenCV读取视频报错的问题怎么解决进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!最近由于项目的需要,经常需要使用openc...
    99+
    2023-06-26
  • springboot读取application.yml报错问题及解决
    目录springboot读取application.yml报错错误信息如下@Value读取Application.yml为null项目需求解决办法springboot读取applic...
    99+
    2024-04-02
  • pythonOpenCV的imread不能读取中文路径问题及解决
    目录OpenCV的imread不能读取中文路径问题OpenCV imread()函数 (从文件加载图像)OpenCV的imread不能读取中文路径问题 import numpy as...
    99+
    2024-04-02
  • 解决spring-integration-mqtt频繁报Lostconnection错误问题
    目录问题描述解决过程总结问题描述 在之前的博客介绍了如何在 Spring Boot 集成 MQTT,后面使用中没有发现问题,最近发现一直报错: Lost connection: Co...
    99+
    2023-03-11
    spring-integration-mqtt Lost connection Lost connection错误
  • Python读取xlsx文件报错:xlrd.biffh.XLRDError: Excel xlsx file;not supported问题解决
    目录发现错误(1)检查第三方库xlrd的版本:(2)别忘了修改import名称与调用的包名称总结发现错误 利用Python库xlrd中的xlrd.open_workbook()函数读...
    99+
    2024-04-02
  • 如何解决移动端HTML5音频与视频的问题
    小编给大家分享一下如何解决移动端HTML5音频与视频的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!最近在研究用视频代替动画,用视频代替精灵动画,我们称这种视...
    99+
    2023-06-09
  • 解决Android MediaRecorder录制视频过短问题
    具体表现:   调用MediaRecorder的start()与stop()间隔不能小于1秒(有时候大于1秒也崩),否则必崩。  错误信息: j...
    99+
    2022-06-06
    mediarecorder Android
  • numbaCUDA报错的问题解决
    先打开cmd控制面板,输入nvcc --version,确认电脑上没有cuda 打开nvidia控制面板,看到显卡型号是3050 在帮助–系统信息下打开弹窗,在&ld...
    99+
    2023-02-02
    numba CUDA报错 numba CUDA
  • CentOS下OpenCV无法读取视频文件如何解决?
    在CentOS下,按照教程的步骤安装OpenCV,但到最后无法读取视频文件,原因是缺少了ffmpeg。于是通过CentOS中的软件管理安装ffmqeg,但还是没有效果。然后对ffmpeg进行编译,还是没有效果。其实漏了一个关键...
    99+
    2022-05-21
    OpenCV 无法读取视频
  • Typescript文件被识别为视频的问题解决
    目录概念引入问题现象解决办法恢复视频模式概念引入 TypeScript 是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成Transport ...
    99+
    2024-04-02
  • SpringBoot中如何解决读取properties文件读取问题
    目录如何解决读取properties文件读取问题问题描述路径设置中文乱码读取指定properties文件设置配置属性类型配置文件如何解决读取properties文件读取问题 问题描述...
    99+
    2024-04-02
  • 如何解决C#读取Excel遇到无法读取的问题
    这篇文章主要讲解了“如何解决C#读取Excel遇到无法读取的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决C#读取Excel遇到无法读取的问题”吧!C#读取Excel问题的发现:...
    99+
    2023-06-17
  • springboot读取application.yml报错怎么解决
    今天小编给大家分享一下springboot读取application.yml报错怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2023-07-02
  • python视频转化字节问题怎么解决
    本文小编为大家详细介绍“python视频转化字节问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“python视频转化字节问题怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。步骤将视频转化为一帧一...
    99+
    2023-06-30
  • 如何解决Html5中视频、音频标签的进度条问题
    这篇文章主要为大家展示了“如何解决Html5中视频、音频标签的进度条问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决Html5中视频、音频标签的进度条...
    99+
    2024-04-02
  • 解决报java.lang.AssertionError错误的问题
    目录报java.lang.AssertionError错误在使用Assert.assertEquals时报一个错误首先我们的明白Assert的用法java.lang.Assertio...
    99+
    2024-04-02
  • Vuexunknownactiontype报错问题及解决
    目录Vuex unknown action type报错vuex unknown action type:***总结Vuex unknown action type报错 在项目中使用...
    99+
    2023-02-12
    Vuex unknown action type Vuex报错
  • pipsearch报错问题及解决
    目录pip search报错解决如下其他常见的操作总结pip search报错 在用pip查包名时搜到的都是:pip search xxx。但这样是报错的: 查找发现pip sea...
    99+
    2022-12-17
    pip search报错 pip search search报错
  • python读取数据报错怎么解决
    当Python读取数据时报错,通常有以下几种可能的解决方法: 检查文件路径是否正确:确保你指定的文件路径是正确的,包括文件名和文...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作