Python OpenCV-绘制直线或矩形时出错

Python OpenCV-绘制直线或矩形时出错,python,opencv,drawing,Python,Opencv,Drawing,我在尝试运行以下代码时出错,不知道原因。这与教程中使用的代码基本相同 错误: Traceback (most recent call last): File "cv_trackbar2.py", line 41, in <module> cv2.imshow('frame',img) cv2.error: /build/buildd/opencv-2.4.5+dfsg/modules/core/src/array.cpp:2482: error: (-206) U

我在尝试运行以下代码时出错,不知道原因。这与教程中使用的代码基本相同

错误:

Traceback (most recent call last):
  File "cv_trackbar2.py", line 41, in <module>
    cv2.imshow('frame',img)
cv2.error: /build/buildd/opencv-2.4.5+dfsg/modules/core/src/array.cpp:2482: error: (-206)     Unrecognized or unsupported array type in function cvGetMat
从中可以看出函数
cv2.rectangle
返回
void
。因此,问题是您正在将返回值(即
None
)分配给
img

改为这样做

# Create a black image
img = np.zeros((512,512,3), np.uint8)

# Draw a green rectangle
cv2.rectangle(img,(384,0),(510,128),(0,255,0),3)

while (True):

    cv2.imshow('draw',img)
    k = cv2.waitKey(1) & 0xFF
    if k == 27:
        break
cv2.destroyAllWindows()

非常感谢。我只是跟着教程走,所以我想他们的东西是正确的。
# Create a black image
img = np.zeros((512,512,3), np.uint8)

# Draw a green rectangle
cv2.rectangle(img,(384,0),(510,128),(0,255,0),3)

while (True):

    cv2.imshow('draw',img)
    k = cv2.waitKey(1) & 0xFF
    if k == 27:
        break
cv2.destroyAllWindows()