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
相关推荐
不枯石3 小时前
Matlab通过GUI实现点云的导向(引导)滤波(附最简版)
开发语言·图像处理·算法·计算机视觉·matlab
真智AI4 小时前
谷歌 Nano-Banana 图像生成编辑全解析
人工智能·深度学习·计算机视觉·生成式ai·图像编辑·google gemini
CoovallyAIHub6 小时前
数据稀缺?不存在的!手把手教你用ChatGPT+Stable Diffusion合成铁路异物检测数据集
深度学习·算法·计算机视觉
CoovallyAIHub7 小时前
版本号突袭!官方预览:YOLO26正式宣布,10月发布,CPU推理速度提升43%
深度学习·算法·计算机视觉
IT古董10 小时前
【第五章:计算机视觉-项目实战之目标检测实战】2.目标检测实战:中国交通标志检测-(4)YOLOv8训练与测试
yolo·目标检测·计算机视觉
IT古董13 小时前
【第五章:计算机视觉-项目实战之图像分割实战】1.图像分割理论-(2)图像分割衍生:语义分割、实例分割、弱监督语义分割
人工智能·计算机视觉
一朵小红花HH15 小时前
SimpleBEV:改进的激光雷达-摄像头融合架构用于三维目标检测
论文阅读·人工智能·深度学习·目标检测·机器学习·计算机视觉·3d
清风吹过17 小时前
因果&Transformer架构论文分享:机器人技术和计算机视觉的位姿估计
计算机视觉·机器人·transformer
nju_spy17 小时前
计算机视觉 - 物体检测 开山鼻祖 R-CNN系列:Fast R-CNN、Faster R-CNN、Mask R-CNN
人工智能·计算机视觉·物体检测·fast r-cnn·r-cnn·mask r-cnn