TC论坛

 找回密码
 立即注册
查看: 27670|回复: 38

[教程] TC5.0特点介绍(5)--TC文字识别之实战

  [复制链接]
  • TA的每日心情

    2017-3-11 15:16
  • 签到天数: 7 天

    [LV.3]循序渐进

    发表于 2015-3-7 17:32:15 | 显示全部楼层 |阅读模式

    马上加入TC

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    TC5.0特点介绍(5)--TC文字识别之实战


    TC5.0自带文字识别功能实战
    我们在开发自动化应用当中,文字识别功能应用是非常广泛的,在TC5.0以前的版本中,文字识别功能我们只能依赖外部的插件,而且市面上大部分工具做文字识别都是依赖于外部插件,TC5.0我们把文字识别功能做为了我们的一个基础功能接下来我将为大家介绍在TC5.0版本中,如何使用文字识别功能,文字识别我们分两部分讲解,上期我们已经讲过如何制作字库,今天我们来一起学习一下字库制作成功以后,在TC5.0中如何实际应用.


    首先 我们当然要做的是字库,字库制作请大家 点击TC5.0特点介绍(4)--TC文字识别之字库的制作
    window:
    1、设置字库,字库设置是全局的,与所有的识字,找字功能息息相关.
    1. setdict(path,index)  
    2. 功能说明:设置字库,最多设置20个(0-19),必须设置了字库才能识别文字(android平台为字库编码必须utf-8,否则中文会出现乱码)
    3. file:字库文件路径,支持 rc: 路径
    4. index:字库的序号,取值为0-19,目前最多支持20个字库
    5. 返回值:成功返回真,失败返回假

    复制代码

    2、接下来我们就可以直接实战应用了,先看前台部分,详细介绍在代码里面注释
    1. //开始按钮_点击操作
    2. 功能 开始_点击()
    3.     var ret = setdict("rc:tc_dict.txt",0) //设置新的字库会覆盖之前的老字库,使用多字库的时候记录使用不同的索引,然后使用usedict 函数切换字库
    4.     traceprint("设置字库:"&ret)
    5. 结束

    6. //退出按钮_点击操作
    7. 功能 退出_点击()
    8.     var ret = ocr(0,0,300,50,"000000-000000",1.0) //识字功能,这是个我们应用中最常用的,详细介绍大家可以参考文档
    9.     traceprint("前台 "&ret)
    10. 结束

    11. 功能 按钮0_点击()
    12.     //这里添加你要执行的代码
    13.     var x,y
    14.     var ret = findtext(0,0,300,300,"文|字","000000-000000",0.9,x,y)//在找字功能,这个相信大家在游戏脚本过程中使用过非常多的
    15.     traceprint("前台 ret:"&ret & " x,"& x & " y,"& y)
    16. 结束

    17. 功能 按钮1_点击()
    18.     //这里添加你要执行的代码
    19.     //colorsethwnd 函数是我们在5.0比较具有特色的一个函数
    20.     //当我们的前台识别找字操作,在使用此函数设置成功之后,所有的前台操作坐标都是转换成以窗口句柄对应的窗口客户区左上角为0,0
    21.     colorsethwnd(editgettext("编辑框0"))
    22.     traceprint("设置图色窗口 "&editgettext("编辑框0"))
    23. 结束

    24. 功能 文字识别_初始化()
    25.     //这里添加你要执行的代码
    26.     editsettext("编辑框0",windowgetmyhwnd())
    27. 结束
    复制代码

    1.png

    2、接下来我们开始讲解窗口文字识别如何实战
    1. 功能 按钮2_点击()
    2.     //这里添加你要执行的代码
    3.     var ret = windowocr(editgettext("编辑框0"),0,0,300,50,"000000-000000",1.0) //窗口识字属于我们常说的后台操作,但是由于后台模式的多样化,对window标准窗口的支持是比较完善的
    4.     traceprint("窗口 "&ret)
    5. 结束

    6. 功能 按钮3_点击()
    7.     //这里添加你要执行的代码
    8.     var x,y
    9.     var ret = windowfindtext(editgettext("编辑框0"),0,0,300,300,"文|字","000000-000000",0.9,x,y)//窗口找字属于我们常说的后台操作,但是由于后台模式的多样化,对window标准窗口的支持是比较完善的
    10.     traceprint("窗口 ret:"&ret & " x,"& x & " y,"& y)
    11. 结束
    复制代码
    2.png

    TC5.0文字识别功能做为基础功能使用,比较以前有诸多方便,节省了大量的代码

    android:
    android平台中没有后台的概念,比较简单我们直接看代码

    1. function 识字1()
    2.     var ret = ocr(0,0,500,2000,"323232-303030",1.0)
    3.     traceprint("识别 "&ret)
    4. end

    5. function 找字1()
    6.     var x,y
    7.     var ret = findtext(0,0,500,2000,"b","323232-303030",1.0,x,y)
    8.     traceprint("找字 ret:"&ret & " x,"& x & " y,"& y)
    9. end

    10. function 设置字库() //设置字库的时候一定要记得 字库文件编码要是utf-8
    11.     setdict(getrcpath("rc:tc_dict.txt"),0)
    12. end
    复制代码
    3.png
    效果图

    在android平台中,大家要注意一个问题,字体不能太大,如果太大的情况出 有机率出会误找的情况

    TC5.0 文字识别的基础教程就在这里给大家讲完了,测试项目会以上传下方附件中,同时希望大家能按照步骤练习一下,有不懂的可以在后面回帖说明.
    老规矩,给一个TC5.0的下载链接:
    http://www.tyuyan.net/index/download

    android文字识别.rar (4.55 KB, 下载次数: 4632)
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2016-4-20 17:55
  • 签到天数: 37 天

    [LV.5]凌波微步

    发表于 2015-3-7 18:10:46 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2018-4-14 16:26
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-3-7 19:01:21 来自手机 | 显示全部楼层
    好冷清,先占楼
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    前天 05:49
  • 签到天数: 1134 天

    [LV.10]进化论

    发表于 2015-3-7 19:32:36 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-5-16 10:01
  • 签到天数: 3 天

    [LV.2]步步惊心

    发表于 2015-3-7 22:01:43 | 显示全部楼层
    果断支持一个,应该加回复可见
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2015-8-12 22:52
  • 签到天数: 14 天

    [LV.3]循序渐进

    发表于 2015-3-8 01:03:23 | 显示全部楼层
    支持清风~
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-4-8 10:02
  • 签到天数: 243 天

    [LV.8]X-man

    发表于 2015-3-8 08:59:45 | 显示全部楼层
    支持支持感谢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-7-9 11:25
  • 签到天数: 154 天

    [LV.7]在水一方

    发表于 2015-3-11 16:15:24 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-3-14 11:51
  • 签到天数: 57 天

    [LV.5]凌波微步

    发表于 2015-3-12 14:43:51 | 显示全部楼层
    老大 你的文字识别  增加一个 按键新出的 文字识别 不要字库的 直接  字体 字号 就能找字了
    当然这个也有局限  不支持多色找字
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017-3-11 15:16
  • 签到天数: 7 天

    [LV.3]循序渐进

     楼主| 发表于 2015-3-12 15:20:48 | 显示全部楼层
    kelejiabing101 发表于 2015-3-12 14:43
    老大 你的文字识别  增加一个 按键新出的 文字识别 不要字库的 直接  字体 字号 就能找字了
    当然这个也有局 ...

    这个同样也可以使用系统字库 也可以使用非系统字库不是更加灵活
    回复 支持 反对

    使用道具 举报

    *滑动验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    关闭

    小黑屋|TC论坛 ( 苏ICP备10231425号-2

    GMT+8, 2018-6-23 13:55 , Processed in 0.232401 second(s), 28 queries .

    Powered by 湖南长沙异次元网络科技有限公司

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表