add fuction for back

main
HugoooR 1 year ago
parent cc9dc0895e
commit e9be3b12b6

@ -0,0 +1,20 @@
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
def blend_images(img1, img2, blend_ratio):
img2 = img2.resize(img1.size)
array1 = np.array(img1)
array2 = np.array(img2)
blended_array = np.round(array1 * blend_ratio + array2 * (1 - blend_ratio)).astype(np.uint8)
if blended_array.ndim == 2:
blended_array = np.expand_dims(blended_array, axis=2)
blended_img = Image.fromarray(blended_array, 'RGB')
return blended_img

@ -0,0 +1,7 @@
def convert_to_black_and_white(image):
for x in range(image.width):
for y in range(image.height):
pixel_color = image.getpixel((x, y))
if pixel_color != (255, 255, 255):
image.putpixel((x, y), (0, 0, 0))

@ -0,0 +1,4 @@
def convert_to_grayscale(image):
grayscale_image = image.convert("L")
return grayscale_image

@ -0,0 +1,11 @@
import imageio
from PIL import Image
def creer_gif(tableau_images, output_path, duree=0.5):
gif = []
for img in tableau_images:
gif.append(Image.fromarray(img))
# Enregistrer le GIF
imageio.mimsave(output_path, gif, duration=duree)

@ -0,0 +1,13 @@
from resize_image import redimensionner_image
from PIL import Image
def fusionner_horizontalement(image1, image2):
nouvelle_largeur = int(image2.size[0] * (image1.size[1] / image2.size[1]))
nouvelle_hauteur = image1.size[1]
image2_redimensionnee = redimensionner_image(image2, nouvelle_largeur, nouvelle_hauteur)
result = Image.new('RGB', (image1.width + image2_redimensionnee.width, image1.height))
result.paste(image1, (0, 0))
result.paste(image2_redimensionnee, (image1.width, 0))
return result

@ -0,0 +1,14 @@
from resize_image import redimensionner_image
from PIL import Image
def fusionner_verticalement(image1, image2):
nouvelle_largeur = image1.size[0]
nouvelle_hauteur = int(image2.size[1] * (image1.size[0] / image2.size[0]))
image2_redimensionnee = redimensionner_image(image2, nouvelle_largeur, nouvelle_hauteur)
result = Image.new('RGB', (image1.width, image1.height + image2_redimensionnee.height))
result.paste(image1, (0, 0))
result.paste(image2_redimensionnee, (0, image1.height))
return result

@ -0,0 +1,4 @@
from PIL import Image
def open_image(image_path):
return Image.open(image_path)

@ -0,0 +1,17 @@
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
def redimensionner_image(image, nouvelle_largeur, nouvelle_hauteur):
a0, b0, _ = image.shape
ratio_lignes = a0 / nouvelle_largeur
ratio_colonnes = b0 / nouvelle_hauteur
image_sortie = np.zeros((nouvelle_largeur, nouvelle_hauteur, 3), dtype=np.uint8)
for ligne in range(nouvelle_largeur):
for col in range(nouvelle_hauteur):
for i in range(3):
image_sortie[ligne, col, i] = image[int(ligne * ratio_lignes), int(col * ratio_colonnes), i]
return Image.fromarray(image_sortie)
Loading…
Cancel
Save