En Python, dado un directorio de las imágenes a tamaño completo, ¿cómo puedo generar miniaturas con más de un núcleo de la CPU?
-
28-09-2019 - |
Pregunta
Tengo una máquina de 16 núcleos, pero mi función de cambio de tamaño actual sólo utiliza un núcleo, que es muy ineficiente para un gran directorio de imágenes.
def generateThumbnail(self, width, height):
"""
Generates thumbnails for an image
"""
im = Image.open(self._file)
(detected_width,detected_height) = im.size
#Get cropped box area
bbox = self.getCropArea(detected_width, detected_height, width, height)
#Crop to box area
cropped_image = im.crop(bbox)
#Resize to thumbnail
cropped_image.thumbnail((width, height), Image.ANTIALIAS)
#Save image
cropped_image.save(self._path + str(width) + 'x' +
str(height) + '-' + self._filename, "JPEG")
Cualquier ayuda sería muy apreciada. Gracias.
Solución
Esto suena como una buena solución para el multiprocesamiento módulo, que utiliza el interfaz de roscar, sino que crea procesos separados en lugar de roscas.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow