Last active
February 27, 2019 04:22
-
-
Save sleepless-se/cac71e95a02eacb9c19cac42c5e0c8e4 to your computer and use it in GitHub Desktop.
Make left rigth split image from image path.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def left_right_image(left_img_path,right_img_path, canvas_size = 500): | |
# load image | |
iml = Image.open(left_img_path) | |
imr = Image.open(right_img_path) | |
# make back ground | |
bg = Image.new("RGB",(canvas_size,canvas_size),(250,250,250)) | |
# target position | |
left_target = int(bg.size[0] / 4 * 1) | |
right_target = int(bg.size[0] / 4 * 3) | |
# resize image | |
iml2 = resize(iml,bg.size[0]) | |
imr2 = resize(imr,bg.size[0]) | |
# image to array | |
left_image = keras.preprocessing.image.img_to_array(iml2) | |
right_image = keras.preprocessing.image.img_to_array(imr2) | |
# Run detection | |
left_results = model.detect([left_image], verbose=1) | |
right_results = model.detect([right_image], verbose=1) | |
# get object centor | |
iml2_center = get_object_center(left_results[0]['rois'],left_image) | |
imr2_center = get_object_center(right_results[0]['rois'],right_image) | |
# print('left_img_object_centor',iml2_center) | |
# print('right_img_object_centor',imr2_center) | |
# make mask | |
mask1 = Image.new("L",iml2.size,0) | |
draw1 = ImageDraw.Draw(mask1) | |
mask_width = bg.size[0] / 2 | |
draw1.rectangle((iml2_center - mask_width / 2,0,iml2.size[0],iml2.size[1]), fill=255) | |
mask2 = Image.new("L",imr2.size,0) | |
draw2 = ImageDraw.Draw(mask2) | |
draw2.rectangle((imr2_center - mask_width / 2 ,0,imr2_center+ mask_width / 2,imr2.size[1]), fill=255) | |
# composite image | |
bg.paste(iml2,(shift_to(iml2_center,left_target),0),mask1) | |
bg.paste(imr2,(shift_to(imr2_center,right_target),0),mask2) | |
return bg |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment