首页 > 解决方案 > 使用glob,image_slicer根据像素大小对目录中的图像进行切片,而不是指定要拼接的图像数量?

问题描述

我正在使用尺寸为 4000 x 3000 像素的图像数据库,我希望根据像素大小(1000 x 1000)对目录中的每个图像进行切片。我目前正在使用globimage_slicer模块,并且目前正在执行试错以使图像达到首选像素大小。

import glob, os
import image_slicer

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

15 的切片生成尺寸为 1000 x 750 的输出照片,这很接近但仍然没有雪茄。有没有办法可以指定具体尺寸?

标签: pythonsliceglobimage-slicer

解决方案


如果您查看image_slicer.slicerow的源代码,col那么您可以指定两个参数。源代码显示了如何使用它们来计算水平和垂直方向的瓦片数量。您可以从这里向后工作,以查看需要多少行和列才能获得 1000x1000 像素的图块。在您的情况下(基于将 4000x3000 图像转换为 1000x1000 瓷砖)它是row=3col=4. IE

import glob, os
import image_slicer

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

推荐阅读