【发布时间】:2012-10-01 17:51:31
【问题描述】:
我有一个充满图像的文件夹,每个图像至少包含 4 个较小的图像。我想知道如何使用 Python PIL 剪切较小的图像,以便它们都作为独立的图像文件存在。幸运的是,有一个常数,背景是白色或黑色,所以我猜我需要一种通过搜索完全黑色或完全白色的行或最好是列来剪切这些图像的方法,这是一个示例图像:
从上图中,将有 10 个单独的图像,每个图像都包含一个数字。提前致谢。
编辑:我有另一个更真实的示例图像,因为一些较小图像的背景与它们所在图像的背景颜色相同。例如
输出 13 个独立的图像,每个包含 1 个字母
【问题讨论】:
-
之前有人问过关于裁剪的类似问题...stackoverflow.com/questions/1076638/… 您可以将该代码放入一个循环中,并使用正确的坐标进行更改以使其像自动裁剪一样工作
-
感谢您的回复,但cropbox 使用预定义的 x、y 坐标。正如我所说,唯一不变的是背景颜色留下整列黑/白。手动操作会比手动操作更快。
-
放入某个循环并基本均匀地增加坐标左侧坐标,这样我希望它比手动干预更快,而且一旦代码准备好,你可以将它应用于 n 个图像。
-
上面的图片只是用来帮助澄清我的问题,是的,它适用于上述图片。但是,我拥有的图像大小不同,其中包含的图像也是如此。从一个图像循环到下一个图像会产生可以被认为是随机的结果。这就是为什么我需要能够获得 PIL 类似的东西以找到“全黑”像素列并将它们之间的内容拆分为单独的图像。
标签: python image-processing image-manipulation python-imaging-library crop