我在视频中检测到物体,我想修剪这些物体。我尝试了tensorflow API,但没有一个与我合作。当尝试tf.image.crop_to_bounding_box( 图片, offset_height, offset_width, target_height, target_width ) 它告诉我offset_height没有定义。
因此,我需要一个指南,介绍如何使用张量流从图像中裁剪对象。
答案 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))