代码之家  ›  专栏  ›  技术社区  ›  Shriniwas

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

  •  16
  • Shriniwas  · 技术社区  · 6 年前

    我正在尝试为我的小项目使用opencv python代码,这是一个基本的绘画应用程序。

    我想在运行时应用程序中在图像上写入文本。在运行代码或硬编码文本之前,不要这样做。我该怎么做?

    我需要帮助,谢谢。

    1 回复  |  直到 6 年前
        1
  •  32
  •   Jeru Luke    6 年前

    下面是如何在OpenCV中完成的

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

    检查 THIS LINK 有关更多详细信息

    以下是一个示例:

    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)
    

    enter image description here

    使现代化

    我用了 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()
    

    说明:

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