PPT auto Crorrector

项目地址:https://github.com/AkanthaWang/PPT-auto-Crorrector

你是否也遇到过这些场景?

  • 听讲座时拍了一堆 PPT 照片,但角度歪、有阴影、看不清。
  • 回去整理时发现照片杂乱无章,根本没法当课件用。
  • 想转成 PDF 存档,但每张图都歪歪扭扭,强迫症崩溃。

今天,我开源了一个小工具:PPT-auto-Corrector,它能:

自动识别 → 透视矫正 → 尺寸标准化 → 批量输出 → 合并 PDF

一键将你手机里拍糊的 PPT 照片,变成规整、清晰、可播放的幻灯片!


文章目录

    • [🎯 项目目标](#🎯 项目目标)
    • [🖼️ 效果对比](#🖼️ 效果对比)
    • [🔧 核心技术:SAM + OpenCV](#🔧 核心技术:SAM + OpenCV)
      • [1. 使用 Segment Anything Model (SAM) 智能分割](#1. 使用 Segment Anything Model (SAM) 智能分割)
      • [2. OpenCV 透视变换 + 尺寸标准化](#2. OpenCV 透视变换 + 尺寸标准化)
    • [🚀 如何使用?](#🚀 如何使用?)
      • [1. 克隆项目](#1. 克隆项目)
      • [2. 安装依赖](#2. 安装依赖)
      • [3. 下载 SAM 模型](#3. 下载 SAM 模型)
      • [4. 放入照片](#4. 放入照片)
      • [5. 运行脚本](#5. 运行脚本)
      • [6. (可选)合并为 PDF](#6. (可选)合并为 PDF)
    • [📦 功能亮点](#📦 功能亮点)
    • [📷 适用场景](#📷 适用场景)
    • [📦 项目结构](#📦 项目结构)

🎯 项目目标

输入 :一张从教室/会议室拍摄的 PPT 照片(倾斜、畸变、带黑板框)
输出:一张 1920×1080 的标准幻灯片图像,可直接用于播放、存档或转视频。

无需手动框选、无需 Photoshop,全程自动化。


🖼️ 效果对比

|--------------------------------------------------------------------------------|--------------------------------------------------------------------------------|
| | |
| 📷 拍摄原图(矫正前) | 📐 矫正结果(标准幻灯片) |

✅ 自动识别 PPT 区域

✅ 消除透视畸变

✅ 输出统一尺寸(默认 1920×1080)

✅ 支持批量处理


🔧 核心技术:SAM + OpenCV

这个项目的核心思路是:

  1. 用 AI 找出 PPT 在照片中的位置
  2. 用图像变换"拉直"它

1. 使用 Segment Anything Model (SAM) 智能分割

传统方法依赖边缘检测(如 Canny),但在复杂背景、模糊照片中效果很差。

我采用了 Facebook 开源的 Segment Anything Model (SAM),它能:

  • 无需标注,自动分割图像中所有显著区域
  • 精准识别出"最像 PPT"的矩形区域(最大 + 接近 16:9)

这样即使照片里有黑板框、投影边框、阴影,也能准确锁定 PPT 内容。

2. OpenCV 透视变换 + 尺寸标准化

找到四个角点后,使用 OpenCV 的 cv2.getPerspectiveTransform 进行透视矫正,并将结果统一缩放到 1920×1080,确保输出一致。

python 复制代码
M = cv2.getPerspectiveTransform(src_points, dst_points)
corrected = cv2.warpPerspective(image, M, (1920, 1080))

🚀 如何使用?

1. 克隆项目

bash 复制代码
git clone https://github.com/AkanthaWang/PPT-auto-Crorrector.git
cd PPT-auto-Crorrector

2. 安装依赖

bash 复制代码
pip install opencv-python numpy torch torchvision
pip install segment_anything
pip install natsort

3. 下载 SAM 模型

bash 复制代码
wget https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth

4. 放入照片

将拍摄的 PPT 照片(.jpg)放入 input_dir 文件夹。

5. 运行脚本

bash 复制代码
python ppt_auto_corrector.py

结果保存在 corrected_ppt/ 文件夹中。

6. (可选)合并为 PDF

bash 复制代码
python image_to_pdf.py

生成 ppt_slides.pdf,适合归档与分享。


📦 功能亮点

  • 自动检测 PPT 区域:基于 SAM,无需手动框选
  • 透视矫正:消除拍摄角度带来的畸变
  • 批量处理:支持文件夹内多图自动处理
  • 智能排序:支持按文件大小或文件名自然排序(适合时间序列)
  • 输出标准化:统一为 1920×1080 或自定义尺寸
  • 鲁棒性强:对模糊、阴影、低光有一定容忍度

📷 适用场景

场景 价值
教学讲座 把手机拍的板书/PPT 变成电子课件
会议记录 快速归档投影内容,无需手动整理
学术报告 拍照 → 矫正 → PDF,一键生成笔记素材
远程学习 帮助视障或坐后排的同学"还原"清晰画面

📦 项目结构

复制代码
PPT-auto-Crorrector/
├── ppt_auto_corrector.py    # 主脚本:PPT 矫正
├── image_to_pdf.py          # 图像合并为 PDF
├── input_dir/               # 输入原始照片
├── corrected_ppt/           # 输出矫正后图像
├── image/                   # 示例图片
├── sam_vit_h_4b8939.pth     # SAM 模型权重(需自行下载)
├── requirements.txt
└── README.md
相关推荐
天远Date Lab18 分钟前
零信任架构实战:基于天远车信盟出险构建自动化汽车消费贷合规网关
人工智能·机器学习·计算机视觉·ocr
YOLO视觉与编程3 小时前
YOLO / Labelme目标分割数据集增强扩充软件v1.0.0适用于YOLO全版本
人工智能·深度学习·yolo·计算机视觉
leoZ2315 小时前
第 4 篇:布局骨架——页面壳、栅格、卡片
前端·javascript·vue.js·opencv·计算机视觉·数据挖掘·语音识别
jay神5 小时前
深度学习如何确定Batch Size的大小?
人工智能·深度学习·计算机视觉·毕业设计·课程设计·batch
JarmanYuo6 小时前
YOLO 涨点研究(六):网络结构改进之小目标增强篇1——无人机视角下的车辆与行人检测
人工智能·pytorch·python·yolo·计算机视觉·无人机
格林威6 小时前
C# 相机图像阴影校正:使用OpenCvSharp实现工业相机阴影平场校正功能
人工智能·数码相机·opencv·计算机视觉·c#·机器视觉·工业相机
合合技术团队6 小时前
论文解读|合合信息与上海交通大学打造DocIQ模型,AI为文档图像质量“做体检”
人工智能·计算机视觉
乐迪信息19 小时前
智慧港口船舶AI算法实现在线状态监测
大数据·人工智能·深度学习·算法·计算机视觉
具身AGI1 天前
模型懂物理吗?物理AI 物理推理 的新赛点
人工智能·深度学习·计算机视觉
天远Date Lab1 天前
计算机视觉管道构建:基于天远身份证OCR实现机器学习身份信息提取
人工智能·机器学习·计算机视觉·ocr