將 JPG/PNG 格式圖片轉換為分層資訊的 TIFF / PSD 格式檔案
本 Skill 將常見的點陣圖格式(JPG、PNG、BMP、WebP)轉換為多頁分層 TIFF 檔案或 Photoshop PSD 檔案。每個圖層在輸出檔案中獨立儲存。
輸出格式區別:
| 格式 | 說明 | Photoshop 中檢視方式 |
|---|---|---|
| TIFF (預設) | 多頁 TIFF,每頁一個圖層 | 「視窗 > 圖層」或「匯入 > 影片幀到圖層」 |
| PSD | Photoshop 原生格式 | 圖層面板直接可見每個圖層 |
推薦: 如果你需要在 Photoshop 中直接看到分層效果,請使用
--format psd。
典型使用場景: - 印刷前分色:RGB → CMYK 四色通道分離 - 印刷質量檢測:檢查各色版網點分佈 - 科學影像分析:分離各通道用於獨立分析 - 透明通道提取:匯出 Alpha 通道用於合成 - 灰度參考:生成灰度版用於對比 - 圖形邊緣提取: 提取圖片中輪廓清晰的圖形/Logo/線條,用於向量化參考、印刷版檢查、形狀分析 - Photoshop 分層交付: 輸出 PSD 檔案,直接在 Photoshop 圖層面板中檢視各通道
| 模式 | 說明 | 圖層 |
|---|---|---|
rgb |
RGB 三通道分離 | Red, Green, Blue (灰度) |
rgba |
RGBA 四通道分離 | Red, Green, Blue, Alpha (灰度) |
cmyk |
CMYK 四通道分離 | Cyan, Magenta, Yellow, Black (灰度) |
alpha |
彩色 + Alpha 通道 | Composite (彩色), Alpha (灰度) |
gray+color |
灰度 + 彩色原圖 | Grayscale (灰度), Color (彩色) |
hsl |
HSV 三通道分離 | Hue, Saturation, Lightness (灰度) |
lab |
CIE Lab 三通道分離 | L, a, b* (灰度) |
edge-extract |
邊緣清晰圖形提取 | Composite (彩色), Canny-Edge (灰度), Gradient-Mag (灰度), Binary-Edge (灰度) |
該模式使用三種經典邊緣檢測演算法,將圖片中的清晰輪廓/圖形提取為獨立圖層:
| 圖層 | 演算法 | 說明 |
|---|---|---|
| Composite | — | 原始彩色圖,作為參考 |
| Canny-Edge | Canny 邊緣檢測 | 最精準的邊緣線(白色=邊緣,黑色=背景),適合提取清晰輪廓 |
| Gradient-Mag | Sobel 梯度幅值 | 邊緣強度熱力圖,邊緣越亮越強,適合觀察漸變過渡區域 |
| Binary-Edge | 拉普拉斯 + 二值化 | 對銳利輪廓最敏感的演算法,適合提取 Logo、文字等硬邊緣圖形 |
閾值控制 (--edge-threshold, 1-255, 預設 30):
- 低值 (10-20):提取更多細節邊緣,適合複雜圖形
- 中值 (30-60):平衡模式,適合大多數場景
- 高值 (80-150):只保留最銳利的輪廓,適合簡潔圖形/Logo
pip install Pillow numpy tifffile imagecodecs
# PSD 輸出需要額外安裝 pytoshop
pip install pytoshop
# 可選:安裝 scipy 可加速邊緣提取的高斯平滑
pip install scipy
當用戶提到以下需求時,自動觸發此 Skill: - "圖片轉 TIFF"、"JPG 轉 TIFF"、"PNG 轉 TIFF" - "分層 TIFF"、"多頁 TIFF" - "圖片轉 PSD"、"分層 PSD"、"PSD 圖層" - "通道分離"、"RGB 分離"、"CMYK 分色" - "Alpha 通道提取"、"透明通道匯出" - "影像分色"、"分色 TIFF" - "邊緣提取"、"圖形提取"、"輪廓提取"、"邊緣檢測"、"edge extract" - "TIFF 不分層"、"PSD 圖層看不到"(問題排查場景)
scripts/img2layered_tiff.py
# 基本用法 - RGB 三通道分離 (TIFF 格式)
python scripts/img2layered_tiff.py photo.jpg --mode rgb
# CMYK 四色分色(印刷用)
python scripts/img2layered_tiff.py photo.jpg --mode cmyk --dpi 300 --compression lzw
# 提取 Alpha 透明通道
python scripts/img2layered_tiff.py logo.png --mode alpha
# 灰度 + 彩色雙圖層
python scripts/img2layered_tiff.py photo.jpg --mode gray+color
# 指定輸出路徑
python scripts/img2layered_tiff.py photo.jpg --mode rgb -o output/color_split.tif
# 邊緣圖形提取(預設閾值 30)
python scripts/img2layered_tiff.py logo.png --mode edge-extract
# 邊緣提取 + 高閾值(只保留最銳利的輪廓)
python scripts/img2layered_tiff.py logo.png --mode edge-extract --edge-threshold 80
# 邊緣提取 + 低閾值(提取更多細節)
python scripts/img2layered_tiff.py photo.jpg --mode edge-extract --edge-threshold 10
# ★ PSD 格式輸出(Photoshop 圖層面板直接可見)
python scripts/img2layered_tiff.py photo.jpg --mode rgb --format psd
python scripts/img2layered_tiff.py logo.png --mode rgba --format psd
python scripts/img2layered_tiff.py photo.jpg --mode cmyk --format psd
python scripts/img2layered_tiff.py logo.png --mode edge-extract --format psd
# 批次處理當前目錄所有 JPG
python scripts/img2layered_tiff.py *.jpg --mode rgb
# 批次處理並指定輸出目錄
python scripts/img2layered_tiff.py *.png --mode cmyk --output-dir ./cmyk_output
# 萬用字元 + 自定義 DPI
python scripts/img2layered_tiff.py images/*.jpg --mode alpha --dpi 300
# 批次輸出 PSD 格式
python scripts/img2layered_tiff.py *.jpg --mode rgb --format psd --output-dir ./psd_output
| 壓縮方式 | 引數 | 特點 |
|---|---|---|
| 無壓縮 | --compression none |
檔案最大,相容性最好 |
| LZW | --compression lzw (預設) |
無損,壓縮比中等,相容性好 |
| Deflate | --compression deflate |
無損,壓縮比較高 |
| JPEG | --compression jpeg |
有損,檔案最小,灰度圖層推薦 |
python scripts/img2layered_tiff.py --list-modes
positional arguments:
inputs 輸入圖片路徑 (支援多檔案和萬用字元 *.jpg/*.png)
optional arguments:
--mode, -m 分層模式: rgb/rgba/cmyk/alpha/gray+color/hsl/lab/edge-extract (預設: rgb)
--format, -f 輸出格式: tiff/psd (預設: tiff; psd 需要安裝 pytoshop)
--output, -o 輸出檔案路徑 (單檔案時有效)
--output-dir 輸出目錄 (批次處理時有效)
--compression, -c 壓縮方式: none/lzw/deflate/jpeg (預設: lzw,僅 tiff 格式)
--dpi 輸出 DPI (預設保留原圖 DPI,僅 tiff 格式)
--edge-threshold 邊緣提取閾值 1-255 (預設: 30,僅 edge-extract 模式)
--list-modes 列出所有分層模式
當用戶請求圖片轉分層 TIFF 時,Agent 應:
cmykrgb 或 rgbaalphagray+coloredge-extractimport sys
sys.path.insert(0, "path/to/skill/scripts")
from img2layered_tiff import convert_single, convert_batch
# 單檔案 TIFF 轉換
result = convert_single(
input_path="photo.jpg",
mode="cmyk",
compression="lzw",
dpi=300,
)
print(f"輸出: {result}")
# 單檔案 PSD 轉換(Photoshop 圖層面板可見)
result = convert_single(
input_path="photo.jpg",
mode="rgb",
output_format="psd",
)
print(f"輸出: {result}")
# 邊緣提取(自定義閾值)
result = convert_single(
input_path="logo.png",
mode="edge-extract",
edge_threshold=50,
)
print(f"輸出: {result}")
# 批次轉換 PSD
results = convert_batch(
input_paths=["a.jpg", "b.png"],
mode="rgb",
output_dir="./output",
output_format="psd",
)
--dpi 引數覆蓋{原名}_{模式}.tif,如 photo_cmyk.tif7w4.net小蔥技能。
--format psd),圖層在 Photoshop 圖層面板中直接可見--format / -f CLI 引數8 種模式 TIFF + PSD 全量回歸測試通過
v1.2.0 (2026-04-28)
stride_tricks + einsum),edge-extract 模式提速約 10-50 倍edge_threshold 改為函式引數傳遞edge-extract 邊緣清晰圖形提取模式--edge-threshold 引數控制邊緣靈敏度這個Skill功能很實用,能把圖片分離成多個圖層,還能提取邊緣輪廓,文件說明詳細,容易上手。主要優點是支援多種分層模式和Photoshop直接檢視的PSD輸出。不足是缺少示例圖片參考效果,也沒有測試覆蓋。總體質量良好,適合設計師和需要影像分析的使用者使用。