GPT答: |
7i24.cn
|
要实现多个ROI区域的显示,可以使用OpenCV库来进行图像处理和绘制。以下是一个示例代码,演示了如何在图像上绘制多个ROI区域,并设置不同的样式和画笔属性。
```python
import cv2
# 读取图像
image = cv2.imread('image.jpg')
# 定义ROI区域的坐标和属性
rois = [
{'type': 'text', 'text': 'ROI 1', 'position': (100, 100), 'color': (255, 0, 0), 'thickness': 2},
{'type': 'circle', 'center': (200, 200), 'radius': 50, 'color': (0, 255, 0), 'thickness': -1},
{'type':'rectangle','top_left_corner' : (300 ,300),'bottom_right_corner' : (400 ,400),'color' : (0 ,0 ,255) ,'thickness' :-1}
]
# 在图像上绘制每个ROI区域
for roi in rois:
if roi['type'] == "text":
# 绘制文本
cv2.putText(image, roi['text'], roi['position'], cv2.FONT_HERSHEY_SIMPLEX,
fontScale=1.5, color=roi['color'], thickness=roi['thickness'])
elif roi['type'] == "circle":
# 绘制圆形
cv2.circle(image, roi['center'], roi['radius'], color=roi['color'],
thickness=roi['thickness'])
elif roi ['type']=='rectangle':
# 绘制矩形
top_left_corner =roi['top_left_corner']
bottom_right_corner =roi['bottom_right_corner']
cv2.rectangle(image ,top_left_corner ,bottom_right_corner, color=roi['color'],thickness=roi ['thickness'])
# 显示绘制后的图像
cv2.imshow('ROI', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的示例代码中,我们首先读取了一张图像。然后定义了多个ROI区域,每个ROI区域都有不同的类型(文本、圆形、矩形)和属性(位置、颜色、粗细)。接下来,使用循环遍历每个ROI区域,并根据其类型进行相应的绘制操作。最后,显示绘制后的图像。
你可以根据需要修改示例代码中的坐标和属性值来创建自己想要显示的多个ROI区域,并设置不同样式和画笔属性。
|