python - OpenCV - 绘制线条或矩形时出错

标签 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)     Unrecognized or unsupported array type in function cvGetMat

代码:

import cv2
import numpy as np


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

# Draw a green rectangle
img = 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()

最佳答案

来自docs你可以看出函数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()

关于python - OpenCV - 绘制线条或矩形时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23182768/

相关文章:

python-3.x - 基于rgb提取和沉降的opencv Python中的图像像素区分

c - 我需要一个像素完美的三角形填充算法来避免锯齿现象

python - 在python中的指定html block 之间提取文本

python - 将包含不同长度列表的字典转换为 2 列数据帧

opencv - 如何在同一图像中使背景变白并使网格变黑

image - 如何将RGB图像转换为单 channel 灰度图像,并使用python保存它?

objective-c - cocoa 绘图可点击文本

c++ - 将矩形绘制到屏幕的最有效方法

python - Anaconda 3 Python 命令似乎已损坏

python - 图例 - 获取标签