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?

StackOverflow https://stackoverflow.com/questions/4066606

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.

¿Fue útil?

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
scroll top