Imported from zengqing1218/seryl (
skills/seryl/doc-scan/SKILL.md). Install upstream withnpx skills add zengqing1218/seryl --skill doc-scan. Copyright stays with the author (MIT).
Doc Scan(拍照转扫描件)
把手机拍的文档照片处理成扫描件效果(自动透视校正 + 自适应二值化/灰度增强)。
依赖(惰性安装,缺失时征得用户同意)
python -c "import cv2" 2>/dev/null || echo MISSING
uv pip install opencv-python-headless==5.0.0.93
用法(脚本: scripts/seryl_scan_enhance.py,仓库根目录下运行)
python scripts/seryl_scan_enhance.py photo.jpg scan.png # 默认: 透视校正 + 黑白
python scripts/seryl_scan_enhance.py photo.jpg scan.png --mode gray # 灰度增强(有照片/印章时)
python scripts/seryl_scan_enhance.py photo.jpg scan.png --no-warp # 跳过透视校正
多页合成一个 PDF(Pillow)
python3 -c "
from PIL import Image
pages = [Image.open(p).convert('RGB') for p in ['scan1.png', 'scan2.png']]
pages[0].save('scanned.pdf', save_all=True, append_images=pages[1:], resolution=200)"
注意
- 透视校正靠边缘检测找文档四角:纸张与背景对比越明显越准;找不到四角会自动跳过校正(不报错)。
- 结果歪斜/裁错 → 加
--no-warp重跑。 - 纯文字用默认黑白;含图片/图表/红章用
--mode gray。 - 扫描完要提取文字 →
ocr-screenshot或ocr-and-documents技能。
