cv2.putText()用法
时间: 2023-11-09 21:57:30 浏览: 198
cv2.putText()是OpenCV库中一个用于在图像上绘制文本的函数。它的用法如下:cv2.putText(img, text, org, fontFace, fontScale, color, thickness, lineType)。
参数解释:
- img:要绘制文本的图像。
- text:要绘制的文本内容。
- org:文本左下角的坐标,格式为(x, y)。
- fontFace:字体类型,如cv2.FONT_HERSHEY_SIMPLEX、cv2.FONT_HERSHEY_PLAIN等。
- fontScale:字体大小的缩放因子。
- color:文本颜色,以BGR格式表示。
- thickness:文本线条的粗细程度。
- lineType:线条的类型,如cv2.LINE_AA等。
请注意,在使用cv2.putText()函数之前,首先需要创建一个空白图像(如np.zeros((height, width, 3), np.uint8))作为绘制的背景。
相关问题
cv2.putText(frame, f'Name: {name1}', (left, top - 50), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 255), 2)为什么显示不了中文
cv2.putText函数中默认使用的是英文字体,不支持直接显示中文。如果想要显示中文,需要先加载中文字体文件,并使用该字体来显示中文。以下是一种解决方法:
1. 首先,下载并安装支持中文的字体文件,比如SimHei.ttf。
2. 在代码中引入相应的库和字体文件:
```python
import cv2
import numpy as np
from PIL import ImageFont, ImageDraw, Image
# 加载字体文件
font_path = '/path/to/SimHei.ttf'
font = ImageFont.truetype(font_path, 16)
```
3. 将OpenCV图像转换为PIL图像,并使用PIL库的ImageDraw模块来绘制文字:
```python
# 将OpenCV图像转换为PIL图像
frame_pil = Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB))
draw = ImageDraw.Draw(frame_pil)
# 绘制中文文字
text = f'Name: {name1}'
draw.text((left, top - 50), text, font=font, fill=(0, 0, 255), stroke_width=2)
# 将PIL图像转换回OpenCV图像
frame_with_text = cv2.cvtColor(np.array(frame_pil), cv2.COLOR_RGB2BGR)
```
这样就能够在图像上显示中文了。请确保指定的字体文件路径正确,并根据实际情况调整字体大小和颜色等参数。
cv2.putText使用·方法·
cv2.putText() 是 OpenCV 库中用于在图像上绘制文本的方法。它的使用方法如下:
```python
cv2.putText(image, text, org, fontFace, fontScale, color, thickness, lineType)
```
参数说明:
- `image`:要绘制文本的图像。
- `text`:要绘制的文本。
- `org`:文本的起始坐标,通常为左下角的坐标点,如 `(x, y)`。
- `fontFace`:字体类型,可选参数,默认为 `cv2.FONT_HERSHEY_SIMPLEX`。
- `fontScale`:字体大小的缩放因子,可选参数,默认为 1。
- `color`:文本的颜色,可选参数,默认为纯白色 `(255, 255, 255)`。
- `thickness`:文本的粗细程度,可选参数,默认为 1。
- `lineType`:文本线条的类型,可选参数,默认为 8(8 连接线条)。
示例代码如下:
```python
import cv2
# 加载图像
image = cv2.imread("image.jpg")
# 绘制文本
cv2.putText(image, "Hello, OpenCV!", (50, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)
# 显示图像
cv2.imshow("Image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这段代码会在图像上绘制出红色的 "Hello, OpenCV!" 文本,并显示出来。
阅读全文