C#识别出图片里的数字和字母

2021-07-20 19:38

阅读:532

一个图片识别小工具,原先主要是识别以前公司的软件注册码截图里的数字和字母(每次要一个一个框复制出来粘贴到注册器里,很麻烦!),因为注册码出现的字母和数字基本就那几个,所以识别库的范围设定的比较少。

原理和算法在代码中做了详细说明,功能存在很大的局限性,但我的想法是把这个思路和实现的办法共享出来。

源码下载地址:

技术分享图片

/*
 * 开发思路:图片灰度处理,二进制,然后和图片中的字二进制库精确对比
 *
 * 获取字库:通过下面代码中generateLicense(Bitmap singlepic)方法获得,具体操作:
 *   从图片中截图出(抠出)一个字符,然后处理得到二维的二进制矩阵,比如下面的字符1对应的二维矩阵
 *   00000
 *   00100
 *   11100
 *   00100
 *   00100
 *   00100
 *   00100
 *   00100
 *   00100
 *   11111
 *   00000
 *   00000
 *
 * 注意:【相同字符,比如1,不同字体,字号,不同缩放大小的图片,获得到的二位矩阵中0、1排列和数量都是不同的!
 *     故按照此方法来写出匹配所有字的话,那字库就大了。。。】
 *
 *
*/
/// 
/// 提取出该图片内的字符(将进过灰度处理的图片转化为0、1的二位数组)
/// 
/// 图片来源
public void generateLicense(Bitmap singlepic)
{
  try
  {
    char[,] charArray = new char[singlepic.Height, singlepic.Width];  //定义个chai型的二维数组记录每个像素上0/1的值,形成一个矩形
    int imageWidth = 0;  //记录图片的像素宽度
    int imageHeight = 0;  //记录图片的像素高度
    int dgGrayValue = 128;  //灰度值
    Color piexl;
    //string code = "";  //存储每个像素的0/1
    for (int posy = 0; posy 

技术分享图片

以上所述就是本文的全部内容了,希望大家能够喜欢。

除声明外,跑步客文章均为原创,转载请以链接形式标明本文地址
  C#识别出图片里的数字和字母

本文地址:  http://www.paobuke.com/develop/c-develop/pbk23097.html




相关内容

技术分享图片
详谈C# 图片与byte[]之间以及byte[]与string之间的转换
技术分享图片
c# 委托详解
技术分享图片
C#使用Aspose.Cells控件读取Excel
技术分享图片
C#数据结构之堆栈(Stack)实例详解

技术分享图片
C#多线程编程中的锁系统基本用法
技术分享图片
C#实现农历日历的方法
技术分享图片
C#采用Winform实现类似Android的Listener
技术分享图片
C#中struct和class的区别详解


评论


亲,登录后才可以留言!