本帖最后由 lzwml 于 2016-3-1 15:34 编辑
多年前做的玩具,顾名思义是找茬游戏的作弊工具,说白了就是截图然后比较不同区域并显示而已。
最初版本在CSDN上传,该版本内容简单,注释详细都能看懂的,
也是因为最终版本代码写得太乱,不便于阅读,之前的代码短、便于对最终代码的理解提供帮助
《夏洛克之眼(美女来找茬作弊器)vc源代码》
http://download.csdn.net/detail/lzwml/2929246
《夏洛克之眼V3.0(美女来找茬作弊器)vc源代码》
http://download.csdn.net/detail/lzwml/3027237
本想用该作品忽悠老师混过毕设,老师本以为我用了图像识别算法,觉得不错,可我把原理说清楚后老师觉得太简单,说出来评委都能明白,要弄些高大上的东西,甭管自己懂不懂先把评委忽悠住。怕我扯不出1万字的论文,并且建议我将文件存储格式从bmp改成jpg,介绍jpg压缩算法又可以长篇大论一番。
以上是我对教育的一点吐槽。
于是我对作品添加些图像识别的算法,以及自动化处理。
1. 截图
2. 比较差异
3. 图像增强
4. 轮廓识别(识别矩形)
5. 计算出矩形的中心点
6. 模拟鼠标按键输入
新的作品由于赶得急忙也就一周多时间,代码注释不太详细,理解上请根据论文描述理解。
代码逻辑也不太严谨,
存在强退缺陷,作为一次性的演示版我之前也没去处理他过。
文章涉及内容包括:
windows截图
Photoshop先计算两幅图片相对窗口左上角的偏移,获取窗口句柄,截图1.bmp,2.bmp,比较差异生成3.bmp。
相比于那些从摄像头识别车牌的软件,我避免了图像旋转,车牌(目标)位置识别,去噪等算法。
图片缩放
采用windows的自带函数,详细的算法建议看opencv的帮助文档,其中有一讲几种图像缩放算法,并有解释图像缩放点的不同造成的失真。
图像增强(不能算是真正的去噪)
自己写的简陋算法,只适用于矩形
边缘检测(我对本工程最喜欢的一部分)
采用Sobel算子,网上看到的数学公式几乎看不懂,其实代码也就几个for循环
灰度计算
实际上本工程不太需要计算灰度,为了多点素材顺便做了类似Photoshop的色彩范围提取功能,就是那个按住alt+鼠标左键并调整容差的功能。
轮廓追踪
参考别人论文,就该软件不会遇到太复杂的轮廓,通常都是矩形,所以也做了简化。
图像位置识别
讨论轮廓追踪对空心图像的识别缺陷
windows窗口消息
模拟鼠标输入,瞬间秒杀