Ejemplo n.º 1
0
def image_resize_with_mask(filename_input, filename_output, new_height,
                           new_width, filename_mask):
    obj = SeamCarver(filename_input,
                     new_height,
                     new_width,
                     protect_mask=filename_mask)
    obj.save_result(filename_output)
Ejemplo n.º 2
0
def image_resize_without_mask(filename_input, filename_output, new_height,
                              new_width, energy):
    '''
    没有保护mask,直接最简单的resize
    '''
    obj = SeamCarver(filename_input,
                     new_height,
                     new_width,
                     fast_mode=args.fast_mode,
                     energy=energy)
    obj.save_result(filename_output)
Ejemplo n.º 3
0
def image_resize_with_mask(filename_input, filename_output, new_height,
                           new_width, filename_mask, energy):
    '''
    有一个保护的mask,可以选择主要想要保留的部分
    '''
    obj = SeamCarver(filename_input,
                     new_height,
                     new_width,
                     protect_mask=filename_mask,
                     fast_mode=args.fast_mode,
                     energy=energy)
    obj.save_result(filename_output)
Ejemplo n.º 4
0
def object_removal(filename_input, filename_output, filename_mask, demo,
                   energy):
    '''
    有一个需要移除的object的mask
    '''
    obj = SeamCarver(filename_input,
                     0,
                     0,
                     object_mask=filename_mask,
                     demo=demo,
                     fast_mode=args.fast_mode,
                     energy=energy)
    obj.save_result(filename_output)
Ejemplo n.º 5
0
def protect_and_removal(filename_input, filename_output, protect_mask,
                        object_mask, demo, energy):
    '''
    同时清除和保留多个对象
    '''
    obj = SeamCarver(filename_input,
                     0,
                     0,
                     object_mask=object_mask,
                     protect_mask=protect_mask,
                     demo=demo,
                     fast_mode=args.fast_mode,
                     energy=energy)
    obj.save_result(filename_output)
Ejemplo n.º 6
0
def object_removal(filename_input, filename_output, filename_mask):
    obj = SeamCarver(filename_input, 0, 0, object_mask=filename_mask)
    obj.save_result(filename_output)
Ejemplo n.º 7
0
def image_resize_without_mask(filename_input, filename_output, new_height, new_width):
    obj = SeamCarver(filename_input, new_height, new_width)
    obj.save_result(filename_output)
Ejemplo n.º 8
0
print(frames_count)
print(fps)
print(height)
print(width)

new_height = 256
new_width = 480

# video = np.empty((int(frames_count), int(new_height), int(new_width), 3))

i = 0
while cap.isOpened() and i < frames_count:
    print(i)
    ret, X = cap.read()
    if not ret:
        break
    cv2.imwrite('tmp.png', X.astype(np.uint8))
    obj = SeamCarver('tmp.png', new_height, new_width)
    obj.save_result('./images/res_' + "%02d" % i + '.png', )
    # video[i] = obj.get_img()
    i += 1

# video_name = 'video.mp4'
# fourcc = cv2.VideoWriter_fourcc(*'mp4v')
# result = cv2.VideoWriter(video_name, fourcc, fps, (new_width, new_height))
# for i in range(video.shape[0]):
#     result.write(video[i,:,:,:])

# cv2.destroyAllWindows()
# result.release()
Ejemplo n.º 9
0
def image_content_amplification(filename_input, filename_output):
    obj = SeamCarver(filename_input, 0, 0)
    obj.save_result(filename_output)