Ubuntu+Qt下配置车牌识别系统EasyPR1.6环境

news2025/2/2 21:55:24

1.将EasyPR_v1.6.zip拷贝到虚拟机Ubuntu中

最好是在opt文件夹中 ,可使用

VMware tools

共享文件夹

远程连接工具

2.解压得到EasyPR文件夹

修改文件权限

chmod -R 777 EasyPR

3.查找/opt/EasyPR/include/easypr/config.h中

这边告诉我们,如果opencv版本超过3.2以上可以使用CV_VERSION_THREE_TWO

所以把该文件开头的宏定义CV_VERSION_THREE_ZEROZERO改为TWO

 

4.在EasyPR下执行./build.sh

当100%时会生成一个demo文件,然后执行./demo就可以使用了

测试一下车牌检测

 

测试成功可以运行,接下来可以在Qt中配置环境

5. 创建Qt工程修改pro文件

  1. 添加OpenCV环境配置
  2. 添加EasyPR 环境配置

为什么不直接使用EasyPR配置好的依赖库文件呢,经过实测在Ubuntu的Qt中是运行不了的,所以只能手动添加

1.在pro中添加cpp文件:

/opt/EasyPR/src/core/chars_identify.cpp \
    /opt/EasyPR/src/core/chars_recognise.cpp \
    /opt/EasyPR/src/core/chars_segment.cpp \
    /opt/EasyPR/src/core/core_func.cpp \
    /opt/EasyPR/src/core/feature.cpp \
    /opt/EasyPR/src/core/params.cpp \
    /opt/EasyPR/src/core/plate_detect.cpp \
    /opt/EasyPR/src/core/plate_judge.cpp \
    /opt/EasyPR/src/core/plate_locate.cpp \
    /opt/EasyPR/src/core/plate_recognize.cpp \
    /opt/EasyPR/src/train/ann_train.cpp \
    /opt/EasyPR/src/train/annCh_train.cpp \
    /opt/EasyPR/src/train/create_data.cpp \
    /opt/EasyPR/src/train/svm_train.cpp \
    /opt/EasyPR/src/train/train.cpp \
    /opt/EasyPR/src/util/kv.cpp \
    /opt/EasyPR/src/util/program_options.cpp \
    /opt/EasyPR/src/util/util.cpp \
    /opt/EasyPR/thirdparty/LBP/helper.cpp \
    /opt/EasyPR/thirdparty/LBP/lbp.cpp \
    /opt/EasyPR/thirdparty/mser/mser2.cpp \
    /opt/EasyPR/thirdparty/svm/corrected_svm.cpp \
    /opt/EasyPR/thirdparty/textDetect/erfilter.cpp \
    /opt/EasyPR/thirdparty/xmlParser/xmlParser.cpp \

2.在pro中添加头文件

/opt/EasyPR/include/easypr/core/character.hpp \
    /opt/EasyPR/include/easypr/core/chars_identify.h \
    /opt/EasyPR/include/easypr/core/chars_recognise.h \
    /opt/EasyPR/include/easypr/core/chars_segment.h \
    /opt/EasyPR/include/easypr/core/core_func.h \
    /opt/EasyPR/include/easypr/core/feature.h \
    /opt/EasyPR/include/easypr/core/params.h \
    /opt/EasyPR/include/easypr/core/plate.hpp \
    /opt/EasyPR/include/easypr/core/plate_detect.h \
    /opt/EasyPR/include/easypr/core/plate_judge.h \
    /opt/EasyPR/include/easypr/core/plate_locate.h \
    /opt/EasyPR/include/easypr/core/plate_recognize.h \
    /opt/EasyPR/include/easypr/train/ann_train.h \
    /opt/EasyPR/include/easypr/train/annCh_train.h \
    /opt/EasyPR/include/easypr/train/create_data.h \
    /opt/EasyPR/include/easypr/train/svm_train.h \
    /opt/EasyPR/include/easypr/train/train.h \
    /opt/EasyPR/include/easypr/util/kv.h \
    /opt/EasyPR/include/easypr/util/program_options.h \
    /opt/EasyPR/include/easypr/util/switch.hpp \
    /opt/EasyPR/include/easypr/util/util.h \
    /opt/EasyPR/include/easypr/api.hpp \
    /opt/EasyPR/include/easypr/config.h \
    /opt/EasyPR/include/easypr/version.h \
    /opt/EasyPR/include/easypr.h \
    /opt/EasyPR/test/accuracy.hpp \
    /opt/EasyPR/test/chars.hpp \
    /opt/EasyPR/test/config.hpp \
    /opt/EasyPR/test/plate.hpp \
    /opt/EasyPR/test/result.hpp \
    /opt/EasyPR/thirdparty/LBP/helper.hpp \
    /opt/EasyPR/thirdparty/LBP/lbp.hpp \
    /opt/EasyPR/thirdparty/mser/mser2.hpp \
    /opt/EasyPR/thirdparty/svm/precomp.hpp \
    /opt/EasyPR/thirdparty/textDetect/erfilter.hpp \
    /opt/EasyPR/thirdparty/xmlParser/xmlParser.h \

3.将model文件夹拷贝到Qt工程下

EasyPR文件夹中的model文件夹

4.Pro文件中添加

INCLUDEPATH += /opt/EasyPR/include/

DISTFILES += \

    model/ann_chinese.xml \

    model/ann.xml \

    model/annCh.xml \

model/svm_hist.xml

5.编译时会出现四个报错,每一个报错,双击打开源码文件进行修改,thirdparty头文件路径存在问题在include增加“../../”

修改后: 

 

到这边, 若能编译通过,那就是配置成功了

感谢观看!!!!

以上就是全部内容,如果对您有帮助,欢迎点赞评论,或者发现有哪里写错的,欢迎指正!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/103931.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【RL数学基础】概率论的基本概念:随机变量、概率密度函数、期望、随机抽样

文章目录1.随机变量(Random Variable)2.概率密度函数(Probability Density Function, PDF)3.期望(Expectation)4.随机抽样(Random Sampling)1.随机变量(Random Variable&…

新一代免费开源大型企业数智制造解决方案

国家加速推进信创产业的开源自主可控 信创产业,即信息技术应用创新产业,其包含了从信息化基础设施到底层系统,再到上层的应用软件,与信息化建设过程中涉及有关的全产业链都必须安全与可控。信创产业涉及到的领域包括信息化基础设施…

编译安装nmon

nmon 是什么? nmon(Nigel’s performance Monitor for Linux)是一种Linux性能监视工具,当前它支持 Power/x86/x86_64/Mainframe/ARM 这五种 CPU 架构的 Linux,能将监控到的数据保存为 JSON 格式便于其他工具进行分析和…

【探索Spring底层】13.深入DispatcherServlet

文章目录1. DispatcherServlet概述2. DispatcherServlet的初始化时机3. DispatcherServlet初始化执行的操作4. RequestMappingHandlerMapping 基本用途5. RequestMappingHandlerAdapter 基本用途6. 参数和返回值解析器1. DispatcherServlet概述 DispatcherServlet是SpringMVC的…

AMS启动流程——APP启动过程

AMS流程图 基本慨念 1.zygote zygote意为“受精卵“。Android是基于Linux系统的,而在Linux中,所有的进程都是由init进程直接或者是间接fork出来的,zygote进程也不例外。 在Android系统里面,zygote是一个进程的名字。Android是基…

Effective C++(三):资源管理

个人读书记录,不适用教学内容。 目录 条款13:以对象管理资源 条款14:在资源管理类中小心copying行为 条款15:在资源管理类中提供对原始资源的访问 条款16:成对使用new和delete时要采取相同形式 条款17&#xff1a…

cubeIDE开发, STM32实时时钟(RTC)写入及读取日历时间开发要点

一、RTC简介 实时时钟的缩写是RTC(Real_Time Clock),核心是晶振,晶振频率一般为32768 Hz 。它为分频计数器提供精确的与低功耗的实基信号。它可以用于产生秒、分、时、日等信息。为了确保时钟长期的准确性,晶振必须正常工作,不能够…

中小企业的公司财务管理系统

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 本课题研究对象是中小企业财务管理系统,设计采用自己开发实践和所学知 识,系统部分主要分为以下…

【圣诞树代码】送她六棵圣诞树,祝她圣诞快乐~(送女朋友必备!)

“ 六棵圣诞树,满足她圣诞愿望 ” 距离25号圣诞节只有几天了,程序员有属于程序员的浪漫,这不来了~ 如果一颗圣诞树不够,那就送她六棵,祝她圣诞快乐~ 直接上效果图—— 01 02 03 04 05 06 代码如下: 第…

[1184]FinalShell下载安装

文章目录FinalShell介绍初步使用更换背景图连接记录删除FinalShell介绍 官网:http://www.hostbuf.com/ http://www.hostbuf.com/?install_fs FinalShell 简介: FinalShell 相当于 xshell ftp 的组合,即:FinalShell xshell f…

【计算机考研408】中断处理流程

中断请求 中断源是请求CPU中断的设备或事件,一台计算机允许有多个中断源。每个中断源向CPU发出中断请求的时间是随机的。 中断响应判优 中断响应优先级是指CPU响应中断请求的先后顺序。当多个中断源同时提出请求时,需通过中断判优逻辑来确定响应哪个中…

Python asyncore socket客户端开发基本使用

目录 介绍 1.定义类并且继承 asyncore.dispatcher 2.实现类中的回调代码 调用父类方法 创建 socket 对象 连接服务器 3.创建对象并且执行 asyncore.loop 进入运行循环 服务端示例代码 运行结果 注意: 介绍 asyncore库是python的一个标准库,提…

作为程序员,你离拿offer就差这个免费且好用的简历制作工具

为什么你的简历总是石沉大海?为什么你投递的岗位迟迟得不到回应?除了岗位招满、HR没看到以及竞争太激烈等客观因素外,最重要的是——“简历”出现了问题。 “简历”就像名片一样,在面试和求职的过程中,一份优质的简历…

数字孪生城市项目的关键技术展望

智慧城市是社会空间、物理空间和信息系统三元有机融合的条件下城市智慧化转型的新型态, 运用以数字孪生为代表的新一代信息化技术优化城市系统, 提升城市品质和综合竞争力, 从而实现可持续发展成为智慧城市构建的新趋势。 数字孪生城市项目的关键技术 北京智汇云舟科技有限公司…

chrome的几种存储storage模式

Storage生命周期存放数据大小与服务器通信localStore 除非被清除,否则永远保存 一般5MB 仅在客户端(即浏览器)中SessionStorage仅在当前会话下有效,关闭页面或者浏览器后被清除 一般5MB 保存,不参与和服务器的通信Cookies一般由服务器生成&a…

荣盛生物将再次上会:前三季度收入约2亿元,曾被暂缓审议

近日,上海证券交易所披露的信息显示,上海荣盛生物药业股份有限公司(下称“荣盛生物”)将于2022年12月26日接受科创板上市委员会的现场审议(即“上会”)。据贝多财经了解,荣盛生物曾于11月7月7日…

TCP滑动窗口、流量控制、拥塞控制

TCP滑动窗口、流量控制、拥塞控制一、滑动窗口二、流量控制三、拥塞控制一、滑动窗口 上篇博客我们介绍了TCP报文结构、确认应答机制、超时重传机制、连接管理机制。 TCP保证了可靠传输,但是失去了效率。那么怎么样尽可能提高传输效率呢??&a…

react笔记_07组件实例化对象的三大属性

目录前提状态(state)作用状态使用总结属性(props)展开运算符复习props-作为属性传入数据props-使用展开运算符展开对象props-进行数据类型限制propTypes语法校验规则举例说明defaultProps语法举例说明refs字符串形式的ref语法举例说明注意点回调形式的ref什么叫做回调&#xff…

RT-Thread 简介

1.RT-Thread 概述 RT-Thread,全称是Real Time-Thread,顾名思义,它是一个嵌入式实时多线程操作系统, 基本属性之一是支持多任务,允许多个任务同时运行并不意味着处理器在同一时刻真地执行了多个任务。 事实上&#xff…

Redis实战——签到统计(BitMap的用法)

1. 什么是BitMap 我们针对签到功能完全可以通过mysql来完成,比如说以下这张表 但是,用户一次签到,就是一条记录,假如有1000万用户,平均每人每年签到次数为10次,则这张表一年的数据量为 1亿条。 每签到一次…