在检测视频流中的对象之后,我要裁剪并保存这些对象

时间:2018-10-30 12:00:21

标签: tensorflow crop object-detection

我在视频中检测到物体,我想修剪这些物体。我尝试了tensorflow API,但没有一个与我合作。当尝试tf.image.crop_to_bounding_box(     图片,     offset_height,     offset_width,     target_height,     target_width ) 它告诉我offset_height没有定义。

因此,我需要一个指南,介绍如何使用张量流从图像中裁剪对象。

1 个答案:

答案 0 :(得分:1)

尝试使用: tf.image.crop_and_resize(image,boxes,box_ind,crop_size,method ='bilinear',extrapolation_value = 0,name = None)

例如:

    #bounding box coordinates
    ymin =boxes[0][0][0]
    xmin =boxes[0][0][1]
    ymax =boxes[0][0][2]
    xmax =boxes[0][0][3]
    test = tf.image.crop_and_resize(image=frame_expanded/255,
           boxes=[[ymin,xmin,ymax,xmax]],
           box_ind=[0],
           crop_size=[100,100])

为我工作!

或者如果您想使用tf.image.crop_to_bounding_box(...),请尝试以下操作:

    #bounding box coordinates
    ymin =boxes[0][0][0]
    xmin =boxes[0][0][1]
    ymax =boxes[0][0][2]
    xmax =boxes[0][0][3]
    #image_size
    (im_width,im_height) = image.size
    (xminn, xmaxx, yminn, ymaxx) = (xmin * im_width, xmax * im_width,   ymin * im_height, ymax * im_height)
    test=tf.image.crop_to_bounding_box(frame,int(yminn), int(xminn), int(ymaxx-yminn), int(xmaxx-xminn))