В Python, учитывая каталог полноразмерных изображений, как я могу генерировать эскизы, используя более одного ядра процессора? - PullRequest
2 голосов
/ 01 ноября 2010

У меня 16-ядерный компьютер, но моя текущая функция изменения размера использует только одно ядро, что неэффективно для большого каталога изображений.

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")

Любая помощь будет принята с благодарностью. Спасибо.

1 Ответ

5 голосов
/ 01 ноября 2010

Это звучит как хорошее решение для многопроцессорного модуля , который использует интерфейс потоков, но создает отдельные процессы вместо потоков.

...