【问题标题】:Problem with this error: (-215:Assertion failed) !ssize.empty() in function 'cv::resize' OpenCV此错误的问题: (-215:Assertion failed) !ssize.empty() in function 'cv::resize' OpenCV
【发布时间】:2021-04-18 20:19:18
【问题描述】:

我在运行 resize 函数行后遇到了这个错误:

import cv2
import numpy as np
import matplotlib.pyplot as plt

net = cv2.dnn.readNetFromDarknet('yolov3_custom.cfg', 'yolov3_custom_last.weights')

cap = cv2.VideoCapture(0)

while 1:
   _, img = cap.read()
   img = cv2.resize(img,(1280,720))
   hight,width,_ = img.shape
   blob = cv2.dnn.blobFromImage(img, 1/255,(416,416), (0,0,0), swapRB = True,crop= False)

【问题讨论】:

  • 亲爱的 Maham,请清理问题;他们有很多“在这里输入代码”。谢谢

标签: python tensorflow opencv


【解决方案1】:

此错误是因为没有捕获任何帧。

请尝试

cap = cv2.VideoCapture(1)

【讨论】:

  • 感谢回复我!但这在我的情况下不起作用
  • 请尝试将索引更改为 -1, 1, 0, 2
  • 我应该改变哪些索引你能解释一下吗?
  • cap = cv2.VideoCapture(1) cap = cv2.VideoCapture(0) cap = cv2.VideoCapture(2) 尝试改变索引
【解决方案2】:

问题是没有这样捕获的帧,没有可调整大小的图像。为了确保您的网络摄像头确实在捕获,请尝试以下操作:

cap = cv2.VideoCapture(0)

while 1:
   ret, img = cap.read()
   if not ret:
      print("no frame captured")
      exit()

   img = cv2.resize(img,(1280,720))
   #continue processing

然后 测试以确保您的网络摄像头正常工作或 如果您有多个网络摄像头,请尝试使用另一个索引来初始化“VideoCapture”

cap = VideoCapture(1)

【讨论】:

  • 感谢您的回答,但我仍然收到此错误,我不明白它背后的原因是什么,我的网络摄像头工作正常。如果可以的话,请帮助我。我会很感激的
  • 当您运行上述程序时,您是否看到控制台打印出“未捕获帧”?
  • 是的,它正在打印。实际上我是在树莓派上运行的,所以这个问题可能属于 picamera 我不知道我完全空白现在我一直在尝试解决这个问题,但是什么都不会发生。☹
  • 那么问题出在相机硬件本身,换个相机试试
  • 当我只为相机运行代码时它工作正常,但在上面的代码中它没有捕获任何东西?
猜你喜欢
  • 2020-10-13
  • 2019-12-07
  • 1970-01-01
  • 2022-08-12
  • 2021-04-09
  • 2021-08-16
  • 1970-01-01
  • 1970-01-01
  • 2019-06-26
相关资源
最近更新 更多