OpenCV读取视频报错的问题怎么解决
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章的内容主要围绕OpenCV读取视频报错的问题怎么解决进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!最
千家信息网最后更新 2025年11月07日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安全错误
数据库的锁怎样保障安全
数据库数据量可视化
网址办之前还要设置网络安全
服务器提示安全连接已经关闭
高中英语作文网络安全
免费云主机服务器
梅州无限软件开发商家
交通运输运管所网络安全
职工网络安全教育简报
大连靠谱医疗健康软件开发
数据库NBA球队管理系统
工业控制网络技术学习体会
中科院在线数据库
龙蟠科技网络安全招标
无锡软件开发职位
高邑新时代软件开发服务技术规范
数据库齿轮
正版重庆联通服务器托管云空间
国家网络安全基地地方
华为服务器管理口重启服务器
cs5280h与华为服务器对比
数据库远程连接android
网络安全郭盛华
数据库分析师招聘信息
湖北集装客互联网科技怎么样
10月12日国家网络安全
2019网络安全教育宣传周
中国期刊引文数据库
顺义服务器回收价格查询
观安信息网络安全
ncer数据库技术