在做视觉算法相关工作的时候,经常需要把一些检测的结果绘制在原图像上,以便查看效果。对于python里面使用opencv(cv2库)在图像上绘制点、线、矩形框和文本,以下给出具体的示例。

原图像如下:

 python代码如下:

import cv2

img_path = 's.jpg'

# 读图像
img = cv2.imread(img_path)

# 绘制点
point_list = [(360, 80), (230, 270), (470, 270)]
for point in point_list:
    cv2.circle(img, point, 3, (255, 0, 0), 3)

# 绘制点之间的连线
line_maps = {0:2, 1:0, 2:1}
for i in line_maps.keys():
    start_point = point_list[i]
    end_point = point_list[line_maps[i]]
    cv2.line(img, start_point, end_point, (0, 255, 0), 2)

# 绘制矩形框
tl_point = (220, 70)
br_point = (480, 280)
cv2.rectangle(img, tl_point, br_point, (0, 0, 255), 2)

# 添加文本
text = 'Great Day!'
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img, text, (tl_point[0], tl_point[1]-10), font, 1, (0, 0, 255), 2)

# 保存图像
save_path = 'drawing.jpg'
cv2.imwrite(save_path, img)

结果如下:

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐