首页 > 解决方案 > 获取 SystemError:新样式 getargs 格式,但参数不是元组。我在使用 cv2.putText 时遇到了这个问题。如何修复此错误?

问题描述

我试图在其图像上打印检测到的对象的类别类型。然后我首先从 approxPolyDp() 计算 approx 然后将 approx 的长度保存到 object_corner 中。我使用 boundingReact() 获得了 x、y、重量和高度的坐标,但是当我尝试在检测到的对象的图像上打印文本时,会遇到 SystemError。

        approx = cv2.approxPolyDP(cnt, 0.02*contour_perimeter, True)
        object_corner = len(approx)
        x, y, width, height = cv2.boundingRect(approx)

        cv2.rectangle(imgContour, (x, y), (x+width, y+height), (0, 255, 0), 3)
        cv2.putText(imgContour, objectType,(x+(width//2)-10), (y+(height//2)-10), cv2.FONT_HERSHEY_COMPLEX,0.5,(0,0,0),2)

标签: pythonopencv

解决方案


最后一行代码 cv.putText() 有错误。正确的代码应该看起来像

    approx = cv2.approxPolyDP(cnt, 0.02*contour_perimeter, True)
    object_corner = len(approx)
    x, y, width, height = cv2.boundingRect(approx)

    cv2.rectangle(imgContour, (x, y), (x+width, y+height), (0, 255, 0), 3)
    cv2.putText(imgContour, objectType,(x+(width//2)-10), (y+(height//2)-10), 
    cv2.FONT_HERSHEY_COMPLEX,0.5,(0,0,0),2)

推荐阅读