• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

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

发新话题 回复该主题

【图灵识别系列】颜色知识-根据颜色进行识别 [复制链接]

1#
【图灵识别系列】颜色知识

『Fish ISR虹鱼图灵识别』- 免费识别插件下载

【图灵识别系列】识别基础-识别有史以来最简单的验证码
http://bbs.anjian.com/showtopic-606271-1.aspx

【图灵识别系列】图片知识-根据图片进行识别
http://bbs.anjian.com/showtopic-621909-1.aspx
【学习咨询:加群314452472/866837563】

根据颜色进行识别

您所在的用户组无法下载或查看附件



1、颜色基础知识
阳光赋予我们的世界有七种颜色,他们分别是,红橙黄绿青蓝紫,使用三棱透镜进行折射就能看到七色彩虹。
您所在的用户组无法下载或查看附件

光从物体反 射到人的眼睛所引起的一种视觉心理感受。色彩按字面含义上理解可分为色和彩,所谓色是指人对进入眼睛的光并传至大脑时所产生的感觉;彩则指多色的意思,是人对光变化的理解。
自然界的色彩是十分复杂的。我们必须学会用种类有限的颜料调成丰富多样的色彩,为此,我们要了解颜料混合的规律。
绘画色彩中最基本的颜色为三种即红、黄、蓝,称之为原 色。这三种原 色颜色纯 正、鲜明、强烈,而且这三种原色本身是调不出的,但是它们可以调 配出多种色相的色彩。

您所在的用户组无法下载或查看附件

1.1、颜色格式
颜色值的格式有很多种,常见的有RGB,HSL,CMYK等。本文中主要用到RGB和HSL格式的颜色值。
什么是RGB?
RGB颜色空间模型:
RGB颜色空间采用物理三基色表示:红、绿、蓝。
任何一个颜色都是有三基 色混合而成的。但是,人的视觉不适应这种颜色体制。

您所在的用户组无法下载或查看附件

您所在的用户组无法下载或查看附件


什么是HSL?
HSL颜色空间模型:
人的肉 眼看颜色,不可能像机器一样,分析出颜色里含 有多少比重的 红、绿、蓝
肉 眼看颜色,是通过由色 相(Hue,简H),饱和度(Saturation,简S)和色明度(Value,简L)来识别我们看到的是什么颜色。
HSL就是用色 相,饱和度和色明度来形容颜色,所以它适合人的视觉。这个色彩缤纷的圆锥形就是HSL的色彩空间。

您所在的用户组无法下载或查看附件



1.2、颜 色类 型转 换
什么情 况下需要颜 色转 换?有时 候会出现 颜 色随 着时间的变化而变 亮或者变 暗,一般 配 套的方法在这 种情况下查找颜 色就会找不到,那怎么办呢?
我们可以利用颜色的----色相值 来判断。

什么 是 色 相?
比如 红 色,它在白 天 时是 红 色,到了晚 上 时还是一样 是 红 色,它不会因为白天变 亮或者晚 上变 暗而改变 本 色的。(如下图)
您所在的用户组无法下载或查看附件



【RGB转HSL】
按键脚本:
  1. //色调(H)、饱 和度(S)、亮度(L)
  2. //下面这句是把16进制颜色("0000FF")转换分解到10进制(H:H, S:S, L:L)分量中
  3. Call Plugin.Color.ColorToHSL("0000FF", H, S, L)
  4. MsgBox H & " " & S & " " & L
复制代码
2、根据颜色进行识别
你有没有这样的怀疑过,取色判断跟图像识别应该没有任何关系吧?
其实,大家在日常生活中都是有体 验过的,对吧?没有吗?
您所在的用户组无法下载或查看附件


平常生活中最常见的就是“红绿灯”啦(如上图),看到红 灯就会停车,对吧?你们看到的这些根据人眼判断的就是一种识别,只是你们没有意识到而已,是不是?这个就是根据一种颜色来判断,一种最简单的识别方法。

但也有的时候我们无法单纯的只靠一种颜色来识别,因为这样会很容易识别错误,比如:红色的就一定是红 灯吗?此时就需要大范围内的多种颜色一起进行判断。
那么我们可以说,颜色判断就是一种最最基础的图像识别方法。


下面举个例子:
如何利用颜色找到电脑桌面上的“我的电脑”图标?(如下图)
您所在的用户组无法下载或查看附件


首先,打开鱼鱼抓色工具,勾选或按热键【Alt+~】启动取色功能(如下图),
您所在的用户组无法下载或查看附件


然后把鼠标移动到“我的电脑”图标的淡绿 色点上(任意颜 色点都可以)(如下图),
您所在的用户组无法下载或查看附件


最后按下热键【Alt+~】停止取色(如下图)。
您所在的用户组无法下载或查看附件


这样,就完成了“我的电脑”图标颜色的获取(如下图)。
您所在的用户组无法下载或查看附件


下面,我们来使用16进制的“6CF999”这个颜 色在屏幕(0, 0, 1024, 768)区域内进行查找:

【按键精灵脚本】:
新建一个脚本,切换到源文件视图,脚本如下:
  1. Dim FoundX, FoundY
  2. FindColor 0, 0, 1024, 768, "6CF999", FoundX, FoundY
  3. If FoundX > 0 And intY > 0 Then
  4. MessageBox "找到了“我的电脑”图标"
  5. End If
复制代码
【VB代码】:
新建一个标准EXE工程,放一个按钮控件名称为“找色”,代码如下:
  1. Private Sub 找色_Click()
  2. Dim FoundX As Long, FoundY As Long
  3. Call 屏幕区域找色(0, 0, 1024, 768, "6CF999", 0, 0.9, FoundX, FoundY)
  4. MsgBox "找到了“我的电脑”图标"
  5. End Sub
复制代码

封装函数:
  1. Public Sub 屏幕区域找色(左 As Long, 上 As Long, 右 As Long, 下 As Long, 颜色值 As String, 查找方向 As Integer, 相似度 As Single, FoundX As Long, FoundY As Long)
  2. Dim ColVal() As Byte, bi24BitInfo As BitMapInfo
  3. Dim InPutHei As Long, InPutWid As Long
  4. Dim iBitmap As Long, IdSource As Long
  5. Dim i As Long, i2 As Long, i3 As Long
  6. Dim w As Long, wwww As Integer, H As Long, hhhh As Integer
  7. Dim 三维图像数组() As Byte

  8. FoundX = -1
  9. FoundY = -1
  10. On Error GoTo ErrLine
  11. '1.截取屏幕图片信息
  12. Call 获取屏幕像素(左, 上, 右, 下, 三维图像数组)
  13. '2.查找判断
  14. Dim Similar As Long
  15. Similar = 50 - (50 * 相似度) '相似度计算
  16. Dim Bbx As Long, Bby As Long, 宽 As Long, 高 As Long
  17. 宽 = 右 - 左 - 1
  18. 高 = 下 - 上 - 1
  19. If 查找方向 = 0 Then '从左到右.从上到下 顺序
  20. For Bby = 0 To 高
  21. For Bbx = 0 To 宽
  22. If 相似度判断(三维图像数组(0, Bbx, Bby), 三维图像数组(1, Bbx, Bby), 三维图像数组(2, Bbx, Bby), 颜色值, Similar) = True Then
  23. FoundX = Bbx + 左
  24. FoundY = Bby + 上
  25. GoTo ErrLine
  26. End If
  27. Next
  28. Next
  29. ElseIf 查找方向 = 1 Then '从左到右.从下到上 顺序
  30. For Bby = 高 To 0 Step -1
  31. For Bbx = 0 To 宽
  32. If 相似度判断(三维图像数组(Bbx, Bby), 三维图像数组(1, Bbx, Bby), 三维图像数组(2, Bbx, Bby), 颜色值, Similar) = True Then
  33. FoundX = Bbx + 左
  34. FoundY = Bby + 上
  35. GoTo ErrLine
  36. End If
  37. Next
  38. Next
  39. ElseIf 查找方向 = 2 Then '从右到左 从上到下.顺序
  40. For Bby = 0 To 高
  41. For Bbx = 宽 To 0 Step -1
  42. If 相似度判断(三维图像数组(Bbx, Bby), 三维图像数组(1, Bbx, Bby), 三维图像数组(2, Bbx, Bby), 颜色值, Similar) = True Then
  43. FoundX = Bbx + 左
  44. FoundY = Bby + 上
  45. GoTo ErrLine
  46. End If
  47. Next
  48. Next
  49. ElseIf 查找方向 = 3 Then '从右到左 从下到上.顺序
  50. For Bby = 高 To 0 Step -1
  51. For Bbx = 宽 To 0 Step -1
  52. If 相似度判断(三维图像数组(Bbx, Bby), 三维图像数组(1, Bbx, Bby), 三维图像数组(2, Bbx, Bby), 颜色值, Similar) = True Then
  53. FoundX = Bbx + 左
  54. FoundY = Bby + 上
  55. GoTo ErrLine
  56. End If
  57. Next
  58. Next
  59. ElseIf 查找方向 = 4 Then '从上到下 从左到右.顺序
  60. For Bbx = 0 To 宽
  61. For Bby = 0 To 高
  62. If 相似度判断(三维图像数组(Bbx, Bby), 三维图像数组(1, Bbx, Bby), 三维图像数组(2, Bbx, Bby), 颜色值, Similar) = True Then
  63. FoundX = Bbx + 左
  64. FoundY = Bby + 上
  65. GoTo ErrLine
  66. End If
  67. Next
  68. Next
  69. ElseIf 查找方向 = 5 Then '从上到下 从右到左.顺序
  70. For Bbx = 宽 To 0 Step -1
  71. For Bby = 0 To 高
  72. If 相似度判断(三维图像数组(Bbx, Bby), 三维图像数组(1, Bbx, Bby), 三维图像数组(2, Bbx, Bby), 颜色值, Similar) = True Then
  73. FoundX = Bbx + 左
  74. FoundY = Bby + 上
  75. GoTo ErrLine
  76. End If
  77. Next
  78. Next
  79. ElseIf 查找方向 = 6 Then '从下到上 从左到右.顺序
  80. For Bbx = 0 To 宽
  81. For Bby = 高 To 0 Step -1
  82. If 相似度判断(三维图像数组(Bbx, Bby), 三维图像数组(1, Bbx, Bby), 三维图像数组(2, Bbx, Bby), 颜色值, Similar) = True Then
  83. FoundX = Bbx + 左
  84. FoundY = Bby + 上
  85. GoTo ErrLine
  86. End If
  87. Next
  88. Next
  89. ElseIf 查找方向 = 7 Then '从下到上 从右到左.顺序
  90. For Bbx = 宽 To 0 Step -1
  91. For Bby = 高 To 0 Step -1
  92. If 相似度判断(三维图像数组(Bbx, Bby), 三维图像数组(1, Bbx, Bby), 三维图像数组(2, Bbx, Bby), 颜色值, Similar) = True Then
  93. FoundX = Bbx + 左
  94. FoundY = Bby + 上
  95. GoTo ErrLine
  96. End If
  97. Next
  98. Next
  99. End If
  100. ErrLine:
  101. Erase 三维图像数组 '释放内存
  102. End Sub
复制代码
注意:这里调用到的“获取屏幕像素()”函数,将在后面篇章中还会介绍。





【图灵识别系列】识别基础-识别有史以来最简单的验证码
http://bbs.anjian.com/showtopic-606271-1.aspx

【图灵识别系列】图片知识-根据图片进行识别
http://bbs.anjian.com/showtopic-621909-1.aspx

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

    投票:【图灵识别系列】颜色知识-根据颜色进行识别 - 截止时间:2016-05-31

    1. 好评
    4票 / 100.00%
    2. 差评
    0票 / 0.00%
    抱歉,您所在的用户组没有参与投票的权限,请注册或登录!
    最后编辑一只鱼 最后编辑于 2019-06-24 17:26:09
    本主题由 超级版主 瑞祥幽冥狼 于 2023/7/23 18:54:31 执行 审核帖子 操作
    2#

    学习来了 好东西

    新人
    3#

    看看~~~~~~~~~~~~~~~~~~~~~~

    4#

    想要学习,就要不停的回复

    点评

    兄弟工程师01  不然没人气。。。就会沉底。。。  发表于 2016/6/12 9:58:54

    5#


    6#

    非常不错,值得学习

    7#

    看看。学习.

    8#

    学习

    9#

    好评 好评

    QQ:1839877445
    10#


    11#


    12#

    查看什么内容

    13#

    反反复复反反复复反反复复反反复复回家

    14#

    支持下鱼头

    15#

    学习一下

    16#

    看看

    17#

    io识别验证码

    脚本接单联系QQ:2580036500

    手机接单,页游接单,端游接单,不顾一切接单,快用单子砸死我把
    18#

    111111111111144

    19#

    瞅瞅

    [url=http://bbs.houdao.com/f857/]
    [img]http://s1.houdao.com/11884/photo/Mon_1210/46973_
    20#

    学习一下

    发新话题 回复该主题