In Python, ein Verzeichnis von Bildern in voller Größe gegeben, wie ich Thumbnails erzeugen kann mehr als einen CPU-Kern mit?
-
28-09-2019 - |
Frage
Ich habe eine 16-Core-Maschine, aber meine aktuelle Redimensionierung Funktion verwendet nur einen Kern, der für ein großes Verzeichnis von Bildern wirklich ineffizient ist.
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")
Jede Hilfe wäre sehr geschätzt. Danke.
Lösung
Das klingt wie eine gute Lösung für das Multiprozessing -Modul, das die verwendet Threading-Schnittstelle, sondern schafft getrennte Prozesse statt Threads.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow