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)
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)
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)
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)
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)
def object_removal(filename_input, filename_output, filename_mask): obj = SeamCarver(filename_input, 0, 0, object_mask=filename_mask) obj.save_result(filename_output)
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)
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()
def image_content_amplification(filename_input, filename_output): obj = SeamCarver(filename_input, 0, 0) obj.save_result(filename_output)