python + opencv 读取多张图片并显示对应的json打标文件,并在每个图片上绘制标注框
时间: 2024-03-05 09:55:06 浏览: 281
read_opencv_python读取图片_源码
好的,我可以为您解答这个问题。
首先,您需要使用 Python 和 OpenCV 库来读取图像和 JSON 打标文件。可以使用以下代码读取图像和 JSON 文件:
```python
import cv2
import json
# 读取图像
img = cv2.imread('image.jpg')
# 读取 JSON 文件
with open('label.json', 'r') as f:
label_data = json.load(f)
```
接下来,您需要遍历每个标注对象并绘制相应的矩形框。可以使用以下代码:
```python
for obj in label_data:
# 获取标注对象的坐标信息
x_min = obj['xmin']
y_min = obj['ymin']
x_max = obj['xmax']
y_max = obj['ymax']
# 在图像上绘制矩形框
cv2.rectangle(img, (x_min, y_min), (x_max, y_max), (0, 255, 0), 2)
# 显示图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,cv2.rectangle() 函数用于绘制矩形框,参数分别为图像、左上角坐标、右下角坐标、颜色和线条宽度。
完整代码示例如下:
```python
import cv2
import json
# 读取图像
img = cv2.imread('image.jpg')
# 读取 JSON 文件
with open('label.json', 'r') as f:
label_data = json.load(f)
# 遍历每个标注对象并绘制矩形框
for obj in label_data:
x_min = obj['xmin']
y_min = obj['ymin']
x_max = obj['xmax']
y_max = obj['ymax']
cv2.rectangle(img, (x_min, y_min), (x_max, y_max), (0, 255, 0), 2)
# 显示图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这样就可以读取图像和 JSON 打标文件,并在每个图像上绘制矩形框了。
阅读全文