我想使用tensorflows对象检测api检测帧区域中的对象。我已将帧拆分为region_1和region_2,但如何仅在frame_1中执行检测并仅在region1中绘制矩形
<p>this is paragraph 1</p>
<p>this is paragraph 2</p>
<p>this is paragraph 3</p>
答案 0 :(得分:1)
你必须用你感兴趣的地区替换之前的image_np,所以改变
image_np_expanded = np.expand_dims(image_np, axis=0)
为:
image_np_expanded = np.expand_dims(region_1, axis=0)
和
vis_util.visualize_boxes_and_labels_on_image_array(
image_np,
np.squeeze(boxes),
np.squeeze(classes).astype(np.int32),
np.squeeze(scores),
category_index,
use_normalized_coordinates=True,
line_thickness=1)
return image_np
为:
vis_util.visualize_boxes_and_labels_on_image_array(
region_1,
np.squeeze(boxes),
np.squeeze(classes).astype(np.int32),
np.squeeze(scores),
category_index,
use_normalized_coordinates=True,
line_thickness=1)
return region_1
如果要返回原始图像,只需在region_1一侧绘制框,则必须将框架坐标从region_1的尺寸转换回原始图像尺寸(这很难给出不同的数据类型tf用于他们的np.arrays)或concatenate区域重新组合在一起: 垂直堆叠(img1 over img2):
vis = np.concatenate((img1, img2), axis=0)
水平堆叠(img2左侧的img1):
vis = np.concatenate((img1, img2), axis=1)