【OpenCV基础(三)】Ubuntu系统下EasyPR环境配置

环境配置

  • 1、资源下载
  • 2、环境配置
    • 2.1、1、将EasyPR压缩包拷贝到Ubuntu 三种方法任选一种
    • 2.2、解压得到EasyPR文件夹(文件夹一层进入后EasyPR资源内容)
    • 2.3、终端命令修改权限**chmod -R 777 ./ EasyPR**
    • 2.4、查找EasyPR/include/easypr/config.h,使用gedit方式打开
    • 2.5、在EasyPR下终端执行./build.sh 进行编译
    • 2.6、运行检查可执行程序 demo
  • 3、创建Qt工程修改pro文件
    • 3.1、添加OpenCV环境配置 (之前文档配置过的)
    • 3.2、添加EasyPR 环境配置
  • 4、一劳永逸解决影子构建目录

1、资源下载

EasyPR压缩包

2、环境配置

2.1、1、将EasyPR压缩包拷贝到Ubuntu 三种方法任选一种

a)VMware tools
b)FTP工具
c)共享文件夹

2.2、解压得到EasyPR文件夹(文件夹一层进入后EasyPR资源内容)

2.3、终端命令修改权限chmod -R 777 ./ EasyPR

a)注意:只要进入Ubuntu压缩包解压之后都要做chmod -R动作修改权限
b)注意:EasyPR文件夹放入/opt文件夹下

2.4、查找EasyPR/include/easypr/config.h,使用gedit方式打开

修改#define CV_VERSION_THREE_ZERO 这个是针对OpenCV 3.0以下版本
修改成#define CV_VERSION_THREE_TWO 这个是针对OpenCV 3.0以上版本,目前使用OpenCV 3.4.2
在这里插入图片描述
修改后保存文档,注意查看:
在这里插入图片描述

2.5、在EasyPR下终端执行./build.sh 进行编译

在这里插入图片描述
在这里插入图片描述

2.6、运行检查可执行程序 demo

3、创建Qt工程修改pro文件

在这里插入图片描述

3.1、添加OpenCV环境配置 (之前文档配置过的)

在这里插入图片描述

3.2、添加EasyPR 环境配置

a)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
b)h、hpp文件
/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
在这里插入图片描述
在这里插入图片描述
c)将model文件夹拷贝到Qt工程下(之前放置在opt文件夹下的EasyPR)
在这里插入图片描述
d)Pro文件中添加
INCLUDEPATH += /opt/EasyPR/include/
DISTFILES +=
model/ann_chinese.xml
model/ann.xml
model/annCh.xml
model/svm_hist.xml
在这里插入图片描述
在这里插入图片描述
e)编译会出现四个报错,每一个报错,双击打开源码文件进行修改,thirdparty头文件路径存在问题在include增加“…/…/”
在这里插入图片描述
正常运行可
f)影子构建目录,查看此处不能勾选以显示窗口
在这里插入图片描述

4、一劳永逸解决影子构建目录

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

vue2本地开发环境正常,生产环境下this.$router.push({ name: ‘login‘ })不跳转

如果在Vue.js 2中在本地开发环境下正常运行,但在生产环境下使用​​this.$router.push({ name: login })​​不起作用,可能有几个原因需要检查和解决: 路由配置问题: 确保你的路由配置正确,特别是确保在生产环境中,路由的配置和本地开发环境一致。检查是否正确设置了name…

基于springboot+vue的智能学习平台系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

SAP PP学习笔记 - 豆知识07 - 如何查看BOM一览

SAP标准提供了CS03,只能查询单个的BOM,如果想查看一览,只能自己写SQVI 查询。 有其他高招的童鞋,请赐教啊。 1,SQVI 工具 SAP MM学习笔记18- SQVI 工具_sap sqvi-CSDN博客 输入查询名,然后点击 登录 2&a…

#QT(DEMO2-登录界面)

1.IDE:QTCreator 2.实验:DEMO登录 3.记录 Line Edit输入不换行 密码框输入如下设置: 运行效果 4.代码

Vue.js+SpringBoot开发在线课程教学系统

目录 一、摘要1.1 系统介绍1.2 项目录屏 二、研究内容2.1 课程类型管理模块2.2 课程管理模块2.3 课时管理模块2.4 课程交互模块2.5 系统基础模块 三、系统设计3.1 用例设计3.2 数据库设计 四、系统展示4.1 管理后台4.2 用户网页 五、样例代码5.1 新增课程类型5.2 网站登录5.3 课…

五、西瓜书——集成学习

1.个体与集成 集成学习通过将多个学习器进行结合,常可获得比单一学习器显著优越的泛化性能,这对“弱学习器”(weak learner)尤为明显因此集成学习的很多理论研究都是针对弱学习器进行的而基学习器有时也被直接称为弱学习器。 要获得好的集成个体学习器应“好而不同”…

武汉灰京文化:多样化推广与创新引领游戏行业

作为专业的游戏推广服务商,武汉灰京文化注重多样化的推广策略,通过与各大媒体、社交平台和游戏社区建立紧密的合作关系,为游戏企业提供全方位的推广服务。他们通过精确的广告投放、内容创作和社交媒体互动等方式,将游戏信息传播给…

【C++】STL学习之旅——初识STL,认识string类

string类 1 STL 简介2 STL怎么学习3 STL缺陷4 string4.1 初识 string4.2 初步使用构造函数成员函数 5 小试牛刀Thanks♪(・ω・)ノ谢谢阅读!!!下一篇文章见!!! 1 STL 简介 …

解读OWASP软件保障成熟度模型SAMM

OWASP软件保证成熟度模型(SAMM)可为所有类型的组织分析和改进其软件安全态势提供有效和可衡量的方法。OWASP SAMM支持完整的软件生命周期,包括开发和获取,并且与技术和过程无关。 1. 简介 OWASP软件保证成熟度模型(SA…

数据结构 第3章 栈、队列和数组(一轮习题总结)

第3章 栈、队列和数组 3.1 栈3.2 队列3.3 栈与队列的应用3.4 数组和特殊矩阵 3.1 栈(1 10 11 20) 3.2 队列(6 12 14 17) 3.3 栈与队列的应用(6 11) 3.4 数组和特殊矩阵 3.1 栈 T1 栈和队列具有相同的逻辑…

k8s-prometheus监控部署 22

新建项目仓库并上传部署prometheus所需的镜像 开始部署 修改svc访问方式为LoadBalancer 查看用户名和密码 访问grafana监控页面 http://192.168.182.103/​​​​​​ 修改可视化模板 官方监控模板:https://grafana.com/grafana/dashboards 访问prometheus监控页面…

1. vue3-环境准备

1、安装node.js 如果开发环境上面没有安装node.js,需要到node.js官方网站下载node.js。下载安装后,可以通过npm --version查看nodejs版本 2. 开发工具 开发工具建议使用vscode

知识图谱1——neo4j

2024年要搞知识图谱,因此没有办法,只能将我之前固守的JDK1.8,升级到JDK21,因为JDK21也是LTS版本,neo4j高版本就不支持JDK8,因此没有办法,只有升级了。写这篇只是一个搭建笔记,我的初…

AJAX 学习笔记(Day3)

「写在前面」 本文为黑马程序员 AJAX 教程的学习笔记。本着自己学习、分享他人的态度,分享学习笔记,希望能对大家有所帮助。推荐先按顺序阅读往期内容: 1. AJAX 学习笔记(Day1) 目录 3 AJAX 原理 3.1 XMLHttpRequest 3…

springboot心灵治愈交流平台源码和论文

本论文主要论述了如何使用JAVA语言开发一个心灵治愈交流平台 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述心灵治愈交流平台的当前背景以及系统开发的目的&a…

@Transactional--开启事物后换源报错

一、问题出现的场景 系统架构设计、每个企业一个企业库、通过数据源切在平台库、和企业库之间动态切换完成业务操作。 二、跨库事物失效的原因 1、SpringTransactional不支持跨数据源事物,Spring 事物控制是基于数据库链接进行的,当数据源切换后&#x…

SketchUp Pro 2023:颠覆传统,重塑设计世界mac/win版

SketchUp Pro 2023是一款强大的三维建模软件,专为设计师、建筑师和创意专业人士打造。这款软件以其直观易用的界面和强大的功能而著称,为用户提供了无限的创意空间。 SketchUp Pro 2023软件获取 SketchUp Pro 2023在用户体验方面进行了全面的优化&#…

SpringBoot整合rabbitmq-重复消费问题

说明:重复消费的原因大致是生产者将信息A发送到队列中,消费者监听到消息A后开始处理业务,业务处理完成后,监听在告知rabbitmq消息A已经被消费完成途中中断,也就时说我已经处理完业务,而队列中还存在当前消息…

Qt|QTreewidget类下函数qt助手详解说明示例(上)

该系列持续更新,喜欢请一键三连,感谢各位大佬。 QT5.14.2 参考官方QT助手 文章目录 QTreeWidget ClasspropertiesPublic Functions默认构造函数默认析构函数添加根节点void addTopLevelItem(QTreeWidgetItem *item)添加多个根节点void addTopLevelItems…

Linux下的权限

1. 操作系统的外壳 在理解Linux权限之前,我们先来吃点小菜。 1.大部分指令都是文件,如果把指令对应的文件删除了,那么这条指令就使用不了了。 2.用户执行某种功能的时候,不是直接让操作系统执行对应的指令的,而是先交…