开发者社区> 问答> 正文

如何使用Python OpenCV在cv2.putText中制作黑色背景

我有一个opencv项目,在框架上我正在使用cv2.putText()显示一些文本。当前看起来像下面这样:

正如您在左上角看到的那样,该文本存在,但不清楚。是否可以将背景设为黑色,以便使文字看起来不错。如下图所示:

即使黑色背景一直覆盖到框架的右侧,也可以。以下是我用于在框架上放置文本的代码:

cv2.putText(frame, "Data: N/A", (5, 30), cv2.FONT_HERSHEY_COMPLEX_SMALL, 1, (0, 0, 255), 1)
cv2.putText(frame, "Room: C1", (5, 60), cv2.FONT_HERSHEY_COMPLEX_SMALL, 1, (0, 0, 255), 1)

opencv中是否有任何可用的预制方法/库可以做到这一点。有人可以建议一个好方法吗?

问题来源:stackoverflow

展开
收起
is大龙 2020-03-23 20:57:51 7015 0
1 条回答
写回答
取消 提交回答
  • 没有预先建立的方法,但是一个简单的方法是使用cv2.rectangle+cv2.putText。您需要做的就是在图像上绘制黑色矩形,然后放置文本。您可以根据想要矩形的大小来调整x,y,w,h参数。这是一个例子:

    输入图片:

    结果:

    import cv2
    import numpy as np
    
    # Load image, define rectangle bounds
    image = cv2.imread('1.jpg')
    x,y,w,h = 0,0,175,75
    
    # Draw black background rectangle
    cv2.rectangle(image, (x, x), (x + w, y + h), (0,0,0), -1)
    
    # Add text
    cv2.putText(image, "THICC flower", (x + int(w/10),y + int(h/2)), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (255,255,255), 2)
    
    # Display
    cv2.imshow('image', image)
    cv2.waitKey()
    

    回答来源:stackoverflow

    2020-03-23 20:57:58
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载