博客
关于我
【CV】头盔检测&区域入侵项目
阅读量:466 次
发布时间:2019-03-06

本文共 1414 字,大约阅读时间需要 4 分钟。

如何在OpenCV中绘制图像边框和标签

以下代码示例展示了如何使用OpenCV库来在图像上绘制边框以及添加标签注释。

def plot_one_box(x, img, color=(0, 255, 0), label=None, line_thickness=3): 
"""绘制图像上的边框和标签注释"""
tl = line_thickness or int(round(0.002 * max(img.shape[0:2]))) # 计算线条厚度
c1, c2 = (int(x[0]), int(x[1])), (int(x[2]), int(x[3])) # 获取边框坐标
cv2.rectangle(img, c1, c2, color, thickness=tl, lineType=cv2.LINE_AA) # 绘制边框
if label:
tf = max(tl - 1, 1) # 计算字体厚度
t_size = cv2.getTextSize(label, 0, fontScale=tl / 3, thickness=tf)[0] # 计算字体大小
c2 = (c1[0] + t_size[0], c1[1] - t_size[1] - 3) # 调整坐标以容纳标签
cv2.rectangle(img, c1, c2, color, -1, cv2.LINE_AA) # 绘制填充的边框
cv2.putText(label, c1[0] + t_size[0], c1[1] - t_size[1] - 2, fontFace=cv2.FONT_HERSHEY_SIMPLEX, fontScale=tl / 3, color=color, thickness=tf) # 添加标签

参数说明

  • x (坐标点) - 绘制边框的左上角和右下角坐标
  • img (图像) - 需要绘制边框的图像数据
  • color (颜色) - 边框的颜色,默认为绿色((0, 255, 0))
  • label (标签) - 要添加在边框上的文字注释
  • line_thickness (线条厚度) - 边框的线条厚度,默认为3

使用示例

以下是一个使用该函数的示例代码片段:

import cv2
# 加载示例图像
img = cv2.imread("example_image.jpg")
# 使用函数绘制边框和标签
plot_one_box((100, 200, 300, 400), img, label="目标物体")
# 显示图像
cv2.imshow("结果图像", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

注意事项

  • 确保输入的图像路径正确
  • 调整颜色值以适应不同的图像类型
  • 标签的位置和大小可能需要根据实际需求进行调整
  • 线条厚度可以根据需要进行微调

最佳实践

  • 在实际应用中,可以根据具体需求调整线条颜色和厚度
  • 标签的字体大小和位置可以根据图像大小进行适当调整
  • 对于多个目标物体,可以重复调用函数并调整各自的坐标和参数
  • 确保在高分辨率图像中调整线条和字体大小以保证清晰可见

转载地址:http://pjfbz.baihongyu.com/

你可能感兴趣的文章
Objective-C实现perfect square完全平方数算法(附完整源码)
查看>>
Objective-C实现permutate Without Repetitions无重复排列算法(附完整源码)
查看>>
Objective-C实现pigeon sort鸽巢算法(附完整源码)
查看>>
Objective-C实现PNG图片格式转换BMP图片格式(附完整源码)
查看>>
Objective-C实现pollard rho大数分解算法(附完整源码)
查看>>
Objective-C实现Polynomials多项式算法 (附完整源码)
查看>>
Objective-C实现pooling functions池化函数算法(附完整源码)
查看>>
Objective-C实现porta密码算法(附完整源码)
查看>>
Objective-C实现Pow Logarithmic幂函数与对数函数算法 (附完整源码)
查看>>
Objective-C实现power iteration幂迭代算法(附完整源码)
查看>>
Objective-C实现powLinear函数和powFaster函数算法 (附完整源码)
查看>>
Objective-C实现pow函数功能(附完整源码)
查看>>
Objective-C实现prefix conversions string前缀转换字符串算法(附完整源码)
查看>>
Objective-C实现prefix conversions前缀转换算法(附完整源码)
查看>>
Objective-C实现pressure conversions压力转换算法(附完整源码)
查看>>
Objective-C实现Prim 算法生成图的最小生成树MST算法(附完整源码)
查看>>
Objective-C实现prime sieve eratosthenes埃拉托斯特尼素数筛选法算法(附完整源码)
查看>>
Objective-C实现PrimeCheck函数算法 (附完整源码)
查看>>
Objective-C实现PrimeFactors质因子分解算法 (附完整源码)
查看>>
Objective-C实现prim普里姆算法(附完整源码)
查看>>