用java确定弹出窗口范围-图片比较

简介: 这两天受委托写个确定弹出窗口范围的小程序,总结下思路。 最开始是想直接调MFC库,但是马上被质疑了,java之类的程序很可能只是内部开启窗口,无法用MFC抓取,以及到linux环境的话……你在玩人么?! 然后同事建议抓点,反正环境相对固定,抓点出来,在程序里直接调用即可。但我觉得太麻烦了。。。窗口越多点越多,最后这写个程序,抓点时间占一半实在太傻了。 最后做出决定就是用图片比较来

这两天受委托写个确定弹出窗口范围的小程序,总结下思路。
最开始是想直接调MFC库,但是马上被质疑了,java之类的程序很可能只是内部开启窗口,无法用MFC抓取,以及到linux环境的话……你在玩人么?!
然后同事建议抓点,反正环境相对固定,抓点出来,在程序里直接调用即可。但我觉得太麻烦了。。。窗口越多点越多,最后这写个程序,抓点时间占一半实在太傻了。
最后做出决定就是用图片比较来实现。

简单来说就是 弹出前抓个全屏图,弹出后再抓个 通过图片像素对比来实现判断。
好吧 这方法的确很弱,费时费力还可能误报,好处是不用抓点自动判定。
具体方法是
先用robot把图抓下来,转化为bufferedimage,再调用getRGB()方法变成RGB数组,通过比较RGB值来判定。
考虑到比较速度,我选择的是对角线比较。
从对角线上选点,直到找到不同点。
为了确定是真的不同点,还取了+10的另一点做参考比较。
从此点向原点扫描以判断边界点,并定位左上角锚点。
同样再找到右下锚点(加10变减10),就完成范围判断了。
这里主要的问题是
1 这个+10点如果跟背景点一致…… 好吧 我失败了。
2 还是慢
不知道有没有什么好方法可以解决。
回头抓到我那学图像处理的妹妹问问。

相关文章
|
4月前
|
存储 安全 Java
基于Java爬取微博数据(四) 获取 图片 or 视频
【5月更文挑战第14天】基于Java爬取微博数据(四) 图片 or 视频 下载
|
4月前
|
前端开发 Java
java通过commons-fileupload实现多张图片的上传(jsp页面)
java通过commons-fileupload实现多张图片的上传(jsp页面)
|
3月前
|
数据可视化 Java
Java语言使用DL4J实现图片分类
【6月更文挑战第14天】Java语言使用DL4J实现图片分类
78 3
|
28天前
|
Java
Java系列之 重命名文件/图片,renameTo() 方法的使用
这篇文章介绍了Java中File类的renameTo()方法,包括其使用方式、参数、返回值以及一些使用时的注意事项,并通过示例代码演示了如何使用该方法来重命名文件。
Java系列之 重命名文件/图片,renameTo() 方法的使用
|
16天前
|
数据采集 存储 前端开发
Java爬虫开发:Jsoup库在图片URL提取中的实战应用
Java爬虫开发:Jsoup库在图片URL提取中的实战应用
|
1月前
|
存储 安全 Java
"Java编码魔法:揭秘图片与文件的Base64神秘转换术,让数据在指尖跳跃!"
【8月更文挑战第16天】Base64编码在Java开发中常用于将二进制数据如图片转换为ASCII字符串以便传输。编码使用64个字符及等号填充,每3字节数据编码为4个字符。Java利用`java.util.Base64`类实现此功能:读取图片或文件为字节数组后进行编码。解码时将Base64字符串还原为字节数组并写入文件。需注意编码效率降低、不提供安全性及特殊字符兼容性等问题。掌握这些技巧有助于解决Web开发中的数据传输需求。
52 4
|
1月前
|
Java
Java 图片、文件 Base64 互转
Java 图片、文件 Base64 互转
28 0
|
1月前
|
Java
JAVA PDF 截取N页,生成新文件,转图片,多个PDF 合并
JAVA PDF 截取N页,生成新文件,转图片,多个PDF 合并
66 0
|
2月前
|
算法 Java
详解 Java 限流接口实现问题之理解固定窗口限流算法的窗口边界问题如何解决
详解 Java 限流接口实现问题之理解固定窗口限流算法的窗口边界问题如何解决
|
2月前
|
算法 Java
详解 Java 限流接口实现问题之固定窗口限流算法的实现原理是什么
详解 Java 限流接口实现问题之固定窗口限流算法的实现原理是什么