自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Keras深度学习

Keras深度学习及计算机视觉方向的理论研究及应用

  • 博客(130)
  • 资源 (17)
  • 收藏
  • 关注

原创 C++23种设计模式(14)-模板方法模式

最近有个招聘会,可以带上简历去应聘了。但是,其中有一家公司不接受简历,而是给应聘者发了一张简历表,上面有基本信息、教育背景、工作经历等栏,让应聘者按照要求填写完整。每个人拿到这份表格后,就开始填写。如果用程序实现这个过程,该如何做呢?一种方案就是用模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。#include<iostream>#include<string>#include<l

2021-11-03 16:13:44 62872

原创 C++23种设计模式(13)-策略模式

策略模式是指定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。也就是说这些算法所完成的功能一样,对外的接口一样,只是各自实现上存在差异。用策略模式来封装算法,效果比较好。下面以高速缓存(Cache)的替换算法为例,实现策略模式。#include<iostream>#include<string>#include<list>#include<vector>using namespace std;

2021-11-03 16:08:30 62988

原创 C++23种设计模式(12)-享元模式

运用共享技术有效地支持大量细粒度的对象。在围棋中,棋子就是大量细粒度的对象。其属性有内在的,比如颜色、形状等,也有外在的,比如在棋盘上的位置。内在的属性是可以共享的,区分在于外在属性。因此,可以这样设计,只需定义两个棋子的对象,一颗黑棋和一颗白棋,这两个对象含棋子的内在属性;棋子的外在属性,即在棋盘上的位置可以提取出来,存放在单独的容器中。相比之前的方案,现在容器中仅仅存放了位置属性,而原来则是棋子对象。显然,现在的方案大大减少了对于空间的需求。#include<iostream>#inc

2021-11-03 16:00:20 62779

原创 C++23种设计模式(11)-组合模式

将对象组合成树形结构以表示“部分-整体”的层次结构。组合使得用户对单个对象和组合对象的使用具有一致性。注意两个字“树形”。这种树形结构在现实生活中随处可见,比如一个集团公司,它有一个母公司,下设很多家子公司。不管是母公司还是子公司,都有各自直属的财务部、人力资源部、销售部等。对于母公司来说,不论是子公司,还是直属的财务部、人力资源部,都是它的部门。整个公司的部门拓扑图就是一个树形结构。#include<iostream>#include<string>#include<l

2021-11-03 15:43:22 62748

原创 C++23种设计模式(10)-桥接模式

将抽象部分与它的实现部分分离,使它们都可以独立地变化。考虑装操作系统,有多种配置的计算机,同样也有多款操作系统。如何运用桥接模式呢?可以将操作系统和计算机分别抽象出来,让它们各自发展,减少它们的耦合度。当然了,两者之间有标准的接口。这样设计,不论是对于计算机,还是操作系统都是非常有利的。#include<iostream>#include<string>using namespace std;//操作系统class OS{public: virtual void I

2021-11-03 15:32:28 63095

原创 C++23种设计模式(9)-外观模式

外观模式应该是用的很多的一种模式,特别是当一个系统很复杂时,系统提供给客户的是一个简单的对外接口,而把里面复杂的结构都封装了起来。客户只需使用这些简单接口就能使用这个系统,而不需要关注内部复杂的结构。DP一书的定义:为子系统中的一组接口提供一个一致的界面, 外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。举个编译器的例子,假设编译一个程序需要经过四个步骤:词法分析、语法分析、中间代码生成、机器码生成。学过编译都知道,每一步都很复杂。对于编译器这个系统,就可以使用外观模式。可以定义一个高层接口

2021-11-03 15:25:14 63075

原创 C++23种设计模式(8)-代理模式

为其他对象提供一种代理以控制对这个对象的访问。有四种常用的情况:(1)远程代理,(2)虚代理,(3)保护代理,(4)智能引用。本文主要介绍虚代理和智能引用两种情况。#include<iostream>#include<string>using namespace std;class Image{public: Image(string name) : m_imageName(name) {} virtual ~Image() {} virtual void Sho

2021-11-03 15:18:33 63173

原创 C++23种设计模式(7)-装饰器模式

装饰模式:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。有时我们希望给某个对象而不是整个类添加一些功能。比如有一个手机,允许你为手机添加特性,比如增加挂件、屏幕贴膜等。一种灵活的设计方式是,将手机嵌入到另一对象中,由这个对象完成特性的添加,我们称这个嵌入的对象为装饰。这个装饰与它所装饰的组件接口一致,因此它对使用该组件的客户透明。代码如下:#include<iostream>#include<string>using namespace s

2021-11-03 15:06:00 63120

原创 C++ 23种设计模式(6)-适配器模式

适配器模式将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。它包括类适配器和对象适配器,本文针对的是对象适配器。举个例子,在STL中就用到了适配器模式。STL实现了一种数据结构,称为双端队列(deque),支持前后两段的插入与删除。STL实现栈和队列时,没有从头开始定义它们,而是直接使用双端队列实现的。这里双端队列就扮演了适配器的角色。队列用到了它的后端插入,前端删除。而栈用到了它的后端插入,后端删除。假设栈和队列都是一种顺序容器,有两种操作:压入和弹出。

2021-11-03 14:49:38 63095

原创 C++23种设计模式(5)-原型模式

原型模式的定义为:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。下面给出原型模式代码:#include<iostream>using namespace std;//父类class Resume{protected: char *name;public: Resume() {} virtual ~Resume() {} virtual Resume* Clone() { return NULL; } virtual void Set(char *n)

2021-11-02 15:30:24 62903

原创 C++23种设计模式(4)-建造者模式

建造者模式将一个复杂的对象与它的表示分离,例如建造一个人,这个人有头部和躯体,然后人分为瘦人和胖人,最后指挥官指挥人进行活动,这个指挥的要么是瘦人,要么是胖人。#include<iostream>using namespace std;//建造者模式class Builder {public: virtual void BuildHead(){} virtual void BuildBody(){}};//构造瘦人class ThinBuilder :public Bu

2021-11-02 11:22:58 62938

原创 C++23种设计模式(3)-单例模式

单例模式,就是这个类只能存在一个实例对象,不能创建多个。代码如下:#include<iostream>using namespace std;class Singleton{public: static Singleton* GetInstance();protected: //单例模式的构造函数放在保护中,使得子类可以访问 Singleton() {}private: //唯一实例的指针 static Singleton* singleton;};Single

2021-11-02 10:21:01 62880

原创 C++23种设计模式(2)-抽象工厂模式

在工厂方法模式下,如果一家公司既能生产单核的,又能生产多核的,那么简单工厂模式和工厂方法模式就无法满足要求,这个时候就需要使用抽象工厂模式了。#include<iostream>#include<string>using namespace std;enum CTYPE{COREA,COREB};//定义一个基类单核class SingleCore {public: virtual void show() = 0;};//单核Aclass SingleCor

2021-10-29 17:31:14 63007

原创 C++23种设计模式(1)-工厂方法模式

为了引入工厂方式模式,我们首先来看一个简单工厂模式,注意简单工厂模式不属于23种设计模式之一,因为简单工厂模式是有缺陷的。下面来看一个简单工厂模式例子。#include<iostream>#include<string>using namespace std;enum CTYPE{COREA,COREB};//定义一个基类单核class SingleCore {public: virtual void show() = 0;};//单核Aclass Singl

2021-10-29 17:13:13 63611

原创 windows环境下最简单的编译tesseract库的方法

在tesseract官方文档中,提供了一种直接使用vs编译的方法,不需要安装cppan以及sw打开这个链接,可以发现目前已经支持最新的tesseract4.1.1了使用git命令递归下载这个项目git clone --recursive https://github.com/peirick/Tesseract-OCR_for_Windows.git下载完成后使用vs打开tesseract.sln接下来利用vs进行编译,在编译的过程中会出现如下错误:\tesseract_4.1\src\c

2021-05-07 17:37:15 73618 1

原创 win10环境下不通过cppan编译tesseract4.1动态库

在我的博客中,写了几篇关于tesseract如何编译Windows环境下的dll库,但那几篇都是基于cppan的环境依赖,而cppan的官方网站在2021年1月已经正式关闭了,因此那种方式将无法下载到对应的依赖环境,根据tesseract官方文档是使用SW的方式进行依赖下载,因此这篇博客将讲解使用基于SW的编译方式。1 SW的环境配置在SW官方地址上下载sw.exe。将下载的sw.exe所在路径添加到系统环境变量PATH下。以管理员权限打开cmd,输入命令:sw setup这个命令主要是在用

2021-04-28 14:58:25 72539 2

原创 tensorflow2.4中使用session和graph

由于TensorFlow2中已经取消了1中的Session,改用Keras进行创建模型了,如果我们要使用版本1中的Session,应该使用如下方式:import tensorflow._api.v2.compat.v1 as tfif __name__=='__main__': #在2.0中必须创建默认计算图 g=tf.get_default_graph() with g.as_default(): h=tf.constant('hello')

2021-03-15 17:03:37 70898

原创 C++实现对URL的编码和解码(支持ansi和utf8格式)

#include<iostream>#include<string>#include<stdio.h>#include<assert.h>#include<fstream>using namespace std;unsigned char ToHex(unsigned char x){ return x > 9 ? x + 55 : x + 48;}unsigned char FromHex(unsigned cha

2021-02-23 11:19:59 71396 1

原创 win10下使用vs2015编译支持xp系统的libcurl

在我的一篇博客中写了编译libcurl的,那种方式编译的curl动态库在win7到win10上可以使用,但是在xp系统里就不能使用了,接下来讲解一种方法可以在xp系统里使用cur。1 编译openssl由于在perl官网里提供的perl版本没有dmake,因此使用我提供的perl5.24带dmake的包,下载地址。安装好perl后,可以尝试使用ppm install dmake命令来进行安装dmake模块,在我电脑里无法安装,因此直接使用dmake离线包。将dmake.exe所在目录添加到系统pat

2021-01-29 17:52:46 70280 2

原创 win10系统下vs2015编写的C++程序在XP系统里运行

虽然目前很多用户的电脑系统都是win7到win10,但还有部分用户的电脑系统是xp,比如一个项目要兼顾到xp用户,而通常编写的vs2015程序在xp里并不能运行,先做一个如下测试,使用vs2015创建一个C++控制台程序,代码很简单,如下所示:生成这个程序,将得到的test1.exe复制到xp系统里,然后运行,效果如下:在xp系统里会弹出提示不是有效的win32位程序,那么该如何解决这个问题了?打开工程属性,在常规里将平台工具集改成Visual Studio 2015 - Windows XP (

2021-01-28 16:48:05 71598 1

原创 文本分割之垂直投影法基于OpenCV(python)的实现

在我的上一篇博客中讲述了水平投影法取出文本行图像的实现,在这里将用垂直投影法对文本行的每个字符进行分割。下图是用水平投影法切割的文本行:文本分割的原理如下,先用水平投影取出单一文本行,接着使用垂直投影法达到对单个字符进行分割。代码如下:import numpy as np import cv2 def get_vvList(list_data): #取出list中像素存在的区间 vv_list=list() v_list=list() for index,i i

2021-01-25 17:48:58 73877 7

原创 文本分割之水平投影法基于OpenCV(python)版实现

对于如下一张图片,如何将文本区域分割成一行一行的了?在文本分割领域中有一种很优秀的算法:投影法,包括水平投影法和垂直投影法。本文主要讲述水平投影法,水平投影法可以理解为一束光线从图像的左侧向右边进行照射,每一条光线可以理解为图像的一行,计算每一行上图像的黑色像素点,从而可以对图像进行分割。import numpy as np import cv2 if __name__=='__main__': img_bgr=cv2.imread('./testImg/1.png',1) if

2021-01-25 15:39:48 73285

原创 使用boost库中的asio创建支持post请求的HTTP服务

使用C++创建HTTP服务有一个比较好的选择,就是使用boost库中的asio模块,官网上提供了创建HTTP服务的例子,链接地址。官网提供的例子可以直接运行,但却存在一个问题,对于接收GET请求,是正常的,但是对于POST请求会返回出错,原因在于POST请求是有两次TCP的数据传送,而GET请求只有一次,而示例程序并没有对post请求的进行单独处理。针对以上问题,我在官网的例子上进行修改,使之可以接收post请求的数据,主要地方在于更改connection.cpp中的do_read函数。更改的地方如

2021-01-18 15:10:15 72740

原创 vs2015使用C++创建基于UDP的socket程序

UDP协议是无连接的数据传输协议,客户端在向服务端发送数据时,不需要建立连接,可以直接发送数据。服务端和客户端程序的创建流程如下:服务端代码如下:#include<iostream>#include<WinSock2.h>#include<WS2tcpip.h>using namespace std;#pragma comment(lib,"ws2_32.lib")int main(){ //加载套接字库 WORD wVersionReques

2021-01-18 14:37:37 71703

原创 vs2015使用C++创建基于TCP的socket程序

socket程序即为套接字,用于进行网络数据的传输。套接字有两个网络传输层协议TCP和UDP。本文使用TCP创建一个服务端和客户端程序并实现通信。服务端代码:#include<iostream>#include<WinSock2.h>#include<WS2tcpip.h>using namespace std;#pragma comment(lib,"ws2_32.lib")int main(){ //加载套接字库 WORD wVersionRe

2021-01-18 13:55:26 71704

原创 C++版OpenCV使用神经网络ANN进行mnist手写数字识别

说起神经网络,很多人以为只有Keras或者tensorflow才支持,其实OpenCV也支持神经网络的,下面就使用OpenCV的神经网络进行手写数字识别,训练10次的准确率就高达96%。环境准备:vs2015OpenCV4.5.0以下为ANN神经网络的训练代码:#include<iostream>#include<opencv.hpp>#include <string>#include <fstream>using namespace std

2021-01-04 17:40:43 82226 10

原创 C++版OpenCV使用支持向量机svm进行mnist手写数字识别

支持向量机svm也是一种机器学习算法,采用空间超平面进行数据分割,在这篇博客中我们将使用svm进行手写数字的识别,使用该算法,识别率可以达到100%。环境准备:vs2015OpenCV4.5.0下面的代码为svm模型训练代码:#include<iostream>#include<opencv.hpp>#include <string>#include <fstream>using namespace std;using namespace

2020-12-28 17:20:05 39950 11

原创 C++版OpenCV使用最近邻算法knn实现对mnist手写数字的识别

关于手写数字的解析在我的另外一篇博客了作了讲解,这篇文章我们将利用OpenCV的机器学习算法knn实现对手写数字的识别。使用knn进行手写数字的准确率高达97%。环境准备:vs2015OpenCV4.5.0下面为模型训练代码:#include<iostream>#include<opencv.hpp>#include <string>#include <fstream>using namespace std;using namespace

2020-12-28 16:39:36 38468 5

原创 C++版本OpenCV实现对mnist手写数据集的解析

在机器学习中,mnist数据集是一个使用很广泛的数据集,一般教程中都是python对mnist数据集的解析,在本文中将采用C++语言进行手写数据集的数据提取。环境准备:vs2015OpenCV4.5.0首先在mnist官网上下载mnist数据集的压缩包。下载完成后将压缩包解压得到idx3-ubyte格式文件,如下图所示:下面代码为C++版解析代码:#include<iostream>#include<opencv.hpp>#include <string&

2020-12-28 14:29:27 18335

原创 opencv(python)使用ann神经网络识别手写数字

opencv中也提供了一种类似于Keras的神经网络,即为ann,这种神经网络的使用方法与Keras的很接近。关于mnist数据的解析,读者可以自己从网上下载相应压缩文件,用python自己编写解析代码,由于这里主要研究knn算法,为了图简单,直接使用Keras的mnist手写数字解析模块。本次代码运行环境为:python 3.6.8opencv-python 4.4.0.46opencv-contrib-python 4.4.0.46下面的代码为使用ann进行模型的训练:from keras

2020-12-25 17:52:17 19544 5

原创 opencv(python)使用svm算法识别手写数字

svm算法是一种使用超平面将数据进行分类的算法。关于mnist数据的解析,读者可以自己从网上下载相应压缩文件,用python自己编写解析代码,由于这里主要研究knn算法,为了图简单,直接使用Keras的mnist手写数字解析模块。本次代码运行环境为:python 3.6.8opencv-python 4.4.0.46opencv-contrib-python 4.4.0.46以下代码为使用svm算法进行训练模型:import cv2import numpy as npfrom keras.

2020-12-25 17:37:07 21074 3

原创 opencv(python)使用knn最近邻算法识别手写数字

knn最近邻算法是一种分类以及回归算法,算法原理是一个样本与样本集中k个样本最相似,如果这k个样本的大多数也属于同一个类别,则该样本也属于这一类。关于knn算法的详细原理读者可以在网上找一些资料了解下,这里主要介绍使用knn进行mnist手写数字的识别。关于mnist数据的解析,读者可以自己从网上下载相应压缩文件,用python自己编写解析代码,由于这里主要研究knn算法,为了图简单,直接使用Keras的mnist手写数字解析模块。本次代码运行环境为:python 3.6.8opencv-pytho

2020-12-25 14:20:34 18605 7

原创 详解opencv的HOG描述子维度数目的计算原理

opencv的HOG描述子与sift、surf、orb描述子一样,都是属于同一类型的描述符,这种描述符可以作为SVM、ANN的模型输入数据。如何更科学的使用HOG描述符,主要取决于HOG的参数是如何转为维度数目的。下面是python代码对一个图像为40*40大小生成HOG描述子的过程。import cv2import numpy as npgray=np.ones(shape=(40,40),dtype=np.uint8)'''比如上面这副图像的大小为40*40定义hog描述子的第一个值

2020-12-24 11:18:48 17547 3

原创 vs2015制作供js调用的ATL组件dll库详解

ATL组件和mfc ActiveX组件都可以供网页去调用,在我其它的博客中详细讲述了ocx组件的开发方式以及在网页中如何调用,在这篇博客中将详细讲解ATL组件的开发以及在网页中的调用。1 创建ATL组件项目打开vs2015,选择新建ATL项目后面的页面都按照默认设置,最后一步点击完成。项目创建完成后可以看到在解决方案资源管理器中有两个项目,一个项目名称为atl_test,一个项目为atl_testPS2 添加ATL简单对象类右键atl_test项目名称,选择添加–类在打开的添加类对话框中

2020-12-18 14:42:15 17523

原创 vs2015开发在网页中调用的ocx控件详解(二)

在上一篇博客中介绍了ocx控件的基本创建,这里主要讲解如何在网页中与ocx控件进行信息传递。1 ocx添加成员变量在类视图中右键ocx_testLib下的_Docx_test,选择添加属性变量类型选择BSTR,属性名输入jsStrocx添加了这种类型的变量,就是在js中根据变量名jsStr传入值,那么C++这边接收的值的变量就是m_jsStr添加完成后,在Cocx_testCtrl类中自动创建了变量响应函数OnjsStrChanged在该方法中添加如下一行:m_jsStr = m_jsS

2020-12-18 10:47:13 17487

原创 vs2015开发在网页中调用的ocx控件详解(一)

1 创建mfc ActiveX工程使用vs2105新建一个mfc ActiveX工程,工程名称为ocx_test,如果要在ocx控件中使用对话框,那么就勾选“在插入对象对话框中可用”更改工程的属性,mfc的使用改为在静态库中使用mfc,字符集未未设置。2 在控件中使用嵌入对话框在工程的资源视图中插入一个对话框然后将对话框的属性修改,style改为child,visible改为true右键该对话框-添加类为该对话框创建一个类,名称为CDialog1在ocx_testCtrl.h文件中

2020-12-17 17:03:18 18593

原创 win10下RTX 2080ti安装cuda10.0和cudnn7.6.5

1 安装显卡驱动在NVIDIA官网上下载显卡驱动,并进行安装NVIDIA官网下载页面2 安装cuda10.0在cuda历史版本列表中下载cuda10.0cuda10.0下载链接下载完成后安装cuda,采用默认安装即可。3 下载并配置cudnncudnn并不是一个安装程序,而是一个C++运行库,包含头文件、lib文件、dll文件。下载完成后需要把相应文件复制到cuda的目录下。在cudnn页面下载下载cudnn时需要有NVIDIA的账号,没有可以注册一个。登录了账号后进入cu

2020-12-01 11:36:20 20015

原创 win10下使用bazel从源码编译TensorFlow1.15.3的pip安装包(CPU版本支持AVX2指令集)

为什么要自己编译Python版本的TensorFlow包了?很多人会有疑惑,因为Python的模块直接通过pip install命令就可以在线下载安装了,没有必要自己编译。不过通过这种方式安装的Python包是默认不支持AVX2指令集的,这个在运行Python程序从下面的提示就可以看出来。Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2自己编译可以生成一个支持AVX2指令集的P

2020-11-27 14:00:23 17528 1

原创 win10下使用bazel从源码编译TensorFlow1.15.3的C++动态库(CPU版本支持AVX2指令集)

1 安装msys2msys2是一个在Windows上的Linux虚拟环境,在Linux上写的程序,可以使用msys2编译为Windows上的exe或者dll。在msys2官网上下载msys2程序:下载链接。下载完成后进行安装,安装成功后将安装目录C:\msys64和安装目录下的usr/bin目录C:\msys64\usr\bin添加到系统环境变量path中以管理权限打开cmd,依次安装msys2的一些环境包pacman -Syupacman -S gitpacman -S patch un

2020-11-27 09:42:47 19985 40

原创 win10使用vs2019从源码编译OpenCV4.5+cuda10.2+cudnn8.0的C++环境和Python环境

1 环境准备1 vs20192 anaconda+Python3.6+numpy3 cuda和cudnn环境4 cmake5 OpenCV4.5.0以及OpenCV-contrib4.5.0压缩包本人电脑里的cuda和cudnn环境如下:当然Python环境可以不用anaconda,自己去下载Python3.6安装,然后装上numpy模块,因为Python版本的OpenCV依赖于numpy。如果用户仅仅需要编译C++版本的OpenCV,可以去掉Python环境。2 cmake编译将下载的

2020-11-25 17:39:26 20622 11

卷积神经网络的可视化(基于keras):猫狗可视化模型源码

本书代码参考书籍《python深度学习》,书上的代码是keras2.1+tf1的版本,由于几年前tf2将keras集成进去,因此为了更多受众,本文将书籍上的代码改动了部分用tf2实现。对tensorflow稍微有点了解的人都知道,tf2代表从tf2.0到目前的最高版本,本文以tf2中的tf2.5实现。

2023-04-24

增值税发票查验API接口说明

增值税发票查验API接口说明

2022-03-01

深度学习猫狗训练样本集

深度学习猫狗的kaggle猫狗样本集,包含了训练集4000张猫、狗图像,测试集1000张猫、狗图像。

2022-02-09

Keras多标签多分类的验证码训练集

keras进行验证码识别的训练样本集和测试样本集,每个验证码的名称即为验证码显示的字符

2022-01-29

tensorflow1.8.rar

tensorflow1.8.rar

2021-04-08

tensorflow1.15.rar

使用bazel编译的TensorFlow1.15的动态库

2021-04-08

libcurl_7.72.rar

VS2015编译的curl-7.72.最新版(带openssl_1_1_1g和zlib_1.2.11),动态库为MT模式的、win32位,下载后可以直接使用。

2020-09-11

Perl5.24_dmake.rar

peri5.24的安装包并可以加上dmake,由于使用ppm install dmake无法安装dmake,因此采用这个离线包,只需要把dmake.exe所在目录配置到环境变量里就可以。

2020-09-11

编译md5所需的文件.rar

文件压缩包里含有编译openssl所需的文件,该文件用于在vs2015中编译生成opensll的动态库和静态库

2019-10-10

libcurl32位静态库及测试程序.rar

curl编译成的静态库供vs2015使用,测试程序里面有调用示例

2019-09-02

libcurl动态库及测试程序.rar

使用curl编译成的供vs2015使用的32位动态库,压缩包里含有测试程序

2019-09-02

数字图片字库

在使用tesseract-ocr进行字符识别时,我们使用了官方提供的字库,例如英文字库、中文字库,但这些字库并不一定能满足我们所有的需求。当tesseract提供的字库中没有我们识别的那种字体时,就会出现识别错误的问题,这个时候就需要训练自己的字库进行训练了。我们可以制作出识别车牌的车牌字库、识别身份证号的身份证字库。

2019-05-17

train_image.zip

在使用tesseract-ocr进行字符识别时,我们使用了官方提供的字库,例如英文字库、中文字库,但这些字库并不一定能满足我们所有的需求。当tesseract提供的字库中没有我们识别的那种字体时,就会出现识别错误的问题,这个时候就需要训练自己的字库进行训练了。我们可以制作出识别车牌的车牌字库、识别身份证号的身份证字库。 上面为自己准备的数字图片集。

2019-05-17

libcurl.rar

使用vs2015自己编译的x64 Release版本的dll动态库,curl用来发送get请求、post请求

2019-05-09

VS2015中用C++创建MFC DLL动态库

VS2015中用C++创建MFC DLL动态库,包含了mfc dll的创建以及在控制台中调用

2018-12-20

VS2015 MFCActiveX使用对话框调用另外一个ActiveX控件

VS2015 MFCActiveX使用对话框调用另外一个ActiveX控件,包含生成的ocx以及测试网页

2018-12-19

VS2015 C++ dll动态库的制作以及调用

VS2015 C++ dll动态库的制作以及调用的资源文件,一个文件为动态库的制作,一个文件为调用的

2018-12-19

VS2015 C++ lib静态库的制作以及调用

解压后资源里有两个文件,一个C++_lib,为在vs2015下制作lib库的工程;另外一个为test,是调用lib库的工程

2018-12-19

空空如也

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

TA关注的人

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