找回密码
 加入
搜索
查看: 1537|回复: 7

请问一下怎样模糊判断色点。

[复制链接]
发表于 2008-7-31 20:26:31 | 显示全部楼层 |阅读模式
用 PixelGetColor 命令能读取指定坐标的色彩值。
这样可以解决 判断某一点上色值是不是给定值。
如果我想判断 某一点的色值 和给定的色值 之间的相似度,应该用什么命令或着写怎样的函数来解决。
比如说:
怎样判断某色点和给定色值之间是否达到80%相似度?
请高手给点提示帮助。
有详细代码学习下就再好不过了。

谢谢先!

[ 本帖最后由 gaoyuan22 于 2008-8-2 19:06 编辑 ]
 楼主| 发表于 2008-7-31 20:51:51 | 显示全部楼层
 
   $Color2=0xD47700
   While 1
        $Color1="0x"&Hex(PixelGetColor(160,110))
        If Abs($Color1-$Color2)<=$Color2*0.2 Then Exitloop
        sleep(1000)
    WEnd

我想了一下,不知道上面这个简单的处理方法能不能实现,对色值的模糊判断。
请高手指点一下,谢谢!!

[ 本帖最后由 gaoyuan22 于 2008-7-31 21:08 编辑 ]
发表于 2008-7-31 21:49:06 | 显示全部楼层
说个建议,其实楼主可以取颜色值前面几个参数来判断
 楼主| 发表于 2008-7-31 22:06:25 | 显示全部楼层

回复 3# wolfxiong 的帖子

wolfxiong 老兄,
你说的“前面几个参数”我不明白是指的什么?
我是个小白来的,
能说稍微详细一点么?
感谢!
发表于 2008-8-1 08:54:53 | 显示全部楼层
StringLeft(Hex(PixelGetColor(160,110),6),3)
发表于 2008-8-1 13:24:47 | 显示全部楼层
while 1
pixelsearch(1,1,1,1,0xD47700,50);后面50是相似度 0-255 之间
if not @error then
    msgbox(0,"提示","X:1,Y1颜色跟0xD47700相似" )
endif
wend
 楼主| 发表于 2008-8-1 22:35:29 | 显示全部楼层

回复 5# wolfxiong 的帖子

谢谢老兄,我明白了,
对比颜色数值的前几位,就等于模糊对比拉。
这样就不用计算,直接得到的就是大约相似的结果。
谢谢!这是个好办法。
发表于 2009-11-21 22:28:49 | 显示全部楼层
收藏了,好东西。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-6-16 01:45 , Processed in 0.085238 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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