摘要: 以下文本及代码基本基于《OpenCV 2.4.13.0 documentation》的How to scan images, lookup tables and time measurement with OpenCV一节,英文好的同学可以直接看原文。 1. 颜色压缩 1. 颜色压缩 颜色压缩(Co 阅读全文
posted @ 2016-09-12 23:39 qdsclove 阅读(10827) 评论(0) 推荐(1) 编辑
摘要: Chars74K数据集是一个经典的字符识别数据集,主要包括了英文字符与坎那达语(Kannada)字符。数据集一共有74K幅图像,所以叫Chars74K。 英文数据集依据图像采集方式分为三个类别: 1. 自然环境下采集的字符图像数据集; 2. 手写字符图像数据集; 3. 计算机不同字体合成的字符图像数 阅读全文
posted @ 2016-09-12 17:20 qdsclove 阅读(9094) 评论(0) 推荐(0) 编辑
摘要: 数组并非指针“数组和指针是相同的”是一种非常危险、并不完全正确的说法。ANSI标准: extern int *x; // x是个int型的指针 extern int y[]; // y是个int型数组,长度尚未确定数组定义不等同于指针的外部声明的情况:文件1:// 定义了一个int数组int mango [100];文件2: // 外部声明的指向int型的指针 extern int * mango;上述代码的错误如下:什么是定义,什么是声明C语言中的“对象”(不同于C++或其他面向对象编程语言的‘对象’,这里的对象只是跟链接器有关的“东西”,如函数和变量)必须... 阅读全文
posted @ 2014-01-21 01:13 qdsclove 阅读(387) 评论(2) 推荐(0) 编辑
摘要: 3.1 何为内核对象工具WinObj可以查看所有类型的内核对象。每个内核对象都只是一个内存块,它由内核分配,并只能由内核访问。这个内存块是一个数据结构,其成员维护着与对象相关的信息。少数成员是所有对象都有的,但其他大多数成员都是不同的对象类型特有的——比如进程对象的PID,文件对象的共享模式。应用程序利用windows提供的一组函数,以经过良好定义的方式来操纵内核对象。句柄(handle)标识了内核对象,在32位进程中句柄为32位的值,在64位进程中则为64位值。句柄的值与进程是相关的。内核对象的生命期可能长于创建其的进程,内核对象的所有者是内核而非进程。所有的内核对象类型都包含的一个数据成员 阅读全文
posted @ 2014-01-05 00:09 qdsclove 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 3.1 只有编译器才会喜欢的语法C语言的声明语法(声明模型)很晦涩,容易成为程序员的障碍,正是由于在组合类型方面的笨拙行为,C语言显得很复杂。造成这种情况的原因是因为“类型模型(type model)”这个概念对于当时的编程语言理论而言尚属陌生。BCPL(C语言前身)语言几乎没有类型,其以二进制字作为唯一的数据类型。C语言的设计哲学之一:对象的声明形式与它的使用形式要尽可能相似。int *p[3]是一个int类型的指针数组。其使用方法如下: // p 是一个指针数组,其中的每个元素都是一个指向 int类型的指针 int * p[3]; // 声明三个 int数组 int... 阅读全文
posted @ 2013-12-27 11:56 qdsclove 阅读(444) 评论(6) 推荐(0) 编辑
摘要: 2.1编程语言的缺陷可以分为三类:不该做的做了。——多做之过。该做的没做。——少做之过。该做但做的不合适。——误做之过。C++对C语言中存在的一些基本问题没有什么改进,而它对C语言最重要的扩展(类)却是建立在C脆弱的类型模型上。2.2 多做之过fall through特性给switch语句带来的的麻烦由于C语言的设计理念(相信程序员,依靠程序员对其行为作出安全性的保证),几乎从来不进行运行时错误检查——对进行解除引用操作的指针进行有效性检查除外,MS-DOS甚至这点都无法保证。一个遵循标准的C编译器至少允许一条switch语句有257个case标签(8bit字符+EOF)。switch语句另一 阅读全文
posted @ 2013-12-20 02:00 qdsclove 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 2.1 字符编码本地化的问题就是处理不同字符集的问题。2.2 ANSI字符和Unicode字符与字符串数据类型Microsoft的C/C++编译器定义了一个内建的数据类型wchar_t,表示一个16位的Unicode(UTF-16)字符。在编译器内建对wchar_t的支持之前,ANSI C头文件(和)定义了一个wchar_t数据类型。在Windows头文件WinNT.h中Windows团队定义了自己的数据类型以及可用于处理字符和字符串指针的大量便利的数据类型。WinNT.h中定义的UNICODE、TEXT宏://// Neutral ANSI/UNICODE types and macros/ 阅读全文
posted @ 2013-12-17 15:10 qdsclove 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 1.1编译器的效率包括两个方面:运行效率(代码的运行速度)和编译效率(产生可执行代码的速度),运行效率起决定性作用;Ken Thompson在PDP-11上重新用汇编语言实现了UNIX,DR创立了能够同时解决多种数据类型和效率的“New B”语言(C),采用编译模式而不是解释模式,并引入类型系统,每个变量在使用前必须先声明。1.2C语言增加类型系统的主要目的是帮助编译器设计者区分新型PDP-11所拥有的不同数据类型(单精度、双精度浮点数、字符等);由于设计哲学,C语言排斥强类型(隐式转换,数组可以越界,几乎没有任何运行期的类型检查,允许在不同类型的对象间赋值);C语言有着许多为了方便编译器设计 阅读全文
posted @ 2013-12-13 13:28 qdsclove 阅读(245) 评论(0) 推荐(0) 编辑
摘要: a部分练习的是图像相减法,图像的减法又称减影技术,是指对同一景物在不同时间拍摄的图像或同一景物在不同波段的图像进行相减。其主要作用如下:1、去除不需要的叠加性图案;2、运动检测;3、梯度图像。这是两张在不同时刻拍摄的图像,为了充分展示出效果,我将图像中的物体移动了一下: 图 一 图 二这两幅图像相减,并取绝对值之后的结果图像: 图 三可以看出,图像相减可以去除两张图像中相同的部分,... 阅读全文
posted @ 2013-11-21 16:39 qdsclove 阅读(3221) 评论(0) 推荐(0) 编辑
摘要: 这部分基本上练习的是如何用非对称的高斯核做高斯滤波。如果用户希望采用非对称的高斯核,则引入param4,最后两个参数分别代表水平核以及垂直核维数。因此,当param3 ≠param4≠0的时候,就采用了非对称的高斯核。param1 = param2 = 0, param3 = 1, param4 = 9的滤波结果:根据上篇博文介绍的那样,实际上在这种情况中滤波核的大小为7 * 55,即平行向的核尺寸为7,竖直向的核尺寸为55,因此,结果图像在竖直方向上更模糊一些。我们可以来看下平行向上的一维高斯变换核:0.0044330.0540060.2420360.3990500.2420360.0540 阅读全文
posted @ 2013-11-19 16:04 qdsclove 阅读(341) 评论(0) 推荐(0) 编辑