thresholding skimage scikit recognition pil book array python image-processing

python - skimage - Cosiendo fotos juntas



skimage python install (3)

Entonces, para este proyecto en el que estoy trabajando, tengo 2 fotos. Estas dos fotos deben coserse juntas, una en la parte superior y otra en la inferior, y luego podrás ver la imagen completa. ¿Alguna idea sobre qué módulo debería usar para hacer esto?


Este es un código de la visión de computadora de Jan Erik Solems con el libro de pitón; probablemente pueda editarlo para que se ajuste a sus necesidades superiores e inferiores

def stitchImages(im1,im2): ''''''Takes 2 PIL Images and returns a new image that appends the two images side-by-side. '''''' # select the image with the fewest rows and fill in enough empty rows rows1 = im1.shape[0] rows2 = im2.shape[0] if rows1 < rows2: im1 = concatenate((im1,zeros((rows2-rows1,im1.shape[1]))), axis=0) elif rows1 > rows2: im2 = concatenate((im2,zeros((rows1-rows2,im2.shape[1]))), axis=0) # if none of these cases they are equal, no filling needed. return concatenate((im1,im2), axis=1)


La biblioteca de imágenes de pitón se comerá esa tarea para el desayuno.

Consulte el tutorial en particular la sección "Cortar, pegar y combinar imágenes" para obtener ayuda relevante.

Para un esquema aproximado, cargue ambas imágenes con Image.open , descubra qué tan grande será la imagen de salida usando el atributo de size y alguna adición, cree la imagen de salida con Image.new y luego use el método de paste para pasar las dos imágenes originales en.


Aquí hay una muestra de código usando Pillow . Espero que ayude a alguien!

from PIL import Image def merge_images(file1, file2): """Merge two images into one, displayed side by side :param file1: path to first image file :param file2: path to second image file :return: the merged Image object """ image1 = Image.open(file1) image2 = Image.open(file2) (width1, height1) = image1.size (width2, height2) = image2.size result_width = width1 + width2 result_height = max(height1, height2) result = Image.new(''RGB'', (result_width, result_height)) result.paste(im=image1, box=(0, 0)) result.paste(im=image2, box=(width1, 0)) return result