搜索到与相关的文章
编程技术

车牌、验证码识别技术

车牌、验证码识别的普通方法为:1.将图片灰度化与二值化。2.去噪,然后切割成一个一个的字符。3.提取每一个字符的特征,生成特征矢量或特征矩阵。4.分类与学习。将特征矢量或特征矩阵与样本库进行比对,挑选出相似的那类样本,将这类样本的值作为输出结果。下面借着代码,描述一下上述过程。1.图片的灰度化与二值化这样做的目的是将图片的每一个象素变成0或者255,以便以计算。同时,也可以去除部分噪音。图片的灰度化与二值化的前提是bmp图片,如果不是,则需要首先转换为bm

系统 2019-08-29 22:07:03 2295

编程技术

(原创)一个优秀软件开发人员的必修课:GRASP

我偶然在google或yahoo这样的搜索引擎搜索GRASP发现,除了国外的网站,国内网站多介绍和讨论GoF而很少介绍GRASP,即使这少量的文章也讲解非常粗略。个人认为作为优秀的开发人员,理解GRASP比GoF更重要,故写此文章。前面我在《(原创)一个优秀软件开发人员的必修课:GRASP软件开发模式浅析》中介绍了使用GRASP的目的,今天允许我调换一下顺序,先从低耦合讲起,因为诸如创建者模式、信息专家模式的根本目的就是降低耦合。1.低耦合(LowCoup

系统 2019-08-29 21:58:58 2295

编程技术

为什么敏捷方法能在软件开发中行之有效?

有很多的书籍讨论敏捷方法是怎样工作的(Howitworks?),在这个主题演讲中,MartinFowler和他的同事NealFord讨论了敏捷方法能够在软件开发项目中行之有效的原因(Whyitworks?)。作为敏捷方法的发起人和传道者,MartinFowler和ThoughtWorks一直试图从理论层面证明敏捷方法的可行性,同时不厌其烦地解答着客户们的各种困惑,正如他们所说,敏捷方法中的很多概念不是特别的直观,除非人们真正实践过一段时间,否则有些概念很难

系统 2019-08-29 21:58:50 2295

编程技术

谈birt

1.格式化:这是一个内容广泛的主题,常见的需求:需求解决办法(以上为例)显示报表列头为中文设置报表外观对于报表数据列进行处理分页页眉和页脚如:将userid显示为"用户标识"。选择"userid",输入"用户标识"。选择对应的报表项,通过"属性编辑器"调整。如:将userid和username,显示成:userid:username。双击row["userid"],出现"表达式生成器",输入:row["userid"]+":"+row["username"

系统 2019-08-12 09:30:13 2295

各行各业

Abiword 编辑事件设计

Abiword编辑事件设计Abiword作为专业的字处理软件,其各种编辑事件的处理封装比较巧妙。其中包含鼠标、键盘、字符等各种操作的封装。本文将详细记录事件的处理各个类的设计概要。一、EV_EditMethod类该类的定义:具有根据名字调用方法的能力。**TheEditMethodmechanismprovidesessentiallya'call-by-name'**capability.Akey,mouse,menu,ortoolbareventmay

系统 2019-08-12 09:27:10 2295

各行各业

CRM2011部署问题小结

1CRM2011部署当插件太多,并且文件太多的时候选择硬盘部署2在生产环境这样复杂的CRM2011部署环境的时候弄清楚每台CRM服务器的结构是很重要的弟一步3一定要注意DMZ区和内网隔离的,相互之前部署也不一样,所以部署的时候要加以区分4生产环境上部署,可能需要有服务账号,部署系统前需要检查每台服务器上的运行CRM服务的的账户是否有足够的权限。如果不检查可能会出现各种问题严重影响部署进度。比如报表不能正常查看、CRM网站报打不开数据库,可能运行CRM网站应

系统 2019-08-12 09:26:53 2295

各行各业

自动化测试(五):自动化测试框架

框架(可复用的函数、方法)类型:①数据驱动(用测试数据去驱动脚本的运行,测试脚本和数据的分离???)②关键字驱动(object.action(param),抽象程度更高,业务逻辑、脚本、数据的分离)结构:Automation①AUT:配置文件,xml文件②Config(ObjectRepository):对象,tsr文件(flighr.tsr)③TestData:测试数据,即测试用例,txt文件(flight_testcase.txt)④Script:测试

系统 2019-08-12 09:26:42 2295

数据库相关

mongodb查询内嵌文档

假设有这样一个文档:db.XXX.remove();db.XXX.insert({"id":1,"members":[{"name":"BuleRiver1","age":27,"gender":"M"},{"name":"BuleRiver2","age":23,"gender":"F"},{"name":"BuleRiver3","age":21,"gender":"M"}]});不能使用db.XXX.find({"members":{"name":"

系统 2019-08-12 01:55:30 2295

数据库相关

rand()函数的最大值问题

今天在做dram的模拟时候,需要用rand()函数模拟dram的cell的retentiontime,所以查看了一个rand()函数,该函数能产生0到RAND_MAX之间的数。不同平台下RAND_MAX值不同,我在32bit的windowsVC6.0下测试,得出RAND_MAX的值为32767(即2^15-1)。我在64bit的ubuntu下,测试,得到RAND_MAX的值为2147483647(即2^31-1)。rand()函数的最大值问题

系统 2019-08-12 01:54:24 2295

数据库相关

失败的数据恢复经历

因为在用大白菜制作U盘启动盘的过程中操作失误,把移动硬盘错当成U盘了,移动硬盘数据全部丢失。怪我当时糊涂,竟然又把移动硬盘给格式化了,后悔不迭。移动硬盘里有重要的文档资料,赶紧找恢复软件恢复数据。先从网上找到了FinaData,开始使用格式化恢复功能,扫描硬盘。几个钟头之后,扫描完毕,只找到可怜的一点小文件,大文件都丢了,视频文件只是一点开头儿部分,而且文件名全乱了。因为以前用过DiskGenius成功恢复过文件,那次是删除分区了,但是没有格式化,这次拿来

系统 2019-08-12 01:53:55 2295