自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 字符编码问题:ANSI、ASCII、UNICODE、UTF8、GBK及其相互转换

在使用tesseract时,不可避免地会遇到各种字符编码问题。 各种ANSI、UNICODE、UTF8、GBK总是搞不清楚,制作训练样本时刚好借机了解了下字符编码相关问题,在此记录备忘。首先介绍最熟悉的ascii码(American Standard Code for Information Interchange,美国信息互换标准代码): 使用8位二进制,0-127表示128个字符,其中...

2018-08-29 19:19:29 3213

原创 C++应用系列:STL中sort函数与自定义cmp比较排序

平常使用时,在写sort函数的比较函数时,通常都是:bool cmp(int i1,int i2){ return i1 < i2;}void foo(){ sort(vec.begin(),vec.end(),cmp);}习惯用法后,在一些类中,同样这样写就出现了错误。class InClass{bool cmp(int i1,int i2){...

2018-08-07 22:07:29 3983

原创 C++应用系列:仿AOP与匿名对象实现运行时间测试

之前通过装饰器模式实现了打印运行时间,使用起来稍微方便一些了,但是每次测试时还需要创建一个新的时间测试类继承于基类,并在该类成员函数中调用实际需要测时间的函数。 在看AOP时发现还有另一种实现方式:template <class T>class BaseAspect{ T* m_ptr;protected: BaseAspect(T* ptr):m_ptr(...

2018-07-05 16:32:10 220

原创 C++应用系列:利用装饰器模式进行运行时间测试

在平常做实验时,经常会遇到需要测试某个函数或个模块的运行时长,基本上每次都是在模块前后添加测时间的函数,然后输出查看,这样的工作相当繁琐,然而每次测试还是这样做的。今天上网看到AOP相关,发现可以用AOP添加测时间功能。 又看到了代理模式和装饰器模式,发现应用装饰器模式似乎可以简单实现。class VBase{public: virtual ~VBase(){} ...

2018-07-05 13:02:56 453

原创 不务正业系列:看STL中迭代器与traits时突然想到decltype

看《STL源码剖析》中讲到迭代器与traits时做了下笔记。 详见:https://blog.csdn.net/uestc_chenmo/article/details/80444092 做笔记过程中突然想到,参数类型和返回值类型问题似乎很贴近auto和decltype。 编译器会在编译时通过变量的初始值或表达式自动推导变量的类型。具体网上资料很多此不赘述。 STL出现较早,其中的trai...

2018-05-24 22:03:08 470 3

原创 C++进阶系列:参数推导、内嵌类型、迭代器与traits

《STL源码剖析》学习记录:模板编程中经常写到:template<typename T>void func0(T a){ T aa; //do_sth(); return;}template<typename T>T func1(){ T tmp; //do_sth(); return tmp;}当模...

2018-05-24 21:26:43 382

原创 C++进阶系列:C++模板特化与偏特化

《STL源码剖析》第三章讲迭代器时有讲模板特化相关。C++模板包含类模板与模板函数:template <class T>class Template_Class{ //成员函数等 T Data;}; //类模板 template <class T>T Template_func(const T a, const T b){...

2018-05-22 21:44:09 227

原创 C++进阶系列:new与Plain Old Data

《深度探索c++对象模型》 P196 Point* heap = new Point; 通常理解的new一个对象进行3个步骤: 1.分配一块内存空间 2.调用对象构造函数 3.指定 指向该对象的指针书中有说到:“再一次容我强调,并没有default constructor施行于 new 运算符所传回的Point Object身上。”当一个类无需构造的时候,如:class Fo...

2018-05-21 20:50:40 910

原创 C++进阶系列:拷贝构造函数与NRV优化

《深度探索C++对象模型》第二章67页有: 这个程序的第一个版本不能实施NRV优化,因为test class 缺少一个copy constructor. 也就是缺少拷贝构造函数所以不能NRV优化。NRV优化和拷贝构造函数是有关系的,只有定义了拷贝构造函数才会开启NRV优化,但现代编译器NRV优化的开启一般都与拷贝构造函数没有关系,早期的 cfront需要一个开关来决定是否应该对代码实行...

2018-05-16 20:43:19 805 3

原创 C++应用系列:字符串输入输出

#include <iostream>#include <sstream>#include <vector>#include <string>using namespace std;int main(){ string str; getline(cin, str); //读入一行字符,保存空格,换行结尾 ...

2018-04-23 16:14:59 142

原创 操作系统之多线程(二)

同步与锁: 同步:多线程中,一个线程访问数据未结束时,其他线程不得访问同一数据,数据的访问被原子化。最常见的方法是使用锁(Lock)。线程在访问数据或资源前获取锁,访问结束后释放锁,在锁被占用时线程获取锁会等待至锁可用。 二元信号量: 只有占用、非占用两种状态。只能被唯一线程独占访问的资源。 多元信号量(Semaphores): 简称信号量,允许多个线程并发访问的资源,初始值为N的信号量...

2018-03-21 15:24:24 210

原创 C++基础系列:访问控制与继承

public:公有继承,继承后的各成员不会其改变控制方式; 基类public -> 派生类public 基类protected -> 派生类protected 基类private -> 派生类不可访问protected:受保护的继承,继承后的成员变为protected; 基类public -> 派生类protected 基类protected -> 派生...

2018-03-16 17:25:55 119

原创 C++应用系列:用智能指针shared_ptr中引用计数思想进行动态内存管理

如果在类的定义中不自己定义默认拷贝赋值构造函数与析构函数,编译器会自动创建合成函数,在初始化时使用类内初始值或默认值初始化成员。 编译器自动生成提供的默认拷贝构造函数是浅拷贝,所谓浅拷贝,则是简单将成员进行赋值操作,如果成员中存在指针或引用时,执行浅拷贝则只是将指针或引用赋值,而具体指向的是同一内存空间,在修改值时会出现意想不到的问题,而且,最重要是在析构时同一内存单元重复释放两次。当我们...

2018-03-15 16:02:46 936

原创 C++进阶系列:深拷贝浅拷贝函数与拷贝赋值操作符

类使用构造函数对对象进行初始化外,还有拷贝、赋值、销毁等操作。 如果在类的定义中不自己定义默认拷贝赋值构造函数与析构函数,编译器会自动创建合成函数,在初始化时使用类内初始值或默认值初始化成员。 编译器自动生成提供的默认拷贝构造函数是浅拷贝,所谓浅拷贝,则是简单将成员进行赋值操作,通常如果类成员只有简单数据成员时,浅拷贝不会出现任何问题。但是,如果成员中存在指针或引用时,执行浅拷贝则只是将指针或...

2018-03-09 14:27:46 489

原创 Tesseract应用:ScrollView.jar以及ViewDebugging的使用及相关问题

tesseract中提供了一个显示其内部状态的工具ViewDebugging 官网:https://github.com/tesseract-ocr/tesseract/wiki/ViewerDebugging主要是依赖生成的ScrollView.jar,具体生成方法可以参照 http://blog.csdn.net/uestc_chenmo/article/details/78668681

2017-12-15 16:33:32 1434

原创 Java应用系列:命令行生成jar包(附IJ Idea导出jar方法)

jar包 JAR(Java Archive,Java 归档文件)是与平台无关的压缩文件,通常是用于将多个class文件组合成一个,。当创建jar包的时候,如果程序中有main入口函数,同时manifest中指定了Main-Class,即可创建可执行的jar,即相当于一个Java应用程序,(有jre时)可以通过命令行或直接双击运行。生成jar方法: 命令行参数:jar {ctxu}[vfm..]

2017-11-29 19:21:12 2703

原创 C++应用系列:递归遍历文件夹下所有文件--Directory类源码中的问题

日常工程中经常用到遍历文件夹内所有文件或指定格式文件。 因为主要都是做图像方面,OpenCV库接触较多,其中有实现遍历文件夹下所有文件的类Directory。 Directory里面包括3个成员函数: (1)、GetListFiles:遍历指定文件夹下的所有文件,不包括指定文件夹内的文件夹; (2)、GetListFolders:遍历指定文件夹下的所有文件夹,不包括指定文件夹下的文件; (

2017-11-14 16:36:32 5453 1

原创 C++基础系列:输入输出流条件状态问题

写入若干个数据,再进行后续操作:string str[100];int pair_length = 0;while (getline(cin, str[pair_length]) ++pair_length;do_something();int A;cin >> A;do_sth_else();想要读入未知数个数据,可以使用while循环来实现,在输入文件结束符(EOF,end-

2017-11-08 14:57:24 341

原创 C++基础系列:解引用与递增运算符*与++问题

解引用和递增运算符复合表达式是一种很常见的表达,特别是在很多迭代器的使用时,不仅需要返回引用值还需要访问下一个元素,这类复合表达式往往不太能直观理解。 直接举例说明:class test3{public: void main3() { int a[2] = { 10, 20 }; int *p1, *p2, *p3,*p4; p1

2017-11-07 13:21:09 1423

原创 C++基础系列:指针移动后delete问题

实现去掉字符串中空格的功能。 其间发现值得注意的几点: !!以下为错误代码!!class test4{public: int main4() { const char *inbuf = " a string with space ! "; char *outbuf = new char[50]; if (inbuf

2017-11-06 20:30:15 1173

原创 不务正业系列:初识Quine之C++一种简单实现

偶然听说了Quine,wikipedia上的解释是: A quine is a non-empty computer program which takes no input and produces a copy of its own source code as its only output. The standard terms for these programs in t

2017-11-02 18:16:05 925 1

原创 C++基础系列:sizeof与字节对齐问题

首先来看sizeof运算符: The result of the sizeof operator is of type size_t, an integral type defined in the include file STDDEF.H. This operator allows you to avoid specifying machine-dependent data sizes in

2017-10-23 16:37:46 1143

原创 Tesseract源码学习:宏定义#define中#、\等一些符号的用法

Tesseract源码学习:宏定义#define中#、\等一些符号的用法

2017-10-16 22:47:18 263

BP神经网络代码

BP神经网络代码

2016-12-14

算法导论中文版

算法导论中文版

2016-12-10

行人检测C++代码

行人检测C++代码

2016-12-10

deep learning and neuroscience深度学习与神经科学

深度学习与神经科学

2016-12-10

Learning OpenCV ComputerVision in C++

学习opencv计算机视觉C++版

2016-12-09

直方图均衡化原理及源代码

直方图均衡化原理及源代码

2016-12-08

Matlab7入门教程(清晰、完整版)

matlab教程

2016-12-03

matlab进阶教程

writting fast matlab code,matlab教程,提升matlab写程序效率。

2016-12-02

opencv计算机视觉编程手册

opencv 计算机视觉 图像处理

2016-11-27

Learning Image Processing Witn OpenCV

图像处理与opencv学习书籍资料

2016-11-27

tesseract302源码

字符识别 OCR tesseract 源码

2016-11-27

车牌倾斜校正matlab程序

matlab 车牌识别 倾斜校正

2016-11-26

字符识别程序源代码

字符识别OCR程序源代码

2016-11-26

opencv人工神经网络字符识别

opencv 人工神经网络 ANN OCR 字符识别

2016-11-26

C++库函数查询手册

C++库函数查询参考手册

2016-11-26

空空如也

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

TA关注的人

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