在 OpenCV 中的图像上打印文本 Python

Printing text on image in OpenCV Python

我做了一个字典,做了一些计算并返回了一些值。现在我试图在图像上打印这些返回值,但出现此错误:

expected string or Unicode object, int found

假设我的返回值是:

 (58, 47, 88.0)

我正在使用以下内容在屏幕上显示它:

font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img, T ,(619,351), font, 1,(0,0,255),2,cv2.LINE_AA)

此外,我希望能够在图像上显示:T = (58, 47, 88.0)

我猜你似乎在朝着正确的方向前进,代码看起来不错,但是有一个 TypeError 表明你传递了一个整数来代替字符串,而且很可能是那个错误必须在 T 的值中的某处,检查它是否属于 int 类型,您始终可以使用 type(T) 检查任何变量的类型,如果它 returns int 那么您可能需要将变量类型转换为 str(T) 因此最终代码可能如下所示:

if not type(T) is str:
    try:
        cv2.putText(img, str(T) ,(619,351), font, 1,(0,0,255),2,cv2.LINE_AA)
    except Exception,e:
        print e

将 str() 放在要打印的文本周围对我来说真的很管用。我很惊讶错误显示为不同的参数,即使之前的参数有实际错误