鱼C论坛

 找回密码
 立即注册
查看: 1367|回复: 1

能否纵向剪除图片间的大片空白呢? 有啥现成模块吗?

[复制链接]
发表于 2023-6-4 18:39:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
图片纵向空白太多,能否剪除空白?把左图变成右图。

del1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-6-4 19:06:18 | 显示全部楼层
可以使用 Python 的 Pillow 模块来处理图片,其中包括从图片中剪裁空白部分的功能。具体来说,可以使用 `Image.crop()` 方法,该方法接收一个参数为一个元组,表示要剪裁的矩形区域。

下面是一个示例代码,可以将一张图片中的所有非空白部分剪裁出来,并保存到另外的文件中:
from PIL import Image

def crop_image(infile):
    """
    剪裁图片中的空白部分
    """
    # 打开图片
    img = Image.open(infile).convert('RGBA')
    # 获取图像大小
    width, height = img.size

    # 计算上下左右四个边界
    left, upper, right, lower = width, height, 0, 0
    for x in range(width):
        for y in range(height):
            if img.getpixel((x, y))[3] != 0:
                if x < left:
                    left = x
                if x > right:
                    right = x
                if y < upper:
                    upper = y
                if y > lower:
                    lower = y

    # 剪裁并保存图片
    img_cropped = img.crop((left, upper, right, lower))
    img_cropped.save("cropped_" + infile)

这段代码会读入指定的图片文件,找出其中所有非空白部分的边界,并将其剪裁出来,最后保存到一个新文件中。可以根据需要修改代码,将其适应具体的应用场景。


求最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 23:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表