(boxes, im_shape)
return boxes
Clip boxes to image boundaries. im_shape is [height, width] and boxes
    has shape (N, 4 * num_tiled_boxes).
Clip boxes to image boundaries. im_shape is [height, width] and boxes
    has shape (N, 4 * num_tiled_boxes).
Clip boxes to image boundaries . im_shape is [ height width ] and boxes has shape ( N 4 * num_tiled_boxes ) .
def clip_tiled_boxes(boxes, im_shape):
    """Clip boxes to image boundaries. im_shape is [height, width] and boxes
    has shape (N, 4 * num_tiled_boxes)."""
    assert boxes.shape[1] % 4 == 0, \
        'boxes.shape[1] is {:d}, but must be divisible by 4.'.format(
        boxes.shape[1]
    )
    # x1 >= 0
    boxes[:, 0::4] = np.maximum(np.minimum(boxes[:, 0::4], im_shape[1] - 1), 0)
    # y1 >= 0
    boxes[:, 1::4] = np.maximum(np.minimum(boxes[:, 1::4], im_shape[0] - 1), 0)
    # x2 < im_shape[1]
    boxes[:, 2::4] = np.maximum(np.minimum(boxes[:, 2::4], im_shape[1] - 1), 0)
    # y2 < im_shape[0]
    boxes[:, 3::4] = np.maximum(np.minimum(boxes[:, 3::4], im_shape[0] - 1), 0)
    return boxes
def clip_tiled_boxes ( boxes , im_shape ) : assert boxes . shape [ 1 ] % 4 == 0 , 'boxes.shape[1] is {:d}, but must be divisible by 4.' . format ( boxes . shape [ 1 ] ) # x1 >= 0 boxes [ : , 0 : : 4 ] = np . maximum ( np . minimum ( boxes [ : , 0 : : 4 ] , im_shape [ 1 ] - 1 ) , 0 ) # y1 >= 0 boxes [ : , 1 : : 4 ] = np . maximum ( np . minimum ( boxes [ : , 1 : : 4 ] , im_shape [ 0 ] - 1 ) , 0 ) # x2 < im_shape[1] boxes [ : , 2 : : 4 ] = np . maximum ( np . minimum ( boxes [ : , 2 : : 4 ] , im_shape [ 1 ] - 1 ) , 0 ) # y2 < im_shape[0] boxes [ : , 3 : : 4 ] = np . maximum ( np . minimum ( boxes [ : , 3 : : 4 ] , im_shape [ 0 ] - 1 ) , 0 ) return boxes