在 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() 放在要打印的文本周围对我来说真的很管用。我很惊讶错误显示为不同的参数,即使之前的参数有实际错误
我做了一个字典,做了一些计算并返回了一些值。现在我试图在图像上打印这些返回值,但出现此错误:
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() 放在要打印的文本周围对我来说真的很管用。我很惊讶错误显示为不同的参数,即使之前的参数有实际错误