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

在OpenCV Python中在图像上打印文本,python,opencv,image-processing,dictionary,Python,Opencv,Image Processing,Dictionary,我制作了一本字典,做了一些计算并返回了一些值。现在,我尝试在图像上打印这些返回值,但出现以下错误: 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) 另外,我希望能够在图像上显示

我制作了一本字典,做了一些计算并返回了一些值。现在,我尝试在图像上打印这些返回值,但出现以下错误:

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)
检查任何变量的类型,如果它返回
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

我想你的方向似乎是对的,代码看起来很好,但是有一个
TypeError
表示你传递了一个整数来代替字符串,很可能,这个错误一定在
T
的某个值中,检查它是否是
int
类型,您始终可以使用
type(T)
检查任何变量的类型,如果它返回
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()对我来说非常有用。我很惊讶,在不同的参数中会显示错误,尽管之前的参数有实际错误

在要打印的文本周围放置str()在这里对我来说真的很有用。我很惊讶,在不同的参数中出现了错误,尽管之前的参数有实际的错误

我相信putText需要一个sting输入,而您插入的Int导致了错误,可能与cv2一样简单。putText(img,str(T),…)@berak*facepalm*谢谢。你太棒了!我相信putText需要一个sting输入,而您正在插入Int,这可能会导致错误。putText(img,str(T),…)@berak*facepalm*谢谢。你太棒了!