【问题标题】:cv2.rectangle gives error size.width>0 && size.height>0cv2.rectangle 给出错误 size.width>0 && size.height>0
【发布时间】:2014-11-10 17:21:21
【问题描述】:

我似乎无法让这小段代码工作。我为这个错误搜索了很多,但通常它有不同的原因。该错误仅与 cv2.rectangle 有关,因为将其注释掉可以解决问题并且可以正常显示图像。我首先认为它必须与我的 cv2 做点什么,但如果是这种情况 cv2.imread 也不能正常工作吗?

非常感谢任何见解:)

import numpy as np
import cv2

img = cv2.imread('some-pic.jpg')

#This line gives the error, no problems when commented
img = cv2.rectangle(img, (3, 3), (5, 5), (255,0,0))

cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

错误

OpenCV 错误:imshow 中的断言失败 (size.width>0 && size.height>0),文件 /tmp/buildd/ros-hydro-opencv2-2.4.9-2precise-20140819-1745/modules/highgui/ src/window.cpp,第 261 行 回溯(最近一次通话最后): 文件“face-detect-simple.py”,第 9 行,在 cv2.imshow('img',img) cv2.error: /tmp/buildd/ros-hydro-opencv2-2.4.9-2precise-20140819-1745/modules/highgui/src/window.cpp:261: 错误: (-215) size.width>0 && size .height>0 in function imshow

规格

Ubuntu 12.04.5 LTS

OpenCV 2.4.9

Python 2.7.3

【问题讨论】:

    标签: python c++ image opencv


    【解决方案1】:

    从 2.4.9 开始,cv2.rectangle 不返回任何内容。您可能从有关即将推出的 opencv3.0 的教程中了解到这一点

    【讨论】:

    • 确实是从教程中得到的。你有什么建议吗?编辑:删除“img =”部分解决了它,感谢您提供的信息:)
    • 跳过前面的img = 。 (这导致您的 img 当前设置为 None)
    • 这向我提出了一个问题:如果您有 2 个屏幕处于活动状态,它如何知道要在哪个屏幕上绘制?
    • 到你提供给 cv2.rectangle(img,...) 的任何 img ,但也许我误读了你。屏幕?
    • 大声笑,不对,我忘了你从你想把它放在哪里开始。再次感谢所有帮助:)
    【解决方案2】:

    只需在绘制矩形时删除“img =”部分。跟openCV的版本有关。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-13
      • 1970-01-01
      • 1970-01-01
      • 2014-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多