求数字识别的源代码,回复之前麻烦先测试一下

月光 2013-10-23 12:21:39


数字的格式都在图里了,以前没有做过类似的开发,所以只好直接求源码了。
...全文
436 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
---____--- 2013-11-02
  • 打赏
  • 举报
回复
OGR?识别? 好像有专门的库
sololie 2013-11-02
  • 打赏
  • 举报
回复
真是D3么? 如果是的话,还做这个干什么,D3的拍卖场系统明年2月还是3月就要取消关闭了,这个几个月之前暴雪就公告过了。
虎子8 2013-11-02
  • 打赏
  • 举报
回复
难道这不是D3吗 源码真是不想写 你没必要做成图片识别,这样难度很高,除非有现成ocr 你可以做的是文字抓取,就像金山词霸屏幕取词,就是拦截几个api TextOut,TextOutA 等等 有很多例子可参考的。
sololie 2013-11-01
  • 打赏
  • 举报
回复
中文ID,不明觉厉
lhy 2013-11-01
  • 打赏
  • 举报
回复
这个自己随便写个都成吧,而且你都是中文ID了,这点小问题还搞不定。
sololie 2013-11-01
  • 打赏
  • 举报
回复
图片咋一看以为是暗黑3的拍卖所
xiyixiaowm50 2013-10-30
  • 打赏
  • 举报
回复
这几天我也在弄这个东西,只是游戏不一样。我的思路是这样的: 1.把图像二值化,这个过程中的难点在于找阀值; 2.对图像进行纵横投影,确定字符所在的区域以及字符的宽、高度以及字符数量,这个过程为后续的字符切割做准备; 3.对切割以后的字符进行归一化,不过如果只想取一个区域的字符,不想应用范围更广泛的话,这一步可以省略,比如有些区域的数字高一些,宽一些(虽然字体一样),有些区域的数字小一些,窄一些; 4.取字符的特征码,把二值化以后的黑底、白字的部分分别用0和1表示成字符串; 5.对已经存在的字符串模板进行匹配,取相似度,相似度最高的就判断为相同; 6.输出; 以上这些不懂的话可以看一本书,书名好像叫“DELPHI 图像......”啥的,具体忘记了,不过网上很好找,有PDF的版本。
  • 打赏
  • 举报
回复
6楼说的也对,二值化以后取反,然后做ocr也可以得到数字,更简单,毕竟你这个是打印体。
  • 打赏
  • 举报
回复
你这个太简单了。只是不太习惯这样的求教方式,还得先测试下……你付费么?唉。 给你个思路吧,我就不写代码了,麻烦。 首先取样,把所有从0-9的数字,以及“,”都取样了,然后开始分离数字,先做二值化处理,只留黑白字体,然后开始分离数字,按照行颜色全0取出y坐标,按照取出的行里的列全0取出x坐标,然后比对,取相似度最高的即可。当然,你这个清晰度可以比对出100%
勿为 2013-10-28
  • 打赏
  • 举报
回复
我原来玩热血江湖时做过类似从屏幕上读红兰等的功能,我把思路告诉你,首先数字的坐标要是固定的,这样就简单多了。先将十个数字的第一行像素建成特征码,黑色用0表示,黄色用1表示,如果第一行像素特征码相同,再建第二行的特征码,只到能够区分所有数字为止。
如果你这个软件不是经常升级的话,直接用内存注入还方便些。
pathletboy 2013-10-24
  • 打赏
  • 举报
回复
D3拍卖都快关了
bwsoft1 2013-10-24
  • 打赏
  • 举报
回复
这种背景很深的,得把背景去掉才行,直接ocr,啥也得不到
Alex-16888 2013-10-24
  • 打赏
  • 举报
回复
去百度找找验证码识别源码,网上有简单的验证码识别,你要识别的这些数字没有过变形和干扰,可以用到那些代码,做的改动不大
月光 2013-10-23
  • 打赏
  • 举报
回复
找了一篇类似的文章 1,不用说肯定是findWindow 找斗地主窗口句柄,然后 insertfrm := TFrmInsert.CreateParented(DDZhwd);//可以实现把窗口插入到游 戏面板中了。。。 2, GetWindowRect(DDZhwd, DDZr);//获得斗地主场景图片 //开始获取QQ斗地主界面图片 DDZWorkbitmap := TBitmap.Create; //创建内存存储斗地主界面图片,用来分析象素点 DDZhdc := GetWindowDC(DDZhwd); //获取界面设备场景 CanvasCource := TCanvas.Create; CanvasCource.Handle := DDZhdc; DDZWorkbitmap.Width := DDZr.Right - DDZr.Left; //斗地主界面距离 DDZWorkbitmap.Height := DDZr.Bottom - DDZr.Top; DDZWorkbitmap.Canvas.CopyRect(DDZWorkbitmap.Canvas.ClipRect, CanvasCource, DDZR); //copy斗地主界面场景3,以上是关键代码,接下来就是捕捉象素点了,大家如果仔细察看下扑克牌会发现,扑克牌的边框都是clblack的,大概明白了吧,然后是 如何识别是什么牌,如果仔细研究下就会发现不同的牌肯定会有一个象素点是区别于其他牌的。。。因此就可以捕捉到了牌就可以实现记牌的功能了。。。 象素点可以用 DDZWorkbitmap.Canvas.Pixels[210, 595] 获取。。。具体看帮助
simonhehe 2013-10-23
  • 打赏
  • 举报
回复
是要通过图片识别吗? 这个源码现成的应该不好找, 楼主可以找找有没有插件或开源项目能实现的. 我们公司有一组同事在做扫描件的文字识别工作, 他们是找了个开源项目然后再加工, 开发周期比较长, lz需要多费心思了.
月光 2013-10-23
  • 打赏
  • 举报
回复
分不够的话还可以再加,最近几个问题都得不到有效的答复,实在太伤心了 只是判断某个位置有没有数字,应该不难吧
月光 2013-10-23
  • 打赏
  • 举报
回复
只需要判断金额在1亿以下就行了,就是100,000,000 简单来说只要判断某个固定的位置(亿位)是否为空就行

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧