如何识别高级的验证码的技术总结第1/4页_应用技巧

一、验证码的基本知识

  1. 验证码的主要目的是强制人机交互来抵御机器自动化攻击的。

  2. 大部分的验证码设计者并不得要领,不了解图像处理,机器视觉,模式识别,人工智能的基本概念。

  3. 利用验证码,可以发财,当然要犯罪:比如招商银行密码只有6位,验证码形同虚设,计算机很快就能破解一个有钱的账户,很多帐户是可以网上交易的。

  4. 也有设计的比较好的,比如Yahoo,Google,Microsoft等。而国内Tencent的中文验证码虽然难,但算不上好。

  二、人工智能,模式识别,机器视觉,图像处理的基本知识

  1)主要流程:

  比如我们要从一副图片中,识别出验证码;比如我们要从一副图片中,检测并识别出一张人脸。 大概有哪些步骤呢?

  1.图像采集:验证码呢,就直接通过HTTP抓HTML,然后分析出图片的url,然后下载保存就可以了。 如果是人脸检测识别,一般要通过视屏采集设备,采集回来,通过A/D转操作,存为数字图片或者视频频。

  2.预处理:检测是正确的图像格式,转换到合适的格式,压缩,剪切出ROI,去除噪音,灰度化,转换色彩空间这些。

  3.检测:车牌检测识别系统要先找到车牌的大概位置,人脸检测系统要找出图片中所有的人脸(包括疑似人脸);验证码识别呢,主要是找出文字所在的主要区域。

  4.前处理:人脸检测和识别,会对人脸在识别前作一些校正,比如面内面外的旋转,扭曲等。我这里的验证码识别,“一般”要做文字的切割

  5.训练:通过各种模式识别,机器学习算法,来挑选和训练合适数量的训练集。不是训练的样本越多越好。过学习,泛化能力差的问题可能在这里出现。这一步不是必须的,有些识别算法是不需要训练的。

  6.识别:输入待识别的处理后的图片,转换成分类器需要的输入格式,然后通过输出的类和置信度,来判断大概可能是哪个字母。识别本质上就是分类。

  2)关键概念:

  图像处理:一般指针对数字图像的某种数学处理。比如投影,钝化,锐化,细化,边缘检测,二值化,压缩,各种数据变换等等。

  1.二值化:一般图片都是彩色的,按照逼真程度,可能很多级别。为了降低计算复杂度,方便后续的处理,如果在不损失关键信息的情况下,能将图片处理成黑白两种颜色,那就最好不过了。

  2.细化:找出图像的骨架,图像线条可能是很宽的,通过细化将宽度将为1,某些地方可能大于1。不同的细化算法,可能有不同的差异,比如是否更靠近线条中间,比如是否保持联通行等。

  3.边缘检测:主要是理解边缘的概念。边缘实际上是图像中图像像素属性变化剧烈的地方。可能通过一个固定的门限值来判断,也可能是自适应的。门限可能是图像全局的,也可能是局部的。不能说那个就一定好,不过大部分时候,自适应的局部的门限可能要好点。被分析的,可能是颜色,也可能是灰度图像的灰度。

  机器视觉:利用计算机来模式实现人的视觉。 比如物体检测,定位,识别。按照对图像理解的层次的差别,分高阶和低阶的理解。

  模式识别:对事物或者现象的某种表示方式(数值,文字,我们这里主要想说的是数值),通过一些处理和分析,来描述,归类,理解,解释这些事物,现象及其某种抽象。

  人工智能:这种概念比较宽,上面这些都属于人工智能这个大的方向。简单点不要过分学院派的理解就是,把人类的很“智能”的东西给模拟出来协助生物的人来处理问题,特别是在计算机里面。

当前1/4页 1234下一页阅读全文

时间: 2024-12-05 14:53:19

如何识别高级的验证码的技术总结第1/4页_应用技巧的相关文章

不错的一篇网络管理员入门与基础技术文章第1/2页_组网教程

学习基础知识当好称职网络管理员    本着就近原则,毕业后本人在一个国企当上了一名网络管理员.企业不大,机器也就500~600台左右吧:面积不大,也就700~800平方左右吧:楼房不多,也就6~7幢吧.网管本来就是一个不错的职业.想想啊,只要开始把网络设计好.做好.考虑周到点,那后来您不就一个每天喝着茶.看看报,到月初就拿工资的主儿吗?但是,实际上我们并不是你们想象中的那么清闲啊--我们还是先来谈谈网管所需要具备的知识吧.   作为网络管理员,首先必须要知道网络到底是什么?其实网络就是一个系统,

asp下的一个很简单的验证码程序第1/3页_应用技巧

主程序共三个  我的调用方式 <script language="javascript" src="/verify/num.asp"></script>  验证方式 if trim(Loginnum)<>trim(session("Loginnum")) then  Response.Write Error("验证码错误!")  Response.End  end if  num.asp 

谈谈技术原则,技术学习方法个人总结第1/2页_应用技巧

一.选用技术的原则 比较规范的软件开发过程要到有限的几个公司才能学到.偶现在所采用的方法都是圡方法,主程序员,测试驱动,文档和代码写在一起,原型.但基本上坚持几个原则: 在工作上以实用为主导,哪个实用学哪个,要以最小的努力获取最大的成效. 偶写过的第一个实用程序是把一个法律光盘导入到数据库中,光盘源文件格式需要分析.数据大概几万条.一种方法是写程序直接导入,另一种方法是写一个界面,手工导入.偶选择的是后者.程序界面如下:有一个文本框,有一个大按钮,按钮有一本书那么大,这样设计的原则是让闭着眼睛就

关于Asp代码与页面的分离模板技术第1/3页_应用技巧

在使用ASP制作一个站点的时候,常常会出现一个ASP文件中,程序代码和HTML代码混合的情况.这样子做有许多缺点: 1.编程时就要对页面布局进行设计和编排,造成代码混乱难懂,不规范; 2.当需要改变页面外观时,你不仅要改变HTML部份,也需要改变ASP代码,不易维护. 那么,要如何才能避免这些麻烦呢? 答案就是使用模板文件,将ASP代码和HTML页面分开,一切问题就都解决了.使用模板有以下好处: 1.在很短的时间内可以替换整个站点的外观; 2.使程序员可以抽象编程,而无须接触HTML代码; 3.

电子技术中常用符号及术语_应用技巧

Cj -- Junction Capacitance 结电容  ηv -- Rectification Efficiency 整流效率  I(AV) -- Average Forward Rectified Current 正向平均整流电流  IBO -- Breakover Current 转折电流  ID -- Stand-off Reverse Leakage Current 关态反向漏电流  IF -- DC Forward Current 正向直流电流  IFM -- Maximum 

【干货合集】你所不知道的蚂蚁技术系列之(三):咻红包、人脸识别、人工智能、金融技术

8月30-31日20:00-21:30,一场别开生面的技术大会-- "蚂蚁金服&阿里云在线金融技术峰会"将在线举办.本次将聚焦数据库.应用架构.移动开发.机器学习等热门领域,帮助金融业技术开发者深入解析互联网应用的前沿应用与技术实践. 蚂蚁金服&阿里云在线金融技术峰会专题:https://yq.aliyun.com/activity/109 峰会统一报名链接:http://yq.aliyun.com/webinar/join/38 2015双11,蚂蚁金服旗下支付宝共完

ASP实现加法验证码_应用技巧

将验证码改为加法运算,比如验证码显示"25+64等于?",那么输入"91"就能通过验证. 来看看效果图对比:字符验证码: → 加法验证码:优点: ①与纯字符验证码相比,本程序效防止了绝大部分(99%以上)广告机的自动识别.即使是中文验证码, 也能被市面上的部分广告机识别. ②与中文验证码相比,避免了用户输入用户名密码验证码的时候需要切换输入法的麻烦.说明:该程序需要网站空间支持ASPJpeg组件.楷体_GB2312字体. 代码如下: <% Const Font

优化代码:网页技术CSS的font属性的缩写的技巧

css|技巧|网页|优化 优化代码:网页技术CSS的font属性的缩写的技巧,缩写有利于减少代码,优化CSS,使之更加合理. css font属性是用来控制文字字体.颜色.大小等.而font的属性有多种,在通常情况下,我们用缩写的办法将多种属性概括在一句css代码中.这样极大的减小了代码,优化css文件. 我们常用的font属性有下面这六种: font-style设定斜体 如:font-style: italic;font-weight设定文字粗细 如:font-weight: bold;fon

验证码识别技术_应用技巧

由于现在很多网站,为了加强安全性,以及防止程序的自动操作网站,都加入的了验证码技术.但却给广大站长推广宣传网站带来的麻烦.所以我准备写这篇关于验证码识别技术的文章,不足之处在所难免!本人从来不写东西,今天为了想落伍才写了!      广大站长宣传推广自己的网站,经常要发布一些宣传广告,如果靠人工,太慢太昂贵,所以理想的办法是使用群发软件,可现在很多网站都有验证码,这成为群发软件的技术难点,而识别也就难点中的难点,好的,闲话少说,言归正传!     我举的例子是比较难于识别的验证码,不讨论不变形.