• 新浪微博:
  • 微信 :
按键精灵电脑版
立即下载

软件版本:2014.05
软件大小:21.6M
更新时间:07-04

按键精灵安卓版
立即下载

软件版本:3.3.1
软件大小:62.5M
更新时间:5-24

按键精灵iOS版
立即下载

软件版本:1.3.5
软件大小:29.2M
更新时间:06-14

最新企业版UiBot
立即下载

软件版本:2.5
软件大小:181M
更新时间:05-20

快捷导航

登录 后使用快捷导航
没有帐号? 注册

登录 注册
返回列表 12345678» / 52
发新话题 回复该主题

[技术交流] 【院刊】-【201409期】如何识别渐变色或半透明的文字 [复制链接]

1#

如何识别渐变色或半透明的文字




游戏中的文字如果是单色字,利用大漠工具做一个字库来找字,可以很容易的识别到。但是,如果这个字是渐变色的呢?或者说是有些透明的字体,字体颜色会随着背景色进行轻微变化的?





上图中的465的字样就是渐变颜色




我们一起来了解下,大漠工具是如何通过偏色来找渐变色文字的。

首先,我们了解下大漠找字的大致步骤:
1、抓取文字图片,抓取文字里的一个颜色点,设置偏色(如果是单色字则不需设置偏色)
2、偏色设置好之后,我们得到了清晰的二值化文字,这时候提取文字点阵,做成字库。
3、加载字库,开始找字。

然后,我们了解下大漠工具要如何使用:


大漠工具的使用







1、点击抓图,抓取我们需要的文字图片。
2、设置文字颜色和偏色。

*RGB颜色值是由R(红)、G(绿)、B(蓝)三种颜色组成的。每种颜色由2位十六进制值来表示。
例如:“FFFFFF” 白色,FF(红)|FF(绿)|FF (蓝),换算成十进制就是: 255,255,255 当RGB三种颜色都是最大值255的时候,就是白色。

*偏色就是设置一个颜色的容差范围,偏色的颜色值是由R(红)、G(绿)、B(蓝)三种颜色组成的。每种颜色由2位十六进制值来表示。
例如,我想找一个颜色,想找与它相近的颜色,颜色容差范围30个颜色值
首先,我们要把容差范围值转换为十六进制的。

30的十六进制是1e,那我们偏色值就填写 “1e1e1e”,RGB三种颜色各偏色1e



怎样才能知道它的偏色值是多少呢?



例如:我们获取的文字图片里,最淡的颜色点A的值是1,最深的颜色点B的值是10,我们当前抓取了一个颜色点C的值是2,那我们就要在文字图片里找比点c深的值,直到找到文字图片里最深的那个颜色点B,点B与点c的差值就是点c的偏色。

这样找好麻烦有没有,找到猴年马月啊~~

所以,我们要善用工具,这里介绍一款十分好用的偏色计算器工具——大漠偏色计算器。 刚刚好和大漠工具配成一套使用。


拓展知识:为什么说配成一套使用的时候,小编用了窃喜的语气呢? 是这样的,并不是所有的偏色计算工具都是RGB格式的,例如大兵的偏色计算工具就是BGR的,如果是BGR格式获取到的偏色:041e06, 我们要把R和B的位置调换变成RGB格式,就是:061e04,虽然只是调换个位置,但是有的时候忘记了就麻烦了。


大漠偏色计算器的使用






1、我们把抓到的图打开,点击文字取一个颜色点
2、点击“根据颜色列表第一个和RGB颜色偏差添加颜色到颜色列表”,点击之后大漠偏色计算器会把颜色相差的点都列出来。
3、点击“计算最佳偏色并复制” ,点击之后大漠偏色计算器会找出颜色列表中最深的颜色,并且和第一个我们获取到的点进行差值计算。
4、点击“生成色彩范围并复制到剪贴板”,会获取到偏色信息:A6691A-474D12
注意:获取到的偏色,我们可以适当的加大一点点,防止个别电脑颜色显示差异导致无法识别到。



生成字库:




首先,我们把用大漠偏色计算器获取到的值先填到大漠工具里,A6691A-474D12,RGB=A6691A 偏色=474D12

然后,我们开始做字库:



1、抓取点阵。
2、输入定义文字。(这里的定义文字可以随意设置,例如,刚刚例子里提取的465点阵,我们可以命名为678,这个是不影响的,这里的定义文字只是为了区分字库里的点阵。)
3、回车,把点阵加入到字库里。
字库添加完成。

字库做好之后,我们把字库文件放到方便调用的地方,如果制作出的脚本是要提供给其他人使用,请把字库文件添加到按键精灵附件中。




偏色找到了,字库也做好了,我们现在来实现下找字,找到之后点击它。

代码:
  1. Call register()
  2. PutAttachment "G:\test", "dm_soft.txt" //释放字库文件到G:\test文件夹里
  3. dm_ret = dm.SetDict(0, "G:\test\dm_soft.txt") //\加载字库文件
  4. dm_ret = dm.FindStr(0,0,2000,2000,"465","A6691A-474D12",1.0,intX,intY) //找字 。 参数里的"465",填写大漠综合工具中做字库时的 定义文字的内容
  5. If intX >= 0 and intY >= 0 Then
  6. MessageBox "找到了,位置:"&intX&","&intY
  7. End If
  8. Sub register() //注册大漠
  9. Set ws = createobject("Wscript.Shell")
  10. ws.run "regsvr32 atl.dll /s"
  11. Set ws = nothing
  12. PutAttachment "G:\test", "dm.dll"
  13. PutAttachment ".\Plugin" ,"RegDll.dll"
  14. call Plugin.RegDll.Reg ( "G:\test\dm.dll")
  15. Set dm = createobject("dm.dmsoft")
  16. ver = dm.ver()
  17. If len(ver) = 0 Then
  18. MessageBox "插件注册失败,检查系统是否禁用了vbs脚本权限"
  19. EndScript
  20. End If
  21. End Sub
复制代码

运行结果:



略带透明的字体,设置偏色的方式也是和渐变色一样的。如果字体的透明度比较高,偏色无法设置的,建议可以找找游戏上其他特征,例如,字的位置是不是变化的,字的附近有没有其它的固定的东西。可以借助这些特征去找字。

大漠偏色计算器工具、大漠综合工具下载:

大漠工具.rar (, 下载次数:2794)


对于偏色还有疑惑的童鞋,欢迎跟帖讨论~~~

本文由按键学院提供技术支持


按键学院实战班(入驻最终幻想)火热招生


按键学院基础视频抢先观看


    已有9评分我要评分查看所有评分

    2#

    感謝分享...........................

    3#

    学习下找字偏色的问题

    4#

    好帖,力顶

    5#


    6#


    7#

    回复 1楼果果。。的帖子

    这个技巧非常的好。哈哈

    8#


    9#

    谢谢分享~!

    10#

    学习~~~~~~~~~~~~~~~~~~~~~~

    11#

    打算的萨达撒

    12#


    13#

    而非扔有 朋的夺枯夺标无可奈何花落去顶替

    14#

    6666666666666666666666

    15#

    我就是来学习大神。楼主加油~~~

    16#

    看看

    17#

    感謝分享 正好需要

    18#

    非常不错,值得支持。继续加油按键~~~

    19#

    回复了也不给看。。。是不是真的。

    20#

    kankan~~~~~~~~~~~~~~`

    发新话题 回复该主题