# doc_scanner_homework **Repository Path**: YXY0216/doc_scanner_homework ## Basic Information - **Project Name**: doc_scanner_homework - **Description**: 这个项目是一个文档扫描仪应用程序,使用Python编写。它可以帮助用户加载图片并裁剪文档,提供方便的文档扫描功能。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 257 - **Created**: 2025-05-28 - **Last Updated**: 2025-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 文档扫描仪应用程序 这是一个基于Python的文档扫描仪应用程序,使用OpenCV和Tkinter开发,可以自动检测文档边界并进行透视变换,生成类似扫描仪效果的图片。 ## 功能特点 - 自动检测文档边界 - 直观的图形用户界面 - 手动调整边界点位置 - 透视变换校正 - 实时预览效果 - 支持中文路径的图片文件 ## 技术实现 - 使用OpenCV进行图像处理和边界检测 - 使用Tkinter构建图形用户界面 - 采用模块化设计,将核心功能和界面分离 - 支持实时预览和交互式调整 ## 项目结构 - `app.py` - 主程序入口,包含图形用户界面实现 - `doc_scanner.py` - 文档扫描核心功能模块 - `doc.jpg` - 示例文档图片 - `doc_2.jpg` - 示例文档图片2 - 试验效果图:![输入图片说明](%E5%AE%9E%E9%AA%8C%E7%BB%93%E6%9E%9C.png) ### DocScanner类 (doc_scanner.py) - 提供文档扫描的核心功能 - 包括图片加载、边界检测和透视变换等功能 - 独立的模块设计,便于重用和维护 ### DocScannerApp类 (app.py) - 提供图形用户界面 - 处理用户交互 - 实时显示处理结果 - 集成DocScanner类的功能 ## 环境要求与安装 ### 依赖项 - Python 3.11 或更高版本 - OpenCV-Python (cv2) - NumPy - Pillow (PIL) - Tkinter (Python自带) ### 安装命令 ```bash pip install opencv-python numpy pillow ``` ## 使用说明 1. 运行程序: ```bash python app.py ``` 2. 在程序界面中: - 点击"选择图片"按钮加载要扫描的文档图片 - 程序会自动检测文档边界 - 可以通过拖动边界点来手动调整位置 - 点击"裁剪"按钮进行透视变换 - 处理后的图片会显示在右侧 ## 注意事项 - 确保图片文件路径正确 - 图片需要有足够的对比度以便正确检测边界 - 建议在光线充足的环境下拍摄文档图片 ## 可能的改进方向 - 添加图片预处理功能(如亮度/对比度调整) - 支持批量处理多个文档 - 添加更多图片后处理选项 - 支持保存处理后的图片 - 优化边界检测算法 ## 个人信息 - 学号:202352320208 - 专业:智能科学与技术 - 姓名:尹星宇 - 班级:二班