界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
效率与协作 · SKILL.md

image-split

image-split

【效率与协作】将图片按网格或按尺寸自动切割成多段。支持水平/垂直切割,智能在空白间隙处分割避免切到文字。自动模式:超过 8000px 才切,每段目标 6000px。适用于长截图拆分、图片分片等场景。

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: image-split description: "将图片按网格或按尺寸自动切割成多段。支持水平/垂直切割,智能在空白间隙处分割避免切到文字。自动模式:超过 8000px 才切,每段目标 6000px。适用于长截图拆分、图片分片等场景。" trigger: "切割图片|图片切割|切成两半|切成多段|split image|图片太长|图片太大|图片切分" version: 1.1.0 display_name: 图片智能切割 platforms: [macos, linux] metadata: openclaw: requires: bins: - python3

图片智能切割

将图片按 x/y 网格切割或按尺寸自动切割成多段,智能在空白间隙处分割,避免切到文字内容。

两种模式

自动模式(推荐:agent 拿到图片时优先用这个)

python3 ~/.ethan/skills/image-split/scripts/image_split.py <image_path> --auto

判断逻辑:

  • 宽和高均 ≤ 8000px → 不切,直接用原图
  • 宽或高 > 8000px → 按每段 6000px 切割该维度

阈值和段大小可调:--threshold 8000 --segment 6000

图片尺寸动作切割结果
4000×6000不切—
2000×8000不切(=8000 不算超过)—
2000×8001切(高度超 8000)2 段:~6000 + ~2001
2000×14000切(高度超 8000)3 段:~6000 + ~6000 + ~2000
2000×20000切(高度超 8000)4 段:~6000×3 + ~2000
9000×20000切(宽高均超)网格切:宽 1 刀 + 高 3 刀 = 8 片

切割时会在目标分割线 ±200px 内搜索空白区域(像素方差低的行/列),优先在空白间隙处切割。最后一段若 < 100px 则并入前一段,避免产生 1px 碎片。

手动网格模式(指定切几份)

python3 ~/.ethan/skills/image-split/scripts/image_split.py <image_path> [--x N] [--y N]
  • x=0, y=2:垂直方向切成 2 段(上半 + 下半)
  • x=2, y=0:水平方向切成 2 段(左半 + 右半)
  • x=2, y=3:切成 2×3 = 6 块

参数说明

参数默认说明
image_path(必需)源图片路径
--autooff启用自动模式
--threshold8000自动模式触发阈值(≤ 此值不切)
--segment6000自动模式每段目标尺寸
--x0手动模式:水平切割数
--y2手动模式:垂直切割数
--output-dir源图同目录输出目录

输出

切割结果保存在源图片同目录(或指定目录):

  • 自动模式 / 仅垂直切:{原名}_{序号}.png(如 talk_1.png、talk_2.png)
  • 仅水平切:{原名}_{序号}.png
  • 网格切:{原名}_r{行}_c{列}.png

脚本 stdout 输出每个切片的路径和尺寸信息。

agent 使用建议

收到图片时,优先用 --auto 模式跑一遍:

  1. 如果输出「无需切割」→ 直接用原图
  2. 如果输出了切片 → 把切片按顺序发给模型,而不是发原图
我的收藏