OpenCV读取视频报错的问题怎么解决
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,这篇文章的内容主要围绕OpenCV读取视频报错的问题怎么解决进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!最
千家信息网最后更新 2025年01月21日OpenCV读取视频报错的问题怎么解决
这篇文章的内容主要围绕OpenCV读取视频报错的问题怎么解决进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!
最近由于项目的需要,经常需要使用opencv读视频操作,会经常遇到一个问题,就是视频读完之后会出现报错的情况,虽然不影响代码结果,但是对于吹毛求疵的我实在忍受不了。
会报错的程序:
# -*-coding:utf-8-*-"""File Name: read_video.pyProgram IDE: PyCharmCreate File By Author: Hong"""import cv2def 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, inread_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.pyProgram IDE: PyCharmCreate File By Author: Hong"""import cv2def 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
感谢你的阅读,相信你对"OpenCV读取视频报错的问题怎么解决"这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注网站!小编会继续为大家带来更好的文章!
视频
问题
路径
结果
代码
内容
工具
文件
文章
程序
篇文章
输入
输出
吹毛求疵
兴趣
函数
原因
只有
就是
情况
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
公网服务器怎么看
p2p网络技术如何实现
长沙培训软件开发流程
分离数据库学号加姓名
aix 创建数据库
小学生身边的网络安全案例
bim服务器在哪里安装
常熟网络技术咨询费用
宁夏戴尔服务器虚拟化部署
惠州2d相机软件开发
剑灵服务器人数
博尔塔拉软件开发要多少钱
网络安全青少年日内容
ibm 服务器登录
网络技术与运用军职在线答案
插数据库插入很多个字段
数据库实验指导书
瀚高安全版数据库
郑州人工智能软件开发机构
武汉国家电网网络安全学院
静安区互联网络技术服务介绍
网络安全有哪些行业
用友软件 数据库服务器
惠山区加工软件开发市场价格
数据库技术大牛
网络安全信息概念
浪潮服务器主机架
怎么输出数据库表的行数
网络安全的环境是什么
校园网络安全工作责任制度