返回首页 我的新博客
摘要: 服务器高性能程序 磁盘I/O篇Linux IO系统的架构图一.设备--------影响磁盘性能的因素硬盘的转速影响硬盘的整体性能。一般情况下转速越大,性能会越好。硬盘的性能因素主要包括两个:1.平均访问时间2传输速率。平均访问时间包括两方面因素:平均寻道时间(Average Seek Time)是指硬盘的磁头移动到盘面指定磁道所需的时间。一般在3ms至15ms之间。平均旋转等待时间(Latency)是指磁头已处于要访问的磁道,等待所要访问的扇区旋转至磁头下方的时间。一般在2ms至6ms之间。传输速率(Data Transfer Rate)硬盘的数据传输率是指硬盘读写数据的速度,单位为兆字节每秒 阅读全文
posted @ 2011-09-06 23:11 buffer的blogs 阅读(708) 评论(0) 推荐(0) 编辑
摘要: 设计模式一书将设计模式引入软件社区,该书的作者是 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides Design(俗称 “四人帮”)。所介绍的设计模式背后的核心概念非常简单。经过多年的软件开发实践,Gamma 等人发现了某些具有固定设计的模式,就像建筑师设计房子和建筑物一样,可以为浴室的位置或厨房的构造方式开发模板。使用这些模板或者说设计模式意味着可以更快地设计更好的建筑物。同样的概念也适用于软件。设计模式不仅代表着更快开发健壮软件的有用方法,而且还提供了以友好的术语封装大型理念的方法。例如,您可以说您正在编写一个提供松散耦合的消息 阅读全文
posted @ 2011-09-06 23:07 buffer的blogs 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 定义定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法(Factory Method)使一个类的实例化延迟到其子类。也叫虚构造器(Virtual Constructor)结构理解1.Product是工厂方法生产产品的抽象基类。2.Creator是生产产品的工厂对象抽象基类。Creator提供创建虚方法即工厂方法FactoryMeothod()。FactoryMeothod()由派生类(ConcreteCreator)具体实现,生产对应的具体产品(ConcreteProduct)。3.ConcreteProduct是继承Product的具体产品。4.ConcreteCreator是生 阅读全文
posted @ 2011-09-06 23:05 buffer的blogs 阅读(426) 评论(0) 推荐(0) 编辑
摘要: C++设计模式之Adapter一、功能 将一个类的接口转换成客户希望的另外一个接口,解决两个已有接口之间不匹配的问题。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 二、结构图 (1)class adapter (2)object adapter 三、实现 和其他很多模式一样,学习设计模式的重点是学习每种模式的思 想,而不应拘泥于它的某种具体结构图和实现。因为模式是灵活的,其实现可以是千变万化的,只是所谓万变不离其宗。 在STL中大量运用了Adapter模式,象function adapter、iterator adpter,它们与这里说的adapte... 阅读全文
posted @ 2011-09-06 23:04 buffer的blogs 阅读(281) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/gyche/archive/2010/12/26/1914652.html其实车牌图像识别从技术上已经比较成熟,从理论上来说无外乎就是如下几个步骤: 灰度化:实际就是对原始车牌图片进行预处理,把彩色图片转化为黑白图片,然后对不符合指定阙值范围的灰度值进行过滤。 车牌定位:这是技术难点之一,根据我的经验,定位车牌位置对于车牌的准确识别而言实际上就成功了60%。很多车牌识别的产品都对车牌的定位预留了很多配置参数,例如截取原始图片的位置参数、车牌的长宽比例、大小等等,这些都是为了提高车牌定位的准确率。 字符分割:车牌定位后是字符分割,本人使用的识别... 阅读全文
posted @ 2011-09-06 21:50 buffer的blogs 阅读(885) 评论(0) 推荐(0) 编辑
摘要: 全文分两部分,第一部分讲车牌识别及普通验证码这一类识别的普通方法,第二部分讲对类似QQ验证码,Gmail验证码这一类变态验证码的识别方法和思路。一、车牌/验证码识别的普通方法车牌、验证码识别的普通方法为:(1)将图片灰度化与二值化(2)去噪,然后切割成一个一个的字符(3)提取每一个字符的特征,生成特征矢量或特征矩阵(4)分类与学习。将特征矢量或特征矩阵与样本库进行比对,挑选出相似的那类样本,将这类样本的值作为输出结果。下面借着代码,描述一下上述过程。因为更新SVN Server,我以前以bdb储存的代码访问不了,因此部分代码是用Reflector反编译过来的,望见谅。(1)图片的灰度化与二值化 阅读全文
posted @ 2011-09-06 21:39 buffer的blogs 阅读(717) 评论(0) 推荐(0) 编辑
摘要: OpenCV是Intel支持的开源计算机视觉库。它由一系列C函数和少量C++类构成,实现了图像处理和计算机视觉方面的很多通用算法。它不依赖于其它的外部库—尽管也可以使用某些外部库。OpenCV使用BSD License,对非商业应用和商业应用都可以免费使用。OpenCV的主要应用环境是Windows和Linux,对于嵌入式系统如arm-linux,很少有资料提到,因此将我在arm-linux编译过程记录下来和大家分享。预备工作:a. 安装交叉编译链 我使用的是arm-linux-gcc 4.3.2,解压到目录/usr/local/arm/4.3.2,然后在环境变量PATH中增加/usr/lo. 阅读全文
posted @ 2011-09-06 20:17 buffer的blogs 阅读(1429) 评论(0) 推荐(0) 编辑