首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何删除此错误:(-215:断言失败) !_img.empty() in function 'cv::imwrite‘

如何删除此错误:(-215:断言失败) !_img.empty() in function 'cv::imwrite‘
EN

Stack Overflow用户
提问于 2019-12-26 13:29:12
回答 1查看 700关注 0票数 0

我试图使用spyder python 3.7.1中的opencv 4.1.2从视频中提取帧,但我得到了这个错误。

代码:

代码语言:javascript
运行
复制
import cv2
print(cv2.__version__)
vidcap = cv2.VideoCapture('‪G:/TSR/TSR_vedios/blur/01_01_01_02_01.mp4')
success,image = vidcap.read()
count = 0
success = True
while success:
  cv2.imwrite("G:/TSR/TSR_vedios/tlevels/blurness/frame%d.jpg" % count, image)    
  success,image = vidcap.read()
  print ('Read a new frame: ', success)
  count += 1
EN

回答 1

Stack Overflow用户

发布于 2019-12-26 13:47:30

您需要调用open函数,并确保图像是有效的图像,即宽度和高度> 0。

像这样修改你的代码:

代码语言:javascript
运行
复制
import cv2
print(cv2.__version__)
vidcap = cv2.VideoCapture()
success = vidcap.open('‪G:/TSR/TSR_vedios/blur/01_01_01_02_01.mp4')
if not success:
    print("Failed to open the video")

count = 0
while success:
    success,image = vidcap.read()
    height, width, channels = img.shape
    if (height > 0) and (width > 0):
        cv2.imwrite("G:/TSR/TSR_vedios/tlevels/blurness/frame%d.jpg" % count, image)    
        print('Read a new frame: ', success)
    else:
        print("Empty image")
    count += 1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59484177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档