自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 C++ 面试总结

一、STL 之 vector1、底层是一个可以存储任意类型的动态数组;可以随机访问元素2、vector扩大容量的本质:当vector的大小和容量相同,也就是满载时,需要再添加元素,vector就需要扩容,主要经历以下3步:完全弃用现有的内存空间,重新申请更大的内容空间;将旧内存空间中的数据,按原有顺序移动到新的内存空间中 ;最后将旧的内存空间释放。工程浩大3、删除操作会使iterator失效:vector在遍历中进行erase,此时iter++会出现bug,产生野指针和coredump;解决办法

2021-05-06 16:29:31 106

原创 PaddleOCR和ChineseOCR的火车票识别对比

PaddleOCR和ChineseOCR的对比一、识别时间chineseOCR识别的速度相对于PaddleOCR较慢,单纯使用CPU对于单张火车票的识别时间可以达到20秒以上。 PaddleOCR对于火车票的识别时间很快,一般控制在2秒到5秒左右二、内存占用量Chneseocr模型体积非常大,在CPU下运行非常占内存,经常会出现测几张就内存崩溃的现象 PaddleOCR模型很小,运行时不耗内存,可以畅通无阻的测试很多图片三、识别的准确度Chineseocr的准确度很高,经过.

2021-01-04 15:36:42 3296 2

原创 PaddleOCR安装及使用

PaddleOCR安装及使用PaddleOCR是一个与OCR相关的开源项目,不仅支持超轻量级中文OCR预测模型,总模型仅8.6M(单模型支持中英文数字组合识别、竖排文本识别、长文本识别,其中检测模型DB(4.1M)+识别模型CRNN(4.5M)),而且提供多种文本检测训练算法(EAST、DB)和多种文本识别训练算法(Rosetta、CRNN、STAR-Net、RARE)一、环境搭建PaddleOCR安装在linux环境下,使用的版本是ubuntu16.04,环境配置如下:1、使用conda创

2021-01-04 15:30:32 5391 6

原创 chineseocr火车票识别研究

一、chieseocr项目框架1、app.py:web入口,加载检测及识别模型,控制总体项目的流程2、application文件夹:身份证和火车票等结构化数据识别模块3、crnn文件夹:包括dnn、keras和torch中英文识别网络模型4、models文件夹:训练好的模型文件,包括如下5、static和templates文件夹:html+css的页面显示设计,包括文字方向检测选择、单行文字识别,身份证和火车票结构化识别,图片和结果的显示等。6、test文件夹:测试图片7、tex

2021-01-04 15:29:03 1228 1

原创 chineseocr环境搭建及使用避坑指南

chineseocr环境搭建及使用避坑指南一、环境搭建chineseocr安装在linux环境下,使用的版本是ubuntu16.04,环境配置如下1、安装Anaconda下载python3.6对应版本的Anaconda,官网和清华镜像均可,直接安装之后重启终端。坑1:官网真的很慢。清华镜像是最快的,可以修改镜源,不然以后会很慢(实践证明,换了镜像之后快得不是一个级别啊)conda config --add channels https://mirrors.tuna.tsinghua.e

2021-01-04 15:27:54 2307

原创 ubuntu系统开启摄像头过程记录

1、问题描述为在ubuntu上实现从摄像头读取视频帧,并转化为灰度图像的功能,编写相关功能代码,使用opencv的VideoCapture(0)函数打开笔记本摄像头,但多次实现并查询修改,都无法解决打开笔记本自带摄像头的问题,之后使用了usb接口的外接摄像头,使用代码打开摄像头,现将工作过程记录如下。2、代码编写如下:import numpy as npimport cv2ca...

2020-04-13 14:26:30 5220 2

原创 动态库代码重构方案

在动态库的接口代码中,为了节省时间及沿用已有的代码框架,很多时候会直接对原有的代码进行大段复制和粘贴,虽然在一定程度上提高了编程的速度,但是重复的代码,不仅会造成代码的繁琐,更会因一个bug导致要反复修改所有重复出现的地方,大大增加了代码的修改成本和出现未知问题的可能性。代码重构就是在不改变代码应有的功能函数前提下,对代码进行修改,通过改变程序内部的结果,提高其代码间接性,可读性,降低修改的成...

2020-04-13 14:25:29 173

原创 基于facenet人脸识别设计文档

基于facenet人脸识别设计文档一、概述在Ubuntu系统上,创建人脸库搭建基于facenet的人脸识别库,本文采用Python从百度下载明星照片,通过facenet的检测对齐人脸函数制作人脸库,并使用facenet做人脸识别。二、环境搭建1、安装Python2.7sudo apt-get updatesudo apt-get install python2.7sud...

2020-04-13 14:23:36 827

原创 《大象Thinking in UML》学习笔记(三)

UML是统一建模语言,需要在某个建模的方法下进行建模,统一过程就是最著名的建模方法之一。RUP:Rational Unified Process,统一过程,归纳和集成软件开发活动中的最佳时间,定义了开发过程中最重要的4个阶段和9个核心工作流,定义了参与软件开发过程的各种角色及其职责,定义了软件开发过程中产生的工件,并提供了模板。最后,采用演进式软件生命周期将工作、角色和工件串在一起,形成了统一...

2019-04-15 14:32:08 193

原创 《大象Thinking in UML》学习笔记(二)

UML:Unified Modeling Language统一建模语言作为语言,就有基本词汇和语法,UML中元模型就是词汇,例如用例和类;视图就是规则。语言是为了沟通,为了大家能够最大程度的沟通,就创造了被大众认可的统一语言(普通话),这个就是标准。这个统一语言不仅要人和人能够沟通,人和机器也需要沟通。——可读性相对于文字来说,图形更容易让人接受,逻辑更清晰——可视化图形针对面向对...

2019-04-11 17:19:31 265

原创 《大象Thinking in UML》学习笔记(一)

面向过程:以关系的形式来看待世界,牵一发则动全身,事物间互相有因果关系,分析问题的时候是从过程的起点,顺藤摸瓜,分析每个部分,然后走到过程的终点。随着事物的复杂性和不断地变化,要分析所有的因果关系及所有的因素变得非常困难,这个时候就引入了面向对象。从头到尾分析面向对象:将世界分成了不同的小对象,他们之间看上去是没有关系的,只有在外力的因素下,互相交互形成了生动的世界。微观上——可爱的论述:...

2019-04-10 14:36:37 367

原创 VS2015编译适用于XP系统sp3的dll全过程-无需vs2015运行库

问题1:dll是否依赖于其他的库答:dll依赖于libcurl+openssl+boost,因此dll要编译成支持xp的静态MFC+MT版,libcurl+openssl+boost同样也要编译成支持XP的release MT版本。问题2:编译的dll在xp系统出现的normaliz.dll无效映射问题解决方法:1、按照网络上找到的方式各种编译libcurl,还是出现normali...

2019-03-14 15:00:31 1298

原创 OCX打包CAB并签名的过程

 前言ocx需要依赖dll及ini配置文件,我希望可以自动注册ocx,并将ocx、dll及ini配置文件放入系统文件夹中。所以可以将ocx、dll及ini打包到cab中,当js第一次调用cab时,可以自动安装cab,将ocx,dll及ini注册在系统中。一、打包CAB1、编写inf文件,可以直接修改使用; =========================ENP_ActiveX...

2018-11-15 14:29:23 659

原创 JS调用OCX控件过程

一、手动注册及反注册OCX1、右击项目,生成.ocx2、注册,以管理员身份win+R打开运行,输入cmd输入 regsvr32 控件路径,出现如下对话框则表明ocx注册成功,可以被js调用3、反注册:输入regsvr32 /u 控件路径二、查找ocx的clsid1、方式一:通过C++代码中ENP_ActiveXDLL.idl2、方式二:通过注册表...

2018-11-15 12:42:18 7923 2

原创 vs2015 dll封装为ocx的过程

一、创建项目1、新建MFC ActiveX控件项目2、点击下一步,直到完成 3、生成ENP_ActiveXDLL项目其中ENP_ActiveXDLLCtrl.cpp是写接口的主要功能部分;ENP_ActiveXDLL.idl中定义了之后注册ocx后,调用ocx所需要的重要的clsid,这一id在注册表中也可以找到。二、添加与dll相对应的对外接口1、点击视图...

2018-11-15 11:31:30 5139 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除