This is perhaps the most interesting application of seam carving. We can make an object completely disappear from an image. Let's consider the following image:
Enclose the region to remove using your mouse:
After you remove the chair on the right, it will look something like this:
It's as if the chair never existed! Before we look at the code, it's important to know that this takes a while to run. So, just wait for a couple of minutes to get an idea of the processing time. You can adjust the input image size accordingly! Let's take a look at the code:
import sys import cv2 import numpy as np # Draw rectangle on top of the input image def draw_rectangle(event, x, y, flags, params): global x_init, y_init, drawing, top_left_pt, bottom_right_pt, img_orig # Detecting a mouse click if event == cv2.EVENT_LBUTTONDOWN: drawing = True x_init, y_init = x, y # Detecting mouse movement elif event == cv2.EVENT_MOUSEMOVE:...