Python 是否可以显示/集成numpy阵列和PIL?
我已经在这里问了两次了,但都没有得到回应。那么第三次可能很幸运 如何使用PIL显示numpy数组?我正在尝试将泰晤士报新罗马字体与PIL结合使用,我需要在使用numpy数组制作的空白屏幕上显示字符 如果我使用内置的cv2.putText函数,那么它可以正常工作,如下所示:Python 是否可以显示/集成numpy阵列和PIL?,python,numpy,opencv,Python,Numpy,Opencv,我已经在这里问了两次了,但都没有得到回应。那么第三次可能很幸运 如何使用PIL显示numpy数组?我正在尝试将泰晤士报新罗马字体与PIL结合使用,我需要在使用numpy数组制作的空白屏幕上显示字符 如果我使用内置的cv2.putText函数,那么它可以正常工作,如下所示: cv2.putText(blackboard, text, (4, y), cv2.FONT_HERSHEY_COMPLEX, 2, (255, 255, 255)) 输出: 但由于我必须使用泰晤士报新罗马版,我使用了PIL
cv2.putText(blackboard, text, (4, y), cv2.FONT_HERSHEY_COMPLEX, 2, (255, 255, 255))
输出:
但由于我必须使用泰晤士报新罗马版,我使用了PIL图书馆
代码:
def put_splitted_text_in_blackboard(blackboard, splitted_text):
y = 200
blackb = Image.fromarray(blackboard)
draw = ImageDraw.Draw(blackb)
for text in splitted_text:
fonts = ImageFont.truetype('Times New Roman.ttf', 50, encoding='unic')
draw.text((4, y), text, font=fonts, fill=(255, 255, 255))
y += 50
numpy数组在recognize()中定义如下:
blackboard = np.zeros((480, 640, 3), dtype=np.uint8)
splitted_text = split_sentence(text, 2)
put_splitted_text_in_blackboard(blackboard, splitted_text)
cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
res = np.hstack((img, blackboard))
cv2.imshow("Recognizing gesture", res)
cv2.imshow("thresh", thresh)
if cv2.waitKey(1) == ord('q'):
break
keras_predict(model, np.zeros((50, 50), dtype=np.uint8))
recognize()
当我运行这个模块时,程序执行得很好,但是我看不到空白屏幕上的文本。 输出:
有什么帮助吗?您正在从
黑板
numpy数组创建一个PIL图像并绘制到它,但您没有将结果写回numpy数组。尝试在函数的末尾添加return np.array(black)
将拆分的文本放入黑板中,并在程序的其余部分使用该函数。您能显示结果图像吗?我看不到您对此提出的任何老问题。您使用了其他用户名吗?@Sunreef我在原始帖子中添加了输出图像。@ArndtJonasson两天没有收到回复,所以我只是删除了它并发布了一个新的。我添加了这行,但现在好像blackboard
数组在我获取局部变量“blackboard”时返回空值未使用
@ShibeshDuwadi我编辑了我的答案以更正它。告诉我这是否有效。不,仍然有一个空白屏幕。