iOS-OCR-Server 运行在 iPhone 上的、基于 Apple Vision 框架的本地 OCR 服务
iOS-OCR-Server 部署教程:将你的 iPhone 变为本地 OCR 服务器
本教程将指导你部署和使用 iOS-OCR-Server,一个运行在 iPhone 上的、基于 Apple Vision 框架的本地 OCR 服务。它完全离线处理,无需云端依赖,可保障数据隐私。
📱 部署步骤
1. 准备工作
- 一台运行 iOS 26 或更高版本的 iPhone(注意:文档段落检测功能需要 iOS 26+,基础文字识别功能可能支持更低版本,但建议使用最新系统)。
- 一个有效的 Apple ID(用于从 App Store 下载应用)。
- iPhone 和需要使用 OCR 服务的设备(如电脑)连接在同一个 Wi-Fi 网络下。
2. 安装 App
在 iPhone 上打开 App Store,搜索 “iOS OCR Server” 或直接通过项目提供的 App Store 链接 下载并安装。
3. 启动服务器
- 在 iPhone 上打开已安装的 OCR Server App。
- 应用启动后,OCR 服务器将自动开始运行。你会在应用界面看到一个本地 IP 地址和端口号(例如
http://192.168.1.5:8000)。
⚠️ 重要提示(保持服务运行):
为确保 OCR 服务持续可用,请执行以下操作:
- 在 iPhone 设置 > 辅助功能 > 引导式访问 中,开启“引导式访问”。
- 回到 OCR Server App,连按三次侧边按钮(或主屏幕按钮)启用引导式访问。
- 保持 App 在前台运行,并阻止屏幕自动锁定。这是防止 iOS 系统暂停后台应用网络服务的关键步骤。
4. 验证服务
在你的电脑或同一网络的其他设备上,打开浏览器,访问 App 显示的 IP 地址(例如 http://192.168.1.5:8000)。你将看到一个 Web 测试页面,可以上传图片进行 OCR 测试。
🔌 API 使用与集成
OCR Server 提供了基于 HTTP 的 API,方便集成到你的应用或脚本中。
基础 OCR API (/upload)
使用 POST 请求将图片上传到 /upload 端点。
- 请求:
URL:http://<你的iPhone IP>:8000/uploadMethod:POSTHeader:Accept: application/jsonBody (form-data): 键名为file,值为要识别的图片文件。
- 响应:返回一个 JSON 对象,包含识别出的文字、每个文本块的位置坐标等信息。
cURL 示例:
1 | curl -H "Accept: application/json" \ |
Python 示例:
1 | import requests |
返回的 JSON 结构示例:
1 | { |
文档段落检测 API (/docOCR) - 需要 iOS 26+
该接口针对文档布局进行优化,能识别段落结构。
- 请求:与
/upload相同,但端点为/docOCR。 - 响应:返回一个 JSON 对象,主要包含整理后的文本。
cURL 示例:
1 | curl -H "Accept: application/json" \ |
可视化结果(Python 示例)
项目 README 还提供了完整的 Python 脚本,用于在图片上绘制检测到的文字边界框并进行预览。你可以在项目主页找到完整代码,其核心流程为:
- 调用
/uploadAPI 获取 JSON 结果。 - 使用
PIL(Pillow) 或OpenCV加载原图。 - 根据
ocr_boxes中的坐标数据,在图片上绘制红色矩形和文字标签。 - 显示或保存带标注的图片。
🔧 故障排除与优化
服务无法访问
- 检查网络:确保 iPhone 和客户端设备连接到同一个 Wi-Fi 网络。
- 检查 IP 地址:App 显示的 IP 是否正确?如果网络环境变动(如切换 Wi-Fi),IP 可能会变化,需要重新确认。
- 检查防火墙:确保客户端设备的防火墙没有阻止对
8000端口的访问。 - App 状态:确保 OCR Server App 处于前台活跃状态,并且屏幕未锁定。建议开启“引导式访问”。
OCR 质量不佳
- 图片质量:确保上传的图片清晰,文字部分光线充足,避免模糊和过度阴影。
- 文字方向:Vision 框架能处理一定角度的旋转,但正向拍摄通常效果最好。
- 语言支持:框架支持多语言自动检测,对于混合语言图片,效果可能取决于训练数据。
性能优化
- 网络延迟:使用 5GHz Wi-Fi 而非 2.4GHz,可以获得更高的传输速率,减少大图片上传时间。
- 处理能力:服务器性能完全取决于 iPhone 的芯片(A 系列芯片)。较新的 iPhone 处理速度更快。
- 批量处理:如果需要处理大量图片,可以循环调用 API,但注意给 iPhone 一些处理间隔以避免过热。
安全提醒
- 此服务器默认在本地网络(LAN)开放,没有身份验证机制。
- 不要将手机端口(
8000)通过路由器端口转发暴露到公网,否则你的 OCR 服务可能被他人滥用。
通过以上步骤,你应该能在几分钟内将你的 iPhone 变成一个强大、私密的本地 OCR 服务器。你可以将其集成到自己的自动化工作流、笔记应用或其他需要文本提取的场景中。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 极客的赛博空间 | 专注 AI 与技术分享!
评论








