如何在运行时应用程序中使用opencv python在图像上写文本

tro*_*war 1 opencv python-3.x

我正在尝试将opencv python代码用于我的迷你项目,即Basic绘制应用程序.

我想在运行时应用程序中在我的图像上写一个文本.在运行代码或硬编码文本之前.我怎样才能做到这一点?

我需要帮助,谢谢.

Jer*_*uke 7

以下是它在OpenCV中的完成方式

您可以使用cv2.putText()函数向图像添加文本例如: cv2.putText(img,'OpenCV',(10,500), font, 4, (255, 255, 255), 2, cv2.LINE_AA)

查看此链接了解更多详情

这是一个例子:

import cv2
im = cv2.imread(path + 'pillar.png', 1)
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(im, 'Christmas', (10,450), font, 3, (0, 255, 0), 2, cv2.LINE_AA)
cv2.imwrite(path + 'pillar_text.jpg', im)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

UPDATE

我使用该chr()函数输入正在输入的键的值.对于键入的每个字符,图像将在while循环中更新.这是一个示例代码:

import cv2
path = "C:/Users//Desktop/ocean.jpg"

img = cv2.imread(path)

font = cv2.FONT_HERSHEY_SIMPLEX

i = 10
while(1):
    cv2.imshow('img',img)

    k = cv2.waitKey(33)
    if k==27:    # Esc key to stop
        break
    elif k==-1:  # normally -1 returned,so don't print it
        continue
    else:
        print (k) # else print its value
       cv2.putText(img, chr(k), (i, 50), font, 1, (0, 255, 0), 1, cv2.LINE_AA)
        i+=15

cv2.waitKey(0)
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

说明:

  1. 按任意键输入其值
  2. Esc键结束程序