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
相关推荐
AI纪元故事会1 天前
【计算机视觉目标检测算法对比:R-CNN、YOLO与SSD全面解析】
人工智能·算法·目标检测·计算机视觉
音视频牛哥1 天前
SmartMediaKit:如何让智能系统早人一步“跟上现实”的时间架构--从实时流媒体到系统智能的演进
人工智能·计算机视觉·音视频·音视频开发·具身智能·十五五规划具身智能·smartmediakit
音视频牛哥1 天前
超清≠清晰:视频系统里的分辨率陷阱与秩序真相
人工智能·机器学习·计算机视觉·音视频·大牛直播sdk·rtsp播放器rtmp播放器·smartmediakit
CoovallyAIHub1 天前
突破360°跟踪极限!OmniTrack++:全景MOT新范式,HOTA指标狂飙43%
深度学习·算法·计算机视觉
CoovallyAIHub1 天前
首个大规模、跨模态医学影像编辑数据集,Med-Banana-50K数据集专为医学AI打造(附数据集地址)
深度学习·算法·计算机视觉
LabVIEW开发1 天前
LabVIEW液位边缘检测
图像处理·计算机视觉·labview·labview知识·labview功能·labview程序
诗句藏于尽头1 天前
MediaPipe+OpenCV的python实现交互式贪吃蛇小游戏
人工智能·python·opencv
音视频牛哥1 天前
从云平台到系统内核:SmartMediakit如何重构实时视频系统
计算机视觉·音视频·gb28181对接·rtsp播放器rtmp播放器·smartmediakit·智能机器人低延迟播放方案·rtmp摄像头同屏推流
智驱力人工智能2 天前
智能安全管理 基于视觉分析的玩手机检测系统 手机行为AI模型训练 边缘计算手机行为监测设备
人工智能·安全·目标检测·计算机视觉·智能手机·视觉检测·边缘计算
王哈哈^_^2 天前
【数据集】【YOLO】【目标检测】共享单车数据集,共享单车识别数据集 3596 张,YOLO自行车识别算法实战训推教程。
人工智能·算法·yolo·目标检测·计算机视觉·视觉检测·毕业设计