mcpField
O
omni-lpr

omni-lpr

远程服务
github.com/habedi其他2616 周前更新
代码仓库

关于 omni-lpr

Omni-LPR 是可自托管的车牌自动识别服务,适用于需要车牌检测或 OCR 的应用和 AI Agent。它提供 REST 与 MCP 接口,并支持 CPU、Intel OpenVINO 和 NVIDIA CUDA 加速。

主要功能

  1. 01检测并识别图像中的车牌
  2. 02处理图像数据或图像路径
  3. 03列出可用检测与 OCR 模型
  4. 04提供 REST 和 MCP 接口
  5. 05支持 ONNX、OpenVINO 和 CUDA

适用场景

  1. 01识别上传图像中的车牌
  2. 02处理 URL 或文件路径中的车牌图像
  3. 03向 AI Agent 提供车牌识别工具

MCP 相关

Omni-LPR 通过 streamable HTTP 端点,以 MCP 提供模型列表和车牌识别工具。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://{baseUrl}/mcp/
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

Omni-LPR Logo

Omni-LPR

Tests Code Coverage Code Quality Python Version PyPI License
Documentation Examples Docker Image (CPU) Docker Image (OpenVINO) Docker Image (CUDA)

一个用于自动车牌识别的多接口(REST 和 MCP)服务


Omni-LPR 是一个可自托管的服务,通过 REST API 和 Model Context Protocol (MCP) 提供自动车牌识别(ALPR)能力。它既可以用作独立的 ALPR 微服务,也可以作为 AI Agent 和大模型(LLM)的 ALPR 工具箱。

为什么选择 Omni-LPR?

使用 Omni-LPR 可以带来以下好处:

  • 解耦。 你的主应用可以使用任何编程语言。它无需与 Python 或特定的机器学习依赖纠缠在一起,因为服务会处理所有这些事情。

  • 多种接口。 你不会被锁定在一种通信方式中。你可以在任何应用中使用标准 REST API,也可以使用专为 AI Agent 集成而设计的 MCP。

  • 开箱即用。 你无需从零开始构建。已预构建的 Docker 镜像易于部署,可立即开始使用。

  • 硬件加速。 该服务针对你所拥有的硬件进行了优化。它支持通用 CPU(ONNX)、Intel CPU(OpenVINO)和 NVIDIA GPU(CUDA)。

  • 异步 I/O。 它基于 Starlette 构建,这意味着它具有高性能、非阻塞的 I/O。它可以处理大量并发请求而不会陷入停滞。

  • 可扩展性。 由于它是一个独立的服务,因此可以独立于你的主应用进行扩展。如果你突然需要更强的 ALPR 能力,可以扩展 Omni-LPR 而无需改动任何其他部分。

请参阅 ROADMAP.md 以了解已实现和计划中的功能列表。

重要

Omni-LPR 处于早期开发阶段,因此预计会出现缺陷和破坏性 API 变更。 请使用 issues 页面 报告缺陷或请求功能。


快速开始

按照下面描述的步骤,你可以在几分钟内开始使用 Omni-LPR。

1. 安装服务

你可以使用 pip 安装 Omni-LPR:

pip install omni-lpr
2. 启动服务

安装完成后,使用单条命令启动服务:

omni-lpr

默认情况下,服务将监听 http://127.0.0.1:8000。 你可以通过访问健康检查端点来确认它正在运行:

curl http://127.0.0.1:8000/api/health
# Sample expected output: {"status": "ok", "version": "0.3.4"}
3. 识别车牌

现在你可以发送请求,从图像中识别车牌。 下面的示例使用了一个公开可用的图像 URL。

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{"path": "https://www.olavsplates.com/foto_n/n_cx11111.jpg"}' \
  http://127.0.0.1:8000/api/v1/tools/detect_and_recognize_plate_from_path/invoke

你应该会收到一个包含检测到的车牌信息的 JSON 响应。

用法

Omni-LPR 将其能力以 "工具" 的形式暴露出来,可通过 REST API 或 MCP 调用。

可用工具

服务提供的工具可用于列出模型、从图像数据识别车牌,以及从路径识别车牌。

  • list_models:列出可用的检测器和 OCR 模型。

  • 处理图像数据的工具(以 Base64 或文件上传形式提供):

    • recognize_plate:从预先裁剪的车牌图像中识别文本。
    • detect_and_recognize_plate:检测并识别完整图像中的所有车牌。
  • 处理图像路径的工具(URL 或本地文件路径):

    • recognize_plate_from_path:从给定路径的预先裁剪的车牌图像中识别文本。
    • detect_and_recognize_plate_from_path:检测并识别给定路径下完整图像中的车牌。

有关如何使用不同工具以及如何提供图像数据的更多详细信息,请参阅 API 文档。

REST API

REST API 提供了与服务交互的标准方式。所有工具端点都位于 /api/v1 前缀下。服务运行后,你可以在 Swagger UI 中访问交互式 API 文档,网址为 http://127.0.0.1:8000/api/v1/apidoc/swagger。

MCP 接口

服务还通过 MCP 暴露其工具,以便与 AI Agent 和大模型集成。MCP 端点位于 http://127.0.0.1:8000/mcp/,通过可流式 HTTP 访问。

你可以使用 MCP Inspector 之类的工具来探索可用的 MCP 工具。

MCP Inspector 截图
集成

你可以将任何支持 MCP 协议的客户端连接到服务。 以下示例展示了如何将服务与 LM Studio 配合使用。

LM Studio 配置
{
    "mcpServers": {
        "omni-lpr-local": {
            "url": "http://127.0.0.1:8000/mcp/"
        }
    }
}
工具用法示例

在 LM Studio 中使用 list_models 工具列出 APLR 可用模型的截图。

LM Studio 截图 1

下面的截图展示了在 LM Studio 中使用 detect_and_recognize_plate_from_path 工具,从网络上可用的图像中检测并识别 车牌。

LM Studio 截图 2

文档

Omni-LPR 文档可在此处获取。

示例

请查看 examples 目录以获取用法示例。


贡献

欢迎任何形式的贡献! 请参阅 CONTRIBUTING.md 了解如何开始。

许可证

Omni-LPR 基于 MIT 许可证授权(请参阅 LICENSE)。

致谢

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。