You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.2 KiB

from matplotlib.widgets import RectangleSelector
import matplotlib.pyplot as plt
from function import *
import numpy as np
def onselect(eclick, erelease):
x1, y1 = int(eclick.xdata), int(eclick.ydata)
x2, y2 = int(erelease.xdata), int(erelease.ydata)
img[y1:y2,x1:x2] = (255,0,0)
mask[y1:y2,x1:x2] = True
ax.imshow(img)
plt.draw()
img = read(input("lien relatif de l'image: "))
img = img.copy()
rep = input("avez vous le mask de l'image ?(y:n)")
yes = ["y","Y","yes","YES","Yes","o","O","oui","OUI"]
height, width = img.shape[:2]
if (rep in yes):
maskImg = read(input("lien relatife de l'image: "))
mask = maskImg == 255
img[mask] = (255,0,0)
else:
fig, ax = plt.subplots()
ax.imshow(img)
mask = np.zeros((height, width), dtype=bool)
toggle_selector = RectangleSelector(ax, onselect, useblit=True,
button=[1], minspanx=5, minspany=5, spancoords='pixels',
interactive=True)
plt.imshow(img)
plt.show()
plt.ion()
plt.axis("off")
plt.imshow(mask)
plt.show()
plt.title("mask de l'image")
plt.pause(1)
plt.title("génération de l'image")
img = doTheInpainting(img,mask,2)
plt.imshow(img)
plt.title("image final")
plt.pause(20)