大家来找茬是个原理比较简单的游戏,通过比较并标记两幅图片中的不同(指的是相同相对位置上的不同 图片绝对位置通常一张在左一张在右–别笑)来过关. 求解起来比较简单,只需要对应位置RGB值相减(如果是负数则取绝对值)即可发现不同之处,这期通过matlab实现该方法.
function [] = pickpick()
t = java.awt.Toolkit.getDefaultToolkit(); %获取默认工具包
rec = java.awt.Rectangle(t.getScreenSize()); %设置矩形选区(这里全屏截图)
robo = java.awt.Robot; %准备模拟键盘
image = robo.createScreenCapture(rec); %模拟按下截屏键
filehandle = java.io.File('temp.png'); %创建文件柄
javax.imageio.ImageIO.write(image,'png',filehandle); %存入图片
a=imread('temp.png'); %读出图片rgb矩阵
pic_1=a(426:783,437:913,:); %截取图片1的选区(根据个人电脑情况设置)
pic_2=a(426:783,1008:1484,:); %截取图片2的选区
pause(10); %等待十秒(防止作弊)
imshow(uint8(abs(double(pic_1)-double(pic_2))*2)); %汇报结果
end
附两张图吧(btw 没什么技术含量的东西 别用来作弊)
另见matlab中文论坛上有关于此的讨论