OpenCV读取视频报错的问题怎么解决
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章的内容主要围绕OpenCV读取视频报错的问题怎么解决进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!最
千家信息网最后更新 2026年11月01日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安全错误
数据库的锁怎样保障安全
湖北九亚互联网络科技有限公司
云之行互联网科技
新华互联网科技学校
科技赋能下的互联网金融
新华互联网科技学院
互联网最新的科技有限公司
互联网金融 金融科技
互联网科技ppt模板
互联网科技小额贷款
无锡溥仪互联网科技有限公司
老年人脱离互联网科技的作文
互联网科技商业
杭州壁岐互联网科技有限公司
沐思想互联网科技有限公司
互联网金融科技公司的优势
黑云互联网科技有限公司
2021世界互联网领先科技成果发布
国产互联网科技公司
万物互联网智能科技
互联网科技职业技能培训学校
上海喔噻互联网科技
广州凡科互联网科技
互联网科技博客
山东吉时兔互联网科技有限公司
隆华科技工业互联网
互联网时代科技改变生活
科技大学互联网
下一代互联网重大应用科技园
互联网金融金融科技
现代科技的标志之一的互联网