在使用Python的OpenCV库中的cv2.putText
方法添加文字时,如果需要文字周围有一个明显的黑色背景,以提高文字的可读性,可以先使用cv2.rectangle
方法在文字的背后绘制一个黑色的矩形,然后再在这个矩形上使用cv2.putText
添加文字。
以下是一个具体的步骤和示例代码:
-
导入必要的库:首先导入OpenCV库,这是使用
cv2.putText
和cv2.rectangle
的基础。 -
读取或创建图像:加载一张图像或创建一张新的图像,用于展示文字。
-
设定文字相关参数:包括文字内容、位置、字体、字体大小和颜色等。
-
计算文字宽度和高度:使用
cv2.getTextSize
计算文字的尺寸,以便知道需要画多大的矩形来作为背景。 -
绘制矩形:根据计算出的文字尺寸和位置,使用
cv2.rectangle
在图像上绘制黑色矩形作为文字的背景。 -
添加文字:使用
cv2.putText
在刚才绘制的黑色矩形上绘制所需的文字。
示例代码
pythonimport cv2 import numpy as np # 创建一个空白图像 img = np.zeros((500, 800, 3), dtype=np.uint8) # 设置文字相关参数 text = "Hello, OpenCV" font_face = cv2.FONT_HERSHEY_SIMPLEX font_scale = 1 thickness = 2 color = (255, 255, 255) # 白色文字 background_color = (0, 0, 0) # 黑色背景 # 获取文字区域的大小 (text_width, text_height), _ = cv2.getTextSize(text, font_face, font_scale, thickness) # 设置文字的位置 text_x = 50 text_y = 100 # 在图像上绘制黑色矩形作为背景 cv2.rectangle(img, (text_x, text_y - text_height - 10), (text_x + text_width, text_y + 10), background_color, -1) # 添加白色文字 cv2.putText(img, text, (text_x, text_y), font_face, font_scale, color, thickness) # 显示图像 cv2.imshow('Text with Background', img) cv2.waitKey(0) cv2.destroyAllWindows()
这段代码首先创建了一个全黑的图像,然后计算了所需添加的文字的尺寸,并在文字将要显示的位置的背后画了一个黑色的矩形。之后,在这个黑色矩形上添加了白色的文字,最后显示了这个图像。
通过这种方式,我们能够清晰地在图像中展示带有黑色背景的文字,确保文字在不同颜色背景图像上都能清晰可读。
2024年8月15日 11:51 回复