print("Label: {}, Position: ({}, {}), Size: {} x {}".format(label_value, bbox[1], bbox[0], width, height))后将信息保存为(x,x,x,x)格式并存入txt中
时间: 2024-03-22 20:38:19 浏览: 174
可以在循环遍历所有区域时,将位置和大小信息保存为 `(min_col, min_row, max_col, max_row)` 格式的元组,并将所有元组保存到一个列表中。然后,可以使用 `numpy.savetxt` 函数将该列表保存为 `.txt` 文件。具体实现代码如下:
```python
import numpy as np
# 定义一个列表,用于保存所有区域的位置和大小信息
regions_info = []
# 遍历所有区域,获取其位置和大小信息
for prop in props:
# 获取区域的标签值、位置和大小信息
label_value = prop.label
bbox = prop.bbox # (min_row, min_col, max_row, max_col)
height = bbox[2] - bbox[0]
width = bbox[3] - bbox[1]
# 在原图上绘制该区域的边界框
cv2.rectangle(img, (bbox[1], bbox[0]), (bbox[3], bbox[2]), (0, 255, 0), 2)
# 输出该区域的位置和大小信息
print("Label: {}, Position: ({}, {}), Size: {} x {}".format(label_value, bbox[1], bbox[0], width, height))
# 将位置和大小信息保存为元组,并添加到列表中
region_info = (bbox[1], bbox[0], bbox[3], bbox[2])
regions_info.append(region_info)
# 将所有区域的位置和大小信息保存到txt文件中
regions_info = np.array(regions_info)
np.savetxt('regions_info.txt', regions_info, fmt='%d')
```
在代码中,`fmt='%d'` 表示将所有元素格式化为整数。如果需要保存小数,可以将 `fmt` 参数设置为对应的格式字符串,例如 `fmt='%.2f'` 表示保留两位小数。保存后的 `.txt` 文件中,每行表示一个区域的位置和大小信息,格式为 `(min_col, min_row, max_col, max_row)`。
阅读全文