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()函数生成带有边界框的图像。你可以根据自己的需求修改边界框的坐标、颜色和厚度来自定义边界框的样式。
