Python IPython 笔记本中的 OpenCV 错误

Python OpenCV Error in The IPython Notebook

我在 IPython 笔记本中 运行 此代码有错误。 我的代码:

  import numpy as np
  import cv2
  # Create a black image
  img = np.zeros((512,512,3), np.uint8)
  # Draw a diagonal blue line with thickness of 5 px
  img = cv2.line(img,(0,0),(511,511),(255,0,0),5)
  cv2.imshow('image',img)
  cv2.waitKey(0)

错误:

error                                     Traceback (most recent call last)
<ipython-input-12-dc7e5a608b64> in <module>()
      6 # Draw a diagonal blue line with thickness of 5 px
      7 img = cv2.line(img,(0,0),(511,511),(255,0,0),5)
----> 8 cv2.imshow('image',img)
      9 cv2.waitKey(0)

error: ..\..\..\modules\highgui\src\window.cpp:261: error: (-215) size.width>0 && size.height>0 in function cv::imshow

您使用 cv2.line 函数的输出重新分配 img 数组,但是 根据 reference 其输出是 None.

这个版本会给你想要的结果:

import numpy as np
import cv2
# Create a black image
img = np.zeros((512,512,3), np.uint8)
# Draw a diagonal blue line with thickness of 5 px
cv2.line(img,(0,0),(511,511),(255,0,0),5)
cv2.imshow('image',img)
cv2.waitKey(0)