使用cv2.imread()函数加载图像文件。接下来,我们使用cv2.putText()函数在图像上指定区域添加指定字体、字体大小、颜色和粗细的文本,要求自动调节添加文字最适应的字体大小适应区域范围。最后,我们使用cv2.imshow()函数显示添加文本后的图像。
时间: 2023-06-20 12:09:25 浏览: 67
好的,以下是代码示例:
```python
import cv2
# 加载图像文件
img = cv2.imread('example.jpg')
# 指定添加文本的区域
x, y, w, h = 50, 50, 200, 100
text_area = img[y:y+h, x:x+w]
# 指定字体、字体大小、颜色和粗细
font = cv2.FONT_HERSHEY_SIMPLEX
font_scale = 1
color = (255, 255, 255)
thickness = 2
# 计算最适应的字体大小
text_size = cv2.getTextSize('Hello', font, font_scale, thickness)[0]
while text_size[0] < text_area.shape[1] and text_size[1] < text_area.shape[0]:
font_scale += 1
text_size = cv2.getTextSize('Hello', font, font_scale, thickness)[0]
font_scale -= 1
text_size = cv2.getTextSize('Hello', font, font_scale, thickness)[0]
# 在图像上添加文本
text_x = int((text_area.shape[1] - text_size[0]) / 2)
text_y = int((text_area.shape[0] + text_size[1]) / 2)
cv2.putText(text_area, 'Hello', (text_x, text_y), font, font_scale, color, thickness)
# 显示添加文本后的图像
cv2.imshow('Image with Text', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个例子中,我们首先加载了一个名为example.jpg的图像文件。然后,我们指定了添加文本的区域,这里我们选择了(50, 50)到(250, 150)的矩形区域。接下来,我们指定了字体、字体大小、颜色和粗细,并使用getTextSize()函数计算出最适应的字体大小。最后,我们在指定区域上使用putText()函数添加文本,并使用imshow()函数显示添加文本后的图像。
阅读全文