Нарезать изображения в каталоге с помощью glob, image_slicer на основе размеров пикселей вместо указания количества изображений для соединения?

#python #slice #glob #image-slicer

#python #нарезать #glob #image-slicer

Вопрос:

Я работаю с базой данных изображений с размерами 4000 x 3000 пикселей, и я хочу нарезать каждое изображение в каталоге на основе размера пикселя (1000 x 1000). В настоящее время я использую модули glob и image_slicer и в настоящее время выполняю метод проб и ошибок, чтобы получить изображения нужного размера в пикселях.

 import glob, os
import image_slicer

for file in glob.glob('~\test_folder\*.jpg'):
    image_slicer.slice(file, 15)
  

Фрагмент из 15 генерирует выходные фотографии размером 1000 x 750, что близко, но все еще не соответствует сигаре. Есть ли способ указать конкретные размеры?

Ответ №1:

Если вы посмотрите на исходный код для image_slicer.slice, там есть два параметра row и col , которые вы можете указать. Исходный код показывает, как они используются для вычисления количества плиток в горизонтальном и вертикальном направлениях. Вы можете работать в обратном направлении, чтобы увидеть, сколько строк и столбцов вам нужно, чтобы получить плитки размером 1000×1000 пикселей. В вашем случае (на основе получения изображений размером 4000×3000 на плитки размером 1000×1000) это row=3 и col=4 . т.е.

 import glob, os
import image_slicer

for file in glob.glob('~\test_folder\*.jpg'):
    image_slicer.slice(file, row=3, col=4)