资源简介
一个图片识别小工具,原先主要是识别以前公司的软件注册码截图里的数字和字母
(每次要一个一个框复制出来粘贴到注册器里,很麻烦!),
因为注册码出现的字母和数字基本就那几个,所以识别库的范围设定的比较少。
原理和算法在代码中做了详细说明。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace iamge2text
{
public partial class FormLicense : Form
{
/*
* 开发思路:图片灰度处理,二进制,然后和图片中的字二进制库精确对比
*
* 获取字库:通过下面代码中generateLicense(Bitmap singlepic)方法获得,具体操作:
* 从图片中截图出(抠出)一个字符,然后处理得到二维的二进制矩阵,比如下面的字符1对应的二维矩阵
* 00000
* 00100
* 11100
* 00100
* 00100
* 00100
* 00100
* 00100
* 00100
* 11111
* 00000
* 00000
*
* 注意:【相同字符,比如1,不同字体,字号,不同缩放大小的图片,获得到的二位矩阵中0、1排列和数量都是不同的!
* 故按照此方法来写出匹配所有字的话,那字库就大了。。。】
*
*
*/
public FormLicense()
{
InitializeComponent();
buttonGenerate.Enabled = false; //在pictureBox控件中无图片时buttonGenerate按钮不可用
richTextBoxLicense.ReadOnly = true; //并且不可以在文本框中改动输出后的字符
this.AcceptButton = this.buttonOpen; //回车键作用在打开按钮上
}
#region 在用的字符对应黑白颜色二进制码的字库我的工具中只需要下面的几个字符所有不是所有文字都能识别出来
static string stringByte0 = “000000001100010010100001100001100001100001100001010010001100000000000000“;
static char[] char0 = stringByte0.ToCharArray();
static int BinaryWidth0 = 5 BinaryHeight0 = 11; //0的平面像素长宽(从0开始数起)
static string stringByte1 = “000000010011100001000010000100001000010000100111110000000000“;
static char[] char1 = stringByte1.ToCharArray();
static int BinaryWidth1 = 4 BinaryHeight1 = 11; //1的平面像素长宽(从0开始数起)
static string stringByte2 = “000000111010001100010000100010001000100010001111110000000000“;
static char[] char2 = stringByte2.ToCharArray();
static int BinaryWidth2 = 4 BinaryHeight2 = 11; //2的平面像素长宽(从0开始数起)
static string stringByte3 = “000000111010001100010011000001000011000110001011100000000000“;
static char[] char3 = stringByte3.ToCharArray();
static int BinaryWidth3 = 4 BinaryHeight3 = 11; //3的平面像素长宽(从0开始数起)
static string stringByte4 = “000010000010000110001010010010010010100010011111000010000111000000000000“;
static char[] char4 = stringByte4.ToCharArray();
static int BinaryWidth4 = 5 BinaryHeight4 = 11; //4的平面像素长宽(从0开始数起)
static string stringByte5 = “000001111110000100001111010001000011000110001011100000000000“;
static char[] char5 = stringByte5.ToCharArray();
static int BinaryWidth5 = 4 BinaryHeight5 = 11; //5的平面像素长宽(从0开始数起)
static string stringByte6 = “000000001111010001100000101110110001100001100001100001011110000000000000“;
static char[] char6 = stringByte6.ToCharArray();
static int BinaryWidth6 = 5 BinaryHeight6 = 11; //6的平
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 303 2021-01-06 16:08 iamge2text\.git\config
文件 73 2021-01-06 16:08 iamge2text\.git\desc
文件 23 2021-01-06 16:08 iamge2text\.git\HEAD
文件 478 2021-01-06 16:08 iamge2text\.git\hooks\applypatch-msg.sample
文件 896 2021-01-06 16:08 iamge2text\.git\hooks\commit-msg.sample
文件 4655 2021-01-06 16:08 iamge2text\.git\hooks\fsmonitor-watchman.sample
文件 189 2021-01-06 16:08 iamge2text\.git\hooks\post-update.sample
文件 424 2021-01-06 16:08 iamge2text\.git\hooks\pre-applypatch.sample
文件 1643 2021-01-06 16:08 iamge2text\.git\hooks\pre-commit.sample
文件 416 2021-01-06 16:08 iamge2text\.git\hooks\pre-merge-commit.sample
文件 1374 2021-01-06 16:08 iamge2text\.git\hooks\pre-push.sample
文件 4898 2021-01-06 16:08 iamge2text\.git\hooks\pre-reba
文件 544 2021-01-06 16:08 iamge2text\.git\hooks\pre-receive.sample
文件 1492 2021-01-06 16:08 iamge2text\.git\hooks\prepare-commit-msg.sample
文件 2783 2021-01-06 16:08 iamge2text\.git\hooks\push-to-checkout.sample
文件 3650 2021-01-06 16:08 iamge2text\.git\hooks\update.sample
文件 3430 2021-01-06 16:08 iamge2text\.git\index
文件 240 2021-01-06 16:08 iamge2text\.git\info\exclude
文件 191 2021-01-06 16:08 iamge2text\.git\logs\HEAD
文件 191 2021-01-06 16:08 iamge2text\.git\logs\refs\heads\master
文件 191 2021-01-06 16:08 iamge2text\.git\logs\refs\remotes\origin\HEAD
文件 2164 2021-01-06 16:08 iamge2text\.git\ob
文件 42839 2021-01-06 16:08 iamge2text\.git\ob
文件 114 2021-01-06 16:08 iamge2text\.git\packed-refs
文件 41 2021-01-06 16:08 iamge2text\.git\refs\heads\master
文件 32 2021-01-06 16:08 iamge2text\.git\refs\remotes\origin\HEAD
文件 25600 2021-01-06 16:08 iamge2text\Demo\iamge2text.exe
文件 94902 2021-01-06 16:08 iamge2text\Demo\测试注册码图片(图片不能缩放识别的字母范围已经定死).bmp
文件 418 2021-01-06 16:08 iamge2text\README.txt
文件 25600 2021-01-06 16:08 iamge2text\源码\iamge2text\iamge2text\bin\Debug\iamge2text.exe
............此处省略51个文件信息
- 上一篇:自定义水晶按钮控件59079
- 下一篇:C# 五子棋(winform源码)
相关资源
- 臻识车牌识别
- c#联合halcon颜色识别
- visual C#使用指纹识别器实现员工考勤
- 上位机语音识别控制PLC源码(附西门
- C# asp.net验证码
- c#车牌识别系统附30张测试图片
- C#车牌识别系统.rar
- 身份证号码识别工具
- 验证码生成组件支持干扰点和干扰线
- 精伦台式具名身份证阅读器机具C#源代
- c# 扑克牌识别
- C#调用OneNote进行OCR识别 源码
- C#中Tesseract-OCR的使用,可识别中英日
- C#照片识别人脸截取成身份证比例的证
- 身份证前6位识别--省份、城市、地区
- C#验证码绘制源码
- C#版二代身份证读卡器阅读程序
- C#+EmguCV车牌识别
- 指针仪表识别halcon代码
- 基于MVC的简单验证码验证不区分大小
- 亦思验证码破解版 + C# VB.NET VB调用源
- C#车牌识别系统车牌的定位分割加识别
- 表情识别--JAFFE数据集
- C#调用百度语音识别
- c# 人脸识别程序
- C#车牌识别抓拍DEMO
- C#海康SDK车辆识别手动抓拍实现VS201
- C#表情识别源码
- C# OCR识别数字.rar
- C# 语音识别
评论
共有 条评论