- 浏览: 636022 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (314)
- 生活 (2)
- c# (37)
- 技术 (3)
- 400电话 (0)
- 400常见问题 (0)
- 400资费 (0)
- html (7)
- css (0)
- 数据库 (7)
- javascript (16)
- php (33)
- asp.net mvc2 (10)
- mysql (9)
- C# 3.0 LinQ (10)
- vs2005或vs2008 (4)
- flash and as3 (7)
- fms (1)
- dedeCMS (11)
- java (33)
- j2me (1)
- swing (1)
- c++ (1)
- jquery easyui (3)
- jquery (5)
- android (29)
- MongoDB (9)
- VtigerCRM (1)
- test (0)
- linux (30)
- nutch (2)
- SqlServer数据库 (2)
- 数据检索 (2)
- java抓取 (11)
- 乐天 (1)
- 淘宝 (1)
- Silverlight4.0 (6)
- sphinx实时索引 (5)
- ecshop (9)
- codeigniter(CI) (3)
- axure6 (1)
- 京东店铺装修教程 (2)
- xpath (1)
- joomla (2)
- bpm (1)
- Bootstrap (2)
- knockout (4)
- ecstore (4)
- css3 (1)
- 微信 (2)
- dede (0)
- soa_edi (1)
- odoo (0)
- web (1)
最新评论
-
骑着蜗牛超F1:
在ie6下报了个stack overflow at line ...
兼容ie6和ie7 的16进制码流在html中显示为图片代码(base64) -
冰之海洋:
好像少了一句代码吧? FloatingFunc.show(th ...
android 一直在最前面的浮动窗口效果 -
yanzhoupuzhang:
连接有问题!
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000) -
whatable:
唉,楼主你都没有搞清楚重量级和轻量级。。。。既然引用了SWT, ...
java swing 内置浏览器打开网页显示flash图表-swt Browser应用 -
yy_owen:
我晕啊,你链接的什么内容额,我要的iis,你链接个视频什么意思 ...
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000)
using System; using System.Collections.Generic; using System.Text; using System.Collections; using System.Drawing; using System.Drawing.Imaging; using System.Runtime.InteropServices; namespace BallotAiying2 ...{ class UnCodebase ...{ public Bitmap bmpobj; public UnCodebase(Bitmap pic) ...{ bmpobj = new Bitmap(pic); //转换为净化工程Format32bppRgb } /**//**//**//// <summary> /// 根据RGB,计算灰度值 /// </summary> /// <param name="posClr">Color值</param> /// <returns>灰度值,整型</returns> private int GetGrayNumColor(System.Drawing.Color posClr) ...{ return (posClr.R * 19595 + posClr.G * 38469 + posClr.B * 7472) >> 16; } /**//**//**//// <summary> /// 灰度转换,逐点方式 /// </summary> public void GrayByPixels() ...{ for (int i = 0; i < bmpobj.Height; i++) ...{ for (int j = 0; j < bmpobj.Width; j++) ...{ int tmpValue = GetGrayNumColor(bmpobj.GetPixel(j, i)); bmpobj.SetPixel(j, i, Color.FromArgb(tmpValue, tmpValue, tmpValue)); } } } /**//**//**//// <summary> /// 去图形边框 /// </summary> /// <param name="borderWidth"></param> public void ClearPicBorder(int borderWidth) ...{ for (int i = 0; i < bmpobj.Height; i++) ...{ for (int j = 0; j < bmpobj.Width; j++) ...{ if (i < borderWidth || j < borderWidth || j > bmpobj.Width - 1 - borderWidth || i > bmpobj.Height - 1 - borderWidth) bmpobj.SetPixel(j, i, Color.FromArgb(255, 255, 255)); } } } /**//**//**//// <summary> /// 灰度转换,逐行方式 /// </summary> public void GrayByLine() ...{ Rectangle rec = new Rectangle(0, 0, bmpobj.Width, bmpobj.Height); BitmapData bmpData = bmpobj.LockBits(rec, ImageLockMode.ReadWrite, bmpobj.PixelFormat);// PixelFormat.Format32bppPArgb); // 净化设备bmpData.PixelFormat = PixelFormat.Format24bppRgb; IntPtr scan0 = bmpData.Scan0; int len = bmpobj.Width * bmpobj.Height; int[] pixels = new int[len]; Marshal.Copy(scan0, pixels, 0, len); //对图片进行处理 int GrayValue = 0; for (int i = 0; i < len; i++) ...{ GrayValue = GetGrayNumColor(Color.FromArgb(pixels[i])); pixels[i] = (byte)(Color.FromArgb(GrayValue, GrayValue, GrayValue)).ToArgb(); //Color转byte } bmpobj.UnlockBits(bmpData); } /**//**//**//// <summary> /// 得到有效图形并调整为可平均分割的大小 /// </summary> /// <param name="dgGrayValue">灰度背景分界值</param> /// <param name="CharsCount">有效字符数</param> /// <returns></returns> public void GetPicValidByValue(int dgGrayValue, int CharsCount) ...{ int posx1 = bmpobj.Width; int posy1 = bmpobj.Height; int posx2 = 0; int posy2 = 0; for (int i = 0; i < bmpobj.Height; i++) //找有效区 ...{ for (int j = 0; j < bmpobj.Width; j++) ...{ int pixelValue = bmpobj.GetPixel(j, i).R; if (pixelValue < dgGrayValue) //根据灰度值 ...{ if (posx1 > j) posx1 = j; if (posy1 > i) posy1 = i; if (posx2 < j) posx2 = j; if (posy2 < i) posy2 = i; }; }; }; // 确保能整除 int Span = CharsCount - (posx2 - posx1 + 1) % CharsCount; //可整除的差额数 if (Span < CharsCount) ...{ int leftSpan = Span / 2; //分配到左边的空列 ,如span为单数,则右边比左边大1 if (posx1 > leftSpan) posx1 = posx1 - leftSpan; if (posx2 + Span - leftSpan < bmpobj.Width) posx2 = posx2 + Span - leftSpan; } //复制新图 Rectangle cloneRect = new Rectangle(posx1, posy1, posx2 - posx1 + 1, posy2 - posy1 + 1); bmpobj = bmpobj.Clone(cloneRect, bmpobj.PixelFormat); } /**//**//**//// <summary> /// 得到有效图形,图形为类变量 /// </summary> /// <param name="dgGrayValue">灰度背景分界值</param> /// <param name="CharsCount">有效字符数</param> /// <returns></returns> public void GetPicValidByValue(int dgGrayValue) ...{ int posx1 = bmpobj.Width; int posy1 = bmpobj.Height; int posx2 = 0; int posy2 = 0; for (int i = 0; i < bmpobj.Height; i++) //找有效区 ...{ for (int j = 0; j < bmpobj.Width; j++) ...{ int pixelValue = bmpobj.GetPixel(j, i).R; if (pixelValue < dgGrayValue) //根据灰度值 ...{ if (posx1 > j) posx1 = j; if (posy1 > i) posy1 = i; if (posx2 < j) posx2 = j; if (posy2 < i) posy2 = i; }; }; }; //复制新图 Rectangle cloneRect = new Rectangle(posx1, posy1, posx2 - posx1 + 1, posy2 - posy1 + 1); bmpobj = bmpobj.Clone(cloneRect, bmpobj.PixelFormat); } /**//**//**//// <summary> /// 得到有效图形,图形由外面传入 /// </summary> /// <param name="dgGrayValue">灰度背景分界值</param> /// <param name="CharsCount">有效字符数</param> /// <returns></returns> public Bitmap GetPicValidByValue(Bitmap singlepic, int dgGrayValue) ...{ int posx1 = singlepic.Width; int posy1 = singlepic.Height; int posx2 = 0; int posy2 = 0; for (int i = 0; i < singlepic.Height; i++) //找有效区 ...{ for (int j = 0; j < singlepic.Width; j++) ...{ int pixelValue = singlepic.GetPixel(j, i).R; if (pixelValue < dgGrayValue) //根据灰度值 ...{ if (posx1 > j) posx1 = j; if (posy1 > i) posy1 = i; if (posx2 < j) posx2 = j; if (posy2 < i) posy2 = i; }; }; }; //复制新图 Rectangle cloneRect = new Rectangle(posx1, posy1, posx2 - posx1 + 1, posy2 - posy1 + 1); return singlepic.Clone(cloneRect, singlepic.PixelFormat); } /**//**//**//// <summary> /// 平均分割图片 /// </summary> /// <param name="RowNum">水平上分割数</param> /// <param name="ColNum">垂直上分割数</param> /// <returns>分割好的图片数组</returns> public Bitmap [] GetSplitPics(int RowNum,int ColNum) ...{ if (RowNum == 0 || ColNum == 0) return null; int singW = bmpobj.Width / RowNum; int singH = bmpobj.Height / ColNum; Bitmap [] PicArray=new Bitmap[RowNum*ColNum]; Rectangle cloneRect; for (int i = 0; i < ColNum; i++) //找有效区 ...{ for (int j = 0; j < RowNum; j++) ...{ cloneRect = new Rectangle(j*singW, i*singH, singW , singH); PicArray[i*RowNum+j]=bmpobj.Clone(cloneRect, bmpobj.PixelFormat);//复制小块图 } } return PicArray; } /**//**//**//// <summary> /// 返回灰度图片的点阵描述字串,1表示灰点,0表示背景 /// </summary> /// <param name="singlepic">灰度图</param> /// <param name="dgGrayValue">背前景灰色界限</param> /// <returns></returns> public string GetSingleBmpCode(Bitmap singlepic, int dgGrayValue) ...{ Color piexl; string code = ""; for (int posy = 0; posy < singlepic.Height; posy++) for (int posx = 0; posx < singlepic.Width; posx++) ...{ piexl = singlepic.GetPixel(posx, posy); if (piexl.R < dgGrayValue) // Color.Black ) code = code + "1"; else code = code + "0"; } return code; } } }
发表评论
-
Java和C#运行命令行并获取返回值 运行bat文件
2015-08-04 10:45 1336Java运行命令行的例子 import java.io.B ... -
c#操作excel后关闭excel.exe的方法
2013-04-10 10:47 928。网上的一种说法,关闭range,关闭worksheet,关 ... -
ddd
2012-05-24 17:30 0CREATE TABLE IF NOT EXISTS `s ... -
C#里 如何序列化与反序列化 hashtable Dictionary及C#连接mysql数据库
2011-08-19 13:24 1373using System.IO; using System. ... -
C# 压缩和解压web空间中的所有文件
2011-08-18 17:20 878using System; using ICSharpC ... -
C# 压缩和解压web空间中的所有代码
2011-08-18 17:17 685using System; using ICSharpCod ... -
自己制作软键盘的几个关键技术解析
2011-05-26 08:40 1083在嵌入式应用和一些安全软件中经常需要不通过物理键盘输入,虽然微 ... -
rtertert
2011-03-22 17:29 0fffffffffffffffffffffffff ... -
C#发送邮件时在正文中插入图片(邮件中直接包含图片)
2011-01-17 16:12 2422#region 发送邮件 ... -
c#生成Excel,可建立sheet,设定sheet名称,调整列宽度
2010-12-17 16:18 2702Excel生成类 ExcelRW.cs usin ... -
关于AutoResetEvent的使用
2010-12-16 17:21 919AutoResetEvent 允许线程通过发信号互相通信。 ... -
C# 取得函数的调用关系
2010-11-25 08:47 1588如何取得C ... -
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000)
2010-11-18 09:47 91334iis7.0官方安装包下载 iis7时微软为新一代web服务 ... -
简易的文件磁盘管理操作2(文件、文件夹的编辑创建删除移动拷贝重命名)
2010-11-15 17:22 912using System; using System.Dat ... -
简易的文件磁盘管理操作1(文件、文件夹的编辑创建删除移动拷贝重命名)
2010-11-15 17:21 983using System; using System.D ... -
Image和byte[]之间的转换
2010-11-11 17:05 1224image到byte[] 用到memoryStream类 ... -
.net framework--程序打包--打包.net运行库
2010-10-17 21:05 1693VS03默认是不能把.net运行库打包到自己要发布 ... -
WinForm最简单两GridView同步滚动
2010-09-10 10:28 1676今天在园子里看到一个人问,如何让两个DataGridView保 ... -
直接用aspx页面生成的html文件(不用建立自己的html模板)
2010-09-10 09:29 1418public static string Rend ... -
facebook代理软件
2010-09-09 16:32 203facebook代理软件
相关推荐
C#验证码识别类源码提供了在.NET框架下实现验证码识别的功能。以下是对这个源码的一些详细解释和相关知识点: 1. **验证码基础**:验证码(CAPTCHA)是“全自动区分计算机和人类的图灵测试”(Completely Automated...
在本主题中,我们关注的是一个简单的C#验证码识别类,尽管它可能无法应对现代复杂的验证码,但对于初学者来说,这是一个很好的起点,可以帮助他们理解图像处理和模式识别的基本概念。 C#是一种面向对象的编程语言,...
总之,这个项目为我们提供了一个深入理解验证码识别和C#编程实践的机会,同时也展示了如何将图像处理和机器学习技术应用于实际问题中。对于想要提升这方面技能的开发者,这是一个很好的学习资源。
总之,"C#验证码识别源码"是一个有价值的教育资源,对于想要深入理解和应用验证码识别技术的C#开发者来说,这是一个宝贵的参考资料。通过学习和实践,不仅可以掌握验证码识别的基本原理,还能加深对C#编程和计算机...
本文实例讲述了C#验证码识别类。分享给大家供大家参考。具体实现方法如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Drawing; using System.Drawing...
总结来说,C#验证码识别基础方法涉及到图像处理、模式识别和深度学习等多个领域的知识。通过学习和理解提供的源码,开发者不仅可以掌握验证码识别的基本原理,还能提升在C#中处理图像和应用机器学习的能力。在实际...
只要你有一定的c#编程基础,只要半天时间仔细阅读这份代码,你就可以从完全不懂验证码识别的菜鸟变成一个能破解一些傻瓜验证码的高手。 希望尊重他人劳动成果,不要上传此代码到别的地方。谢谢!
C#作为一种强大的编程语言,提供了丰富的库和工具来处理图像处理任务,包括验证码识别中的图像去噪。本项目聚焦于通过多种图像噪声处理方法提升验证码识别的准确性。 1. **噪声模型**:在图像处理中,噪声是指图像...
7. **代码结构**:一个完整的C#验证码识别程序通常包括读取图像、图像预处理、字符分割、模板匹配、相似度计算和结果输出等模块。代码会使用如`System.Drawing`库进行图像处理,以及自定义算法进行模板匹配。 总之...
二、C#验证码识别技术 1. 基本步骤 - 图像预处理:包括灰度化、二值化、去噪、边缘检测等,目的是简化图像,突出验证码字符。 - 字符分割:通过连通组件分析,找到各个字符的边界,将其分离。 - 特征提取:提取...
本项目"用C#实现验证码识别"是基于Visual Studio 2005开发的,下面将详细介绍这个领域的相关知识点。 1. **C#语言基础**: C#是一种面向对象的编程语言,由微软公司推出,主要用于.NET框架。在VS2005环境下,C#...
c#识别验证码c#识别验证码c#识别验证码c#识别验证码c#识别验证码c#识别验证码c#识别验证码c#识别验证码
本项目名为"C# 验证码识别程序",旨在帮助开发者理解和实践验证码识别的原理与方法。 验证码的主要目的是防止恶意自动化的机器人或爬虫进行非法操作,例如批量注册、恶意登录等。常见的验证码类型有数字字母组合、...
要使用这个C#验证码识别模块,开发者需要根据`readme.html`中的指导,配置环境,编译源代码,然后将识别模块集成到自己的应用中。通过调用提供的API,可以将验证码识别功能无缝集成到C#应用程序中,从而自动化处理...
C#验证码识别参考算法
总结来说,AForge.NET为C#开发者提供了一套强大且灵活的工具,用于处理图像识别任务,包括验证码识别。通过理解并熟练运用其中的类库,我们可以构建出高效、准确的验证码识别系统。后续的学习和实践,将进一步深入到...
本项目聚焦于C#/.NET平台下的验证码识别,旨在提供高效且准确的解决方案。 验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”的缩写,即全自动区分计算机和人类...