[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-liuruoze--EasyPR":3,"tool-liuruoze--EasyPR":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",159636,2,"2026-04-17T23:33:34",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":67,"quickstart_zh":68,"use_case_zh":69,"hero_image_url":70,"owner_login":71,"owner_name":71,"owner_avatar_url":72,"owner_bio":73,"owner_company":74,"owner_location":75,"owner_email":76,"owner_twitter":74,"owner_website":74,"owner_url":77,"languages":78,"stars":99,"forks":100,"last_commit_at":101,"license":102,"difficulty_score":103,"env_os":104,"env_gpu":105,"env_ram":105,"env_deps":106,"category_tags":112,"github_topics":113,"view_count":32,"oss_zip_url":74,"oss_zip_packed_at":74,"status":17,"created_at":126,"updated_at":127,"faqs":128,"releases":129},9014,"liuruoze\u002FEasyPR","EasyPR","(CGCSTCD'2017) An easy, flexible, and accurate plate recognition project for Chinese licenses in unconstrained situations.  CGCSTCD = China Graduate Contest on Smart-city Technology and Creative Design","EasyPR 是一款专为中文车牌识别设计的开源系统，旨在解决复杂非限制场景下车牌自动检测与字符提取的难题。无论是光照变化、角度倾斜还是背景杂乱的环境，它都能基于 OpenCV 库实现高效、准确的识别，在图片清晰时综合精度可达 80% 以上。\n\n该项目特别适合计算机视觉开发者、智能交通领域的研究人员以及需要集成车牌识别功能的工程师使用。其核心优势在于完全开源且跨平台，支持 Windows、Linux、Android、iOS 等多种环境，并允许用户获取全部源代码进行自定义移植。技术上，EasyPR 不仅支持中文字符的精准输出（如“苏 EUK722\"），还灵活提供了多种定位算法（如颜色、边缘及纹理特征组合）和“生活模式”以增强鲁棒性。此外，项目规划了向 CNN 深度学习框架的演进，以进一步提升对新能源车及多行车牌的适应能力。遵循 Apache v2.0 协议，EasyPR 为构建智慧城市场景下的车辆管理应用提供了坚实且灵活的技术底座。","# EasyPR\n\nEasyPR是一个开源的中文车牌识别系统，其目标是成为一个简单、高效、准确的非限制场景(unconstrained situation)下的车牌识别库。\n\n相比于其他的车牌识别系统，EasyPR有如下特点：\n\n* 它基于openCV这个开源库。这意味着你可以获取全部源代码，并且移植到opencv支持的所有平台。\n* 它能够识别中文。例如车牌为苏EUK722的图片，它可以准确地输出std:string类型的\"苏EUK722\"的结果。\n* 它的识别率较高。图片清晰情况下，车牌检测与字符识别可以达到80%以上的精度。\n\n### 更新\n\n本次更新版本是1.6正式版本，主要有以下几点更新：\n\n1. 修正了多项readme的文本提示。\n\n2. 增加了C#调用EasyPR的一个项目的链接，感谢 @zhang-can 同学。\n\n\n**注意**\n\n1. 对于Opencv3.2或以上版本，如果碰到编译问题，例如“ANN_MLP”相关的错误，尝试将config.h中将#define CV_VERSION_THREE_ZERO改为#define CV_VERSION_THREE_TWO试试.\n\n2. linux系统推荐使用Opencv3.2以上版本。3.2以下的版本例如3.0和3.1在识别时可能会出现车牌识别结果为空的情况。稳妥起见，建议都升级到最新的3.2版本。Windows版本没有这个问题。\n\n## 待做的工作\n- [ ] 完成一个CNN框架\n- [ ] 替换ANN为CNN\n- [ ] 增加新能源车的识别（待定）\n- [ ] 增加两行车牌的识别（待定）\n\n### 跨平台\n\n目前除了windows平台以外，还有以下其他平台的EasyPR版本。一些平台的版本可能会暂时落后于主平台。\n\n现在有一个无需配置opencv的1.5版本的[懒人版](http:\u002F\u002Fgit.oschina.net\u002Feasypr\u002FEasyPR\u002Fattach_files)。仅仅支持vs2013，也只能在debug和x86下运行，其他情况的话还是得配置opencv。感谢范文捷同学的帮助。页面里的两个文件都要下载，下载后用[7zip](http:\u002F\u002Fwww.7-zip.org\u002F)解压。\n\n|版本 | 开发者 | 版本 | 地址 \n|------|-------|-------|-------\n| C# |  zhang-can  |  1.5  |  [zhang-can\u002FEasyPR-DLL-CSharp](https:\u002F\u002Fgithub.com\u002Fzhang-can\u002FEasyPR-DLL-CSharp)\n| android |  goldriver  |  1.4  |  [linuxxx\u002FEasyPR_Android](https:\u002F\u002Fgithub.com\u002Flinuxxx\u002FEasyPR_Android)\n| linux | Micooz  |  1.6  |  已跟EasyPR整合\n| ios | zhoushiwei |  1.3  |  [zhoushiwei\u002FEasyPR-iOS](https:\u002F\u002Fgithub.com\u002Fzhoushiwei\u002FEasyPR-iOS)\n| mac | zhoushiwei,Micooz |  1.6  | 已跟EasyPR整合\n| java | fan-wenjie |  1.2  | [fan-wenjie\u002FEasyPR-Java](https:\u002F\u002Fgithub.com\u002Ffan-wenjie\u002FEasyPR-Java)\n| 懒人版 | fan-wenjie |  1.5  | [git\u002Foschina](http:\u002F\u002Fgit.oschina.net\u002Feasypr\u002FEasyPR\u002Fattach_files)\n\n### 兼容性\n\n当前EasyPR是基于opencv3.0版本开发的，3.0及以上的版本应该可以兼容，以前的版本可能会存在不兼容的现象。\n\n### 例子\n\n假设我们有如下的原始图片，需要识别出中间的车牌字符与颜色：\n\n![EasyPR 原始图片](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fliuruoze_EasyPR_readme_91d5352fe16a.jpg)\n\n经过EasyPR的第一步处理车牌检测（PlateDetect）以后，我们获得了原始图片中仅包含车牌的图块：\n\n![EasyPR 车牌](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fliuruoze_EasyPR_readme_107c026b6357.jpg)\n\n接着，我们对图块进行OCR过程，在EasyPR中，叫做字符识别（CharsRecognize）。我们得到了一个包含车牌颜色与字符的字符串：\n\n“蓝牌：苏EUK722”\n\n### 示例\n\nEasyPR的调用非常简单，下面是一段示例代码:\n```c++\n\tCPlateRecognize pr;\n\tpr.setResultShow(false);\n\tpr.setDetectType(PR_DETECT_CMSER);\n     \n\tvector\u003CCPlate> plateVec;\n\tMat src = imread(filepath);\n\tint result = pr.plateRecognize(src, plateVec);\n```\n\n我们首先创建一个CPlateRecognize的对象pr，接着设置pr的属性。\n\n```c++\n\tpr.setResultShow(false);\n```\n\n这句话设置EasyPR是否打开结果展示窗口，如下图。设置为true就是打开，否则就是关闭。在需要观看定位结果时，建议打开，快速运行时关闭。\n\n![EasyPR 输出窗口](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fliuruoze_EasyPR_readme_594b97450281.png)\n\n```c++\n\tpr.setDetectType(PR_DETECT_CMSER);\n```\n\n这句话设置EasyPR采用的车牌定位算法。CMER代表文字定位方法，SOBEL和COLOR分别代表边缘和颜色定位方法。可以通过\"|\"符号结合。\n\n```c++\n\tpr.setDetectType(PR_DETECT_COLOR | PR_DETECT_SOBEL);\n```\n\n除此之外，还可以有一些其他的属性值设置：\n\n```c++\n\tpr.setLifemode(true);\n```\n\n这句话设置开启生活模式，这个属性在定位方法为SOBEL时可以发挥作用，能增大搜索范围，提高鲁棒性。\n\n```c++\n\tpr.setMaxPlates(4);\n```\n\n这句话设置EasyPR最多查找多少个车牌。当一副图中有大于n个车牌时，EasyPR最终只会输出可能性最高的n个。\n\n下面来看pr的方法。plateRecognize()这个方法有两个参数，第一个代表输入图像，第二个代表输出的车牌CPlate集合。\n\n```c++\n\tvector\u003CCPlate> plateVec;\n\tMat src = imread(filepath);\n\tint result = pr.plateRecognize(src, plateVec);\n```\n\n当返回结果result为0时，代表识别成功，否则失败。\n\nCPlate类包含了车牌的各种信息，其中重要的如下：\n\n```c++\n\tCPlate plate = plateVec.at(i);\n\tMat plateMat = plate.getPlateMat();\n\tRotatedRect rrect = plate.getPlatePos();\n\tstring license = plate.getPlateStr();\n```\n\nplateMat代表车牌图像，rrect代表车牌的可旋转矩形位置，license代表车牌字符串，例如“蓝牌：苏EUK722”。\n\n这里说下如何去阅读如下图的识别结果。\n\n![EasyPR DetectResults](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fliuruoze_EasyPR_readme_e6754e7ed5d0.jpg)\n\n第1行代表的是图片的文件名。\n\n第2行代表GroundTruth车牌，用后缀（g）表示。第3行代表EasyPR检测车牌，用后缀（d）表示。两者形成一个配对，第4行代表两者的字符差距。\n\n下面同上。本图片中有3个车牌，所有共有三个配对。最后的Recall等指标代表的是整幅图片的定位评价，考虑了三个配对的结果。\n\n有时检测车牌的部分会用“无车牌”与“No string”替代。“无车牌”代表“定位不成功”，“No string”代表“定位成功但字符分割失败”。\n\n### 版权\n\nEasyPR的源代码与训练数据遵循Apache v2.0协议开源。\n\nEasyPR的resources\u002Fimage\u002Fgeneral_test文件夹下的图片数据遵循[GDSL协议](image\u002FGDSL.txt)（通用数据共享协议）进行开放。\n\n请确保在使用前了解以上协议的内容。\n\n### 目录结构\n\n以下表格是本工程中所有目录的解释:\n\n|目录 | 解释\n|------|----------\n| src |  所有源文件\n| include | 所有头文件\n| test | 测试程序\n| model | 机器学习的模型\n| resources\u002Ftext | 中文字符映射表\n| resources\u002Ftrain | 训练数据与说明\n| resources\u002Fimage | 测试用的图片\n| resources\u002Fdoc | 相关文档\n| tmp | 训练数据读取目录，需要自建\n\n以下表格是resources\u002Fimage目录中子目录的解释:\n\n|目录 | 解释\n|------|----------\n| general_test | GDTS（通用数据测试集）\n| native_test | NDTS（本地数据测试集）\n| tmp | Debug模式下EasyPR输出中间图片的目录，需要自建\n\n以下表格是src目录中子目录的解释:\n\n|目录 | 解释\n|------|----------\n| core |  核心功能\n| preprocess | SVM预处理\n| train | 训练目录，存放模型训练的代码\n| util | 辅助功能\n\n以下表格是src目录下一些核心文件的解释与关系:\n\n|文件 | 解释\n|------|----------\n| plate_locate |  车牌定位\n| plate_judge | 车牌判断\n| plate_detect | 车牌检测，是车牌定位与车牌判断功能的组合\n| chars_segment | 字符分割\n| chars_identify | 字符鉴别\n| chars_recognise | 字符识别，是字符分割与字符鉴别功能的组合\n| plate_recognize | 车牌识别，是车牌检测与字符识别的共有子类\n| feature | 特征提取回调函数\n| plate | 车牌抽象\n| core_func.h | 共有的一些函数\n\n以下表格是test目录下文件的解释:\n\n|文件 | 解释\n|------|----------\n| main.cpp | 主命令行窗口\n| accuracy.hpp | 批量测试\n| chars.hpp | 字符识别相关\n| plate.hpp | 车牌识别相关\n\n以下表格是train目录下文件的解释:\n\n|文件 | 解释\n|------|----------\n| ann_train.cpp | 训练二值化字符\n| annCh_train.hpp | 训练中文灰度字符\n| svm_train.hpp | 训练车牌判断\n| create_data.hpp | 生成合成数据\n\n### 使用\n\n请参考[这里](Usage.md)\n\n### 获取帮助\n\n详细的开发与教程请见[介绍与开发教程](http:\u002F\u002Fwww.cnblogs.com\u002Fsubconscious\u002Fp\u002F3979988.html)。\n\n如果你在使用过程中遇到任何问题，请在[这里](https:\u002F\u002Fgithub.com\u002Fliuruoze\u002FEasyPR\u002Fissues)告诉我们。\n\nEasyPR讨论QQ群号是：一群：366392603，二群：583022188，三群：637614031，四群：548362608，加前请注明EasyPR学习讨论。\n\n### Contributors\n\n* liuruoze：1.0-1.2，1.5版作者\n\n* 海豚嘎嘎(车主之家)：1.3版算法贡献者，提升了车牌定位与字符识别的准确率\n\n* Micooz：1.3-1.4版架构重构，linux与mac支持，opencv3.0支持，utf-8编码转换\n\n* jsxyhelu：deface版本一\n\n* zhoushiwei：deface版本二\n\n* ahccom：新的plateLocate函数\n\n* 阿水：1.3版整合，数据标注等工作\n\n* fan-wenjie：1.5版opencv整合版提供者\n\n* Free：1.6版数据提供者\n\n### 鸣谢\n\ntaotao1233，邱锦山，唐大侠，jsxyhelu，如果有一天(zhoushiwei)，学习奋斗，袁承志，圣城小石匠，goldriver，Micooz，梦里时光，Rain Wang，任薛纪，ahccom，星夜落尘，海豚嘎嘎(车主之家)，刘超，Free大神，以及所有对EasyPR贡献数据的热心同学。","# EasyPR 快速上手指南\n\nEasyPR 是一个基于 OpenCV 的开源中文车牌识别系统，支持在非限制场景下进行高效、准确的车牌检测与字符识别。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**：Windows (推荐), Linux, macOS\n- **编译器**：Visual Studio 2013+ (Windows) 或 GCC (Linux\u002FmacOS)\n- **OpenCV 版本**：推荐 **OpenCV 3.2** 或以上版本。\n  - *注意*：Linux 用户若使用 3.0\u002F3.1 版本可能出现识别结果为空的问题；OpenCV 3.2+ 需修改 `config.h` 中的版本宏定义（见下文注意事项）。\n\n### 前置依赖\n- C++ 开发环境\n- OpenCV 库（已编译并配置好环境变量）\n- CMake（可选，用于构建项目）\n\n## 安装步骤\n\n由于 EasyPR 是源码级开源项目，主要通过克隆代码并编译使用。\n\n### 1. 获取源代码\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fliuruoze\u002FEasyPR.git\ncd EasyPR\n```\n*国内用户若访问 GitHub 较慢，可尝试使用 Gitee 镜像（如有）或配置代理加速。*\n\n### 2. 配置 OpenCV 版本兼容性\n如果你使用的是 **OpenCV 3.2 或更高版本**，在编译前请检查 `include\u002Fconfig.h` 文件：\n- 找到 `#define CV_VERSION_THREE_ZERO`\n- 将其修改为 `#define CV_VERSION_THREE_TWO`\n- *目的*：解决因 OpenCV 版本升级导致的 `ANN_MLP` 等相关编译错误。\n\n### 3. 编译项目\n#### Windows (Visual Studio)\n1. 使用 Visual Studio 打开 `EasyPR.sln` 解决方案。\n2. 确保项目属性中已正确包含 OpenCV 的 `include` 目录和 `lib` 库目录。\n3. 选择 `Debug` 或 `Release` 模式，架构建议选择 `x86`（部分旧版预编译库仅支持 x86）。\n4. 生成解决方案。\n\n#### Linux \u002F macOS\n建议使用 CMake 进行构建：\n```bash\nmkdir build\ncd build\ncmake ..\nmake\n```\n*确保 `CMakeLists.txt` 中已正确指向你的 OpenCV 安装路径。*\n\n> **懒人版选项**：如果你仅需在 Windows + VS2013 + Debug + x86 环境下快速测试，可下载无需配置 OpenCV 的 [1.5 懒人版](http:\u002F\u002Fgit.oschina.net\u002Feasypr\u002FEasyPR\u002Fattach_files)，解压即可运行。\n\n## 基本使用\n\n以下是最简单的 C++ 调用示例，实现读取图片并输出车牌识别结果。\n\n### 代码示例\n\n```cpp\n#include \"core_func.h\"\n#include \"plate_recognize.h\"\nusing namespace easypr;\n\nint main() {\n    \u002F\u002F 1. 创建识别对象\n    CPlateRecognize pr;\n    \n    \u002F\u002F 2. 设置属性\n    pr.setResultShow(false);          \u002F\u002F 关闭结果展示窗口（调试时可设为 true）\n    pr.setDetectType(PR_DETECT_CMSER); \u002F\u002F 设置定位算法：CMER(文字), SOBEL(边缘), COLOR(颜色)，可用 \"|\" 组合\n    \n    \u002F\u002F 可选：开启生活模式（增加鲁棒性）\n    \u002F\u002F pr.setLifemode(true); \n    \n    \u002F\u002F 可选：设置最大检测车牌数量\n    \u002F\u002F pr.setMaxPlates(4);\n\n    \u002F\u002F 3. 执行识别\n    vector\u003CCPlate> plateVec;\n    Mat src = imread(\"test_image.jpg\"); \u002F\u002F 替换为你的图片路径\n    \n    int result = pr.plateRecognize(src, plateVec);\n\n    \u002F\u002F 4. 获取结果\n    if (result == 0) {\n        for (size_t i = 0; i \u003C plateVec.size(); i++) {\n            CPlate plate = plateVec.at(i);\n            string license = plate.getPlateStr(); \n            \u002F\u002F 输出格式示例：\"蓝牌：苏 EUK722\"\n            cout \u003C\u003C \"识别结果：\" \u003C\u003C license \u003C\u003C endl;\n            \n            \u002F\u002F 获取车牌位置矩形\n            RotatedRect rrect = plate.getPlatePos();\n        }\n    } else {\n        cout \u003C\u003C \"识别失败\" \u003C\u003C endl;\n    }\n\n    return 0;\n}\n```\n\n### 关键参数说明\n- `setResultShow(bool)`: `true` 弹出窗口显示定位效果，`false` 静默运行。\n- `setDetectType(int)`: \n  - `PR_DETECT_CMSER`: 基于文字特征的定位（推荐）。\n  - `PR_DETECT_SOBEL`: 基于边缘检测。\n  - `PR_DETECT_COLOR`: 基于颜色定位。\n  - 组合用法：`PR_DETECT_COLOR | PR_DETECT_SOBEL`。\n- `plateRecognize(Mat, vector\u003CCPlate>&)`: 核心函数，返回 0 表示成功。\n- `getPlateStr()`: 获取最终识别字符串（含颜色和字符）。","某智慧社区物业团队正在开发一套自动放行系统，旨在通过摄像头识别进出车辆的中国车牌，以实现无人值守管理。\n\n### 没有 EasyPR 时\n- **人工成本高昂**：保安需 24 小时轮班，手动记录或核对每辆车的“苏 E\"、“京 A\"等中文车牌信息，效率极低且易疲劳出错。\n- **复杂场景失效**：遇到雨天反光、夜间光线不足或车辆倾斜停放时，通用 OCR 工具无法定位车牌，导致系统频繁报错“无车牌”。\n- **中文识别空白**：大多数开源方案仅支持英文和数字，面对包含汉字省份简称的车牌（如“苏 EUK722\"），只能输出乱码或空字符串。\n- **跨平台部署困难**：团队需要在 Linux 服务器和 Android 手持终端上同时运行，但缺乏统一库支持，需重复开发多套代码。\n\n### 使用 EasyPR 后\n- **实现全自动通行**：EasyPR 能准确输出“蓝牌：苏 EUK722\"结构化数据，系统自动比对数据库开闸，完全替代人工登记环节。\n- **鲁棒性显著提升**：利用其基于颜色与边缘的定位算法（Sobel\u002FColor），即使在非限制场景下（如光照不均、角度倾斜），车牌检测精度仍保持在 80% 以上。\n- **原生中文支持**：直接内置中文字符映射表，无需额外训练即可精准识别各省份简称，彻底解决中文车牌乱码问题。\n- **多端快速移植**：基于 OpenCV 构建，团队轻松将同一套核心逻辑移植到 Linux 后端及 Android 移动巡检设备上，大幅缩短开发周期。\n\nEasyPR 通过提供高精度、原生的中文车牌识别能力，将复杂的非限制场景车辆管理转化为简单高效的自动化流程。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fliuruoze_EasyPR_91d5352f.jpg","liuruoze","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fliuruoze_d7486dca.jpg","Think deep, work hard.",null,"Nanjing","liuruoze@163.com","https:\u002F\u002Fgithub.com\u002Fliuruoze",[79,83,87,91,95],{"name":80,"color":81,"percentage":82},"C++","#f34b7d",98.1,{"name":84,"color":85,"percentage":86},"Python","#3572A5",1.3,{"name":88,"color":89,"percentage":90},"CMake","#DA3434",0.5,{"name":92,"color":93,"percentage":94},"C","#555555",0.1,{"name":96,"color":97,"percentage":98},"Shell","#89e051",0,6423,2481,"2026-04-13T00:59:48","Apache-2.0",4,"Windows, Linux, macOS","未说明",{"notes":107,"python":108,"dependencies":109},"该项目主要基于 C++ 和 OpenCV 开发。Linux 系统强烈推荐使用 OpenCV 3.2 及以上版本，低版本可能导致识别结果为空；Windows 无此限制。若使用 OpenCV 3.2+ 遇到编译错误（如 ANN_MLP），需修改 config.h 中的版本宏定义。提供无需配置 OpenCV 的‘懒人版’，但仅支持 VS2013、Debug 模式及 x86 架构。另有 C#、Android、iOS 和 Java 等衍生版本。","不适用 (主要基于 C++)",[110,111],"OpenCV >= 3.0 (推荐 3.2+)","Visual Studio 2013 (仅限懒人版)",[15,16,14],[114,115,116,117,118,119,120,121,122,123,124,125],"computer-vision","machine-learning","artificial-intelligence","plate-recognition","unconstrained-situation","datasets","artificial-neural-networks","support-vector-machines","supervised-learning","chinese-characters","opencv","opencv3","2026-03-27T02:49:30.150509","2026-04-18T17:04:03.926631",[],[130],{"id":131,"version":132,"summary_zh":133,"released_at":134},323816,"v1.5beta","1. 新增一种基于文本检测（MSER）的车牌检测方法，该方法对低对比度、弱光及大尺寸图像具有较强的鲁棒性。\n2. 制定了一套新的车牌检测与识别评估协议，检测部分沿用ICDAR 2003的评估标准。测试集中新增50张图片。\n3. 采用非极大值抑制方法去除相邻的车牌候选框，从而获得更合理的检测结果：当两种方法在同一区域检测到车牌时，仅输出其中一个结果。\n4. 引入空间Otsu阈值法和自适应阈值结合小滑动窗口搜索的方法，以提升字符分割与识别的准确率。\n5. 构建了新的SVM模型及特征（使用LBP作为特征），并训练了一个仅针对中文的ANN模型，进一步提高了中文识别的准确率。\n6. 增加网格搜索方法用于参数的精细化调优。\n7. 支持OpenMP多线程加速，多线程运行速度可达到单线程的两倍。\n8. 删除部分中文代码，以提高最终代码在Visual Studio中的兼容性。\n\n此外还有许多其他改进与变更，详情请参阅源代码……","2016-07-06T01:16:30"]