先将问题简单一点:  比如有一张图1.png (先假设它是全屏),  我先从这张图上取一块图2.png,想找到这张2.png在1.png上的屏幕x y坐标值。需要程序对两张图进行自动对比得到值,这方面有什么文章或开源库可以实现吗。谢谢大神指导

解决方案 »

  1.   

    能不能改下功能嘛,通过点击屏幕获取当前点击位置的x y坐标值,如果可以的话,在你的Activity或者Fragment里面重写onTouchEvent方法,自定义监听就可以了
      

  2.   

    OpenCV吧
      

  3.   

    试试图像匹配算法中的灰度匹配或者其他匹配算法,可以使用opencv库
      

  4.   

     是有是图像识别,不知你用过 Total Control脚本 同里面的这个功能很类似q
      

  5.   

    我个人有个想法仅仅供参考:楼主既然已经知道了x坐标了,而且2.png图片的width和height应该也是已经知道的,那么在1.png的x坐标和x+width坐标画2条竖线的话,这2条竖线区域里面一定包含2.png。然后你把2.png的所有像素点累加起来得到一个值,然后用一个循环语句在刚才那个竖条区域按照每个像素+1为步长,计算和png2相同面积的像素和是否和刚才的值是否一致?我没有专门搞过图像处理,不知道这个循环可以做到吗?如果可以做到的话,应该能找到几个相同值的小方块区域,然后你把2png的比如4分之1的区域像素和计算为一个值,用递归在刚才找到的几个小方块里面匹配是否一致,这样用排除法,再找到几个,然后你8分之1原来2.png的像素和,这样一直找到原来位置的那个小方块图片。这样做不知道能不能行?
      

  6.   

    你这个方法同我的现在用的方法差不多,但这个方法问题,是有时图的生成1.png象素会有一定差异,需要相似一种判断才行,具体还没找到。
      

  7.   

    是指2.png和1.png的像素有一些差异吗?
      

  8.   

    没有,我想可能是分辨率的问题,现在问题在于如何快速找到图的位置与里面匹配得到一个相似的结果值。肯定有算法,我看tc提供这种功能一般找个图电脑上2s能匹配,应有公开的算法。还在找中。
      

  9.   

    图片剪裁后默认可能使用JPEG的85质量保存,这个会不会是差异的来源?