[0.08064, 0.96458709, 0.992446, 0.92077314]怎么用putText把每个数显示在不同的地方只保留前五位
时间: 2024-03-31 08:33:51 浏览: 137
对python opencv 添加文字 cv2.putText 的各参数介绍
可以使用以下代码实现:
```python
import cv2
import numpy as np
# 创建一个黑色图像
img = np.zeros((500, 500, 3), dtype=np.uint8)
# 定义要显示的数字列表
nums = [0.08064, 0.96458709, 0.992446, 0.92077314]
# 定义字体和字体大小
font = cv2.FONT_HERSHEY_SIMPLEX
fontScale = 0.5
# 遍历数字列表,使用putText将每个数字显示在不同的位置
for i in range(len(nums)):
# 将数字转化为字符串并保留前五位
num_str = "{:.5f}".format(nums[i])
# 计算文字的大小
text_size, _ = cv2.getTextSize(num_str, font, fontScale, thickness=1)
# 计算文字的位置
x = int((i+1) * img.shape[1]/(len(nums)+1) - text_size[0]/2)
y = int(img.shape[0]/2 + text_size[1]/2)
# 在图像上绘制文字
cv2.putText(img, num_str, (x, y), font, fontScale, (255, 255, 255), thickness=1)
# 显示图像
cv2.imshow("Image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个代码中,我们首先创建了一个黑色的图像,然后定义了要显示的数字列表。接下来,我们遍历数字列表,将每个数字转化为字符串并保留前五位,计算每个文字的大小和位置,然后使用`putText`函数在图像上绘制文字。最后,我们显示图像。
阅读全文