欢迎访问宙启技术站
智能推送

Python中使用draw_bounding_box_on_image_array()函数生成边界框图像

发布时间:2023-12-15 19:05:09

在Python中使用draw_bounding_box_on_image_array()函数可以方便地生成带有边界框的图像。这个函数可以用于标记物体的边界框,以便可视化和分析。下面是一个使用这个函数的例子:

首先,我们需要导入必要的库:

import numpy as np
import cv2
import matplotlib.pyplot as plt
from object_detection.utils import visualization_utils as vis_util

然后,我们可以加载一张图像:

image_path = 'path_to_image.jpg'
image = cv2.imread(image_path)

接下来,我们需要定义边界框的坐标:

# 边界框的左上角和右下角坐标
xmin = 100
ymin = 200
xmax = 300
ymax = 400

然后,我们可以使用draw_bounding_box_on_image_array()函数来生成带有边界框的图像:

# 生成带有边界框的图像
vis_util.draw_bounding_box_on_image_array(
    image,
    ymin,
    xmin,
    ymax,
    xmax,
    color='red',
    thickness=2,
    display_str_list=[],
    use_normalized_coordinates=False)

在这个例子中,我们使用了红色的边界框,边框的厚度为2。

最后,我们可以使用matplotlib库来显示图像:

plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
plt.axis('off')
plt.show()

这样就可以生成带有边界框的图像,并进行显示。

完整的代码如下所示:

import numpy as np
import cv2
import matplotlib.pyplot as plt
from object_detection.utils import visualization_utils as vis_util

image_path = 'path_to_image.jpg'
image = cv2.imread(image_path)

xmin = 100
ymin = 200
xmax = 300
ymax = 400

vis_util.draw_bounding_box_on_image_array(
    image,
    ymin,
    xmin,
    ymax,
    xmax,
    color='red',
    thickness=2,
    display_str_list=[],
    use_normalized_coordinates=False)

plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
plt.axis('off')
plt.show()

这个例子展示了如何在Python中使用draw_bounding_box_on_image_array()函数生成带有边界框的图像。你可以根据自己的需求修改边界框的坐标、颜色和厚度来自定义边界框的样式。