Contact Sheet Generator es un script de Python que genera una hoja de contactos a partir de un directorio de imágenes. Utiliza la biblioteca PIL
para procesar imágenes y multiprocessing
para generar miniaturas en paralelo. La hoja de contactos se crea organizando las miniaturas en un patrón de cuadrícula.
Además, genera un patrón de cuadrícula sin recortar las imágenes. Soporta tanto vertical como horizontal. Todas las imágenes encajan automáticamente en el patrón de cuadrícula final. Puede utilizar esta función con el argumento --no-crop
en la línea de comando.
PIL
(paquete pillow
)multiprocessing
tqdm
rectpack
wand
git clone https://github.com/cobanov/contact-sheet-generator.git
pip install -r requirements.txt
Coloque sus imágenes en un directorio.
Abra el símbolo del sistema o la terminal y navegue hasta el directorio del proyecto.
Ejecute el script con el siguiente comando:
python contact_sheet.py /path/to/images output_contact_sheet.jpg
Importante: si desea utilizar la función heic_to
, consulte la página de descarga de ImageMagick e instálela en la plataforma deseada.
python contract_sheet.py /path/to/images --shuffle --heic_to jpeg --img-size 500 --no-crop result.jpg
Reemplace /path/to/images con la ruta del directorio que contiene las imágenes desde las que desea generar una hoja de contactos y output_contact_sheet.jpg con la ruta del archivo de salida deseada para la hoja de contactos.
El script comenzará a generar la hoja de contactos y mostrará barras de progreso utilizando la biblioteca tqdm.
Una vez que se complete el proceso, la hoja de contactos se guardará en la ruta del archivo de salida especificada.
Nombre | Tipo | Descripción |
---|---|---|
--image_dir | cadena | Ruta del directorio de imágenes |
--file_list(opcional) | cadena | Ruta a la lista de archivos (filelist.txt) si está disponible |
--img-size(opcional) | entero | Ajustar el tamaño de la imagen para procesar |
--no-crop(opcional) | booleano | Cree sin recortar imágenes, admita imágenes v&h |
--heic_to | cadena | convierta imágenes .HEIC a las deseadas ( .jpg o .png ) |
--barajar | booleano | Mezcla aleatoriamente imágenes en miniatura para obtener resultados diferentes |
archivo_salida | cadena | Nombre del archivo de salida |
La variable thumbnail_size en el script se puede ajustar para controlar el tamaño de las miniaturas en la hoja de contactos.
El script utiliza la técnica de recorte del cuadrado central para recortar las imágenes antes de generar miniaturas. Esto asegura que cada miniatura sea un cuadrado centrado.
El script utiliza multiprocesamiento para generar miniaturas en paralelo, lo que puede acelerar significativamente el proceso para una gran cantidad de imágenes.
El seguimiento del progreso se agrega utilizando la biblioteca tqdm, que muestra barras de progreso mientras genera miniaturas y procesa las imágenes.
El directorio de miniaturas temporal utilizado durante el proceso se limpiará automáticamente después de que se genere la hoja de contactos.
¡Siéntete libre de modificar y personalizar el script según tus requisitos específicos!
Este proyecto está bajo la licencia MIT.