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
相关推荐
却道天凉_好个秋2 小时前
OpenCV(三十三):什么是轮廓?
人工智能·opencv·计算机视觉
Coding茶水间4 小时前
基于深度学习的PCB缺陷检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·计算机视觉
生而为虫5 小时前
28.Python处理图像
人工智能·python·计算机视觉·pillow·pygame
Dev7z5 小时前
基于OpenCV和MATLAB的椭圆检测系统的设计与实现
人工智能·opencv·matlab
饭饭大王66610 小时前
深度学习在计算机视觉中的最新进展
人工智能·深度学习·计算机视觉
雍凉明月夜13 小时前
视觉opencv学习笔记Ⅲ
笔记·opencv·学习
徽44013 小时前
农田植被目标检测数据标注与模型训练总结1
人工智能·目标检测·计算机视觉
stormsha16 小时前
裸眼3D原理浅析AI如何生成平面裸眼3D图像以科幻战士破框而出为例
人工智能·计算机视觉·平面·3d·ai
顾道长生'1 天前
(Arxiv-2025)ID-COMPOSER:具有分层身份保持的多主体视频合成
计算机视觉·音视频·composer
一只侯子1 天前
Face AE Tuning
图像处理·笔记·学习·算法·计算机视觉