当前位置: 首页 > 面试题库 >

如何在Python中将图像拆分成多个片段

章誉
2023-03-14
问题内容

我正在尝试使用PIL将照片分成多张。

def crop(Path,input,height,width,i,k,x,y,page):
    im = Image.open(input)
    imgwidth = im.size[0]
    imgheight = im.size[1]
    for i in range(0,imgheight-height/2,height-2):
        print i
        for j in range(0,imgwidth-width/2,width-2):
            print j
            box = (j, i, j+width, i+height)
            a = im.crop(box)
            a.save(os.path.join(Path,"PNG","%s" % page,"IMG-%s.png" % k))
            k +=1

但它似乎不起作用。它会分割照片,但不会以精确的方式(您可以尝试)。


问题答案:
from PIL import Image

def crop(path, input, height, width, k, page, area):
    im = Image.open(input)
    imgwidth, imgheight = im.size
    for i in range(0,imgheight,height):
        for j in range(0,imgwidth,width):
            box = (j, i, j+width, i+height)
            a = im.crop(box)
            try:
                o = a.crop(area)
                o.save(os.path.join(path,"PNG","%s" % page,"IMG-%s.png" % k))
            except:
                pass
            k +=1


 类似资料:
  • 问题内容: 一直在撕我的头发。 如何将多页/多层TIFF图像分成几个单独的图像? 演示图像在这里。 (宁愿使用纯Java(即非本机)解决方案。该解决方案是否依赖于商业库也没关系。) 问题答案: 您可以使用 Java高级映像 库JAI通过使用ImageReader分割多页TIFF: 然后,您可以获得页面数: 并分别阅读页面:

  • 问题内容: 我需要拍摄图像并将其放置在新的生成的白色背景上,以便将其转换为可下载的桌面墙纸。因此该过程将进行: 生成具有1440x900尺寸的新全白图像 将现有图像放在顶部居中 另存为单个图像 在PIL中,我看到了该对象,但是没有任何迹象表明它可以将现有的图像数据绘制到另一个图像上。任何人都可以推荐的建议或链接? 问题答案: 这可以通过Image实例的方法来完成: 可以在Nadia Alramli

  • 问题内容: 我在python中有一个约5000行的csv文件,我想将其拆分为五个文件。 我为此写了一个代码,但是没有用 上面的代码创建了许多内容为空的文件。 如何将一个文件分成五个csv文件? 问题答案: 我建议你不要发明轮子。有现有的解决方案。来源在这里 像这样使用它:

  • 问题内容: 我找到了一个解决方案,但确实很慢: 您有没有使用外部模块(numpy等)的任何想法? 问题答案: 由于字典很大,因此最好将所有涉及的项都保留为迭代器和生成器,像这样 样品运行: 输出量

  • 我有一个字符串和一个ArrayList。字符串中有几个单词,用空格隔开,例如“firstword second third”。我想将字符串拆分为几个部分,并将“piece”字符串添加到ArrayList中。

  • 本文向大家介绍Python如何将将模块分割成多个文件,包括了Python如何将将模块分割成多个文件的使用技巧和注意事项,需要的朋友参考一下 问题 你想将一个模块分割成多个文件。但是你不想将分离的文件统一成一个逻辑模块时使已有的代码遭到破坏。 解决方案 程序模块可以通过变成包来分割成多个独立的文件。考虑下下面简单的模块: 假设你想mymodule.py分为两个文件,每个定义的一个类。要做到这一点,首