带图像识别的YYS连点器 V2.0
之前那个连点器,因为比较智障,不够智能,很容易被查出来,导致我的号被鬼使黑警告,扣了一半的体力和勾玉,西八。反思以后觉得,它检测脚本的原理应该是看你鼠标点击的频率。毕竟正常人点击屏幕的话,也就是开始的时候,点个开始,然后结束点几下。只有机器人会一直点来点去的。所以,进阶版来了
第一个问题opencv imread()读取不到文件
代码如下
#include <opencv2\opencv.hpp>
#include <iostream>
using namespace cv;int main()
{Mat3b img = imread("F:/C语言学习/C语言学习代码/鼠标连点器plus/鼠标连点器PLUS/src.jpg");if (!img.data){std::cout << "Image not loaded";return -1;}imshow("img", img);waitKey();return 0;
}
原因:
- 文件的路径可能出现问题,直接复制路径的话,结果是
“F:\C语言学习\C语言学习代码\鼠标连点器plus\鼠标连点器PLUS\src.jpg”
但是他读不出来,需要手动把路径改成
F:/C语言学习/C语言学习代码/鼠标连点器plus/鼠标连点器PLUS/src.jpg
斜杠的方向不一样- 在链接器->输入里面修改依赖项,删掉opencv_world451.lib 保留opencv_world451d.lib之后调试就可以了
第二个问题怎样读取并保存yys的界面图片
刚开始我只是读取了yys的句柄,但是无法保存图片,也就是说无法进行模板匹配。
@Eleven
感谢大佬的源代码,可以将句柄保存为图片
我用的是VS2019 Community 然后有一些奇怪的问题
1.error LNK2019:无法解析的外部符号 __CrtDbgReportW
解决办法
- 打开项目,属性
- 在“高级”选项下,MFC的使用选择在共享DLL中使用MFC
2.#error: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
解决方案
下面是根据句柄实现截图的代码,要引用axf.h头文件
BOOL SaveHwndToBmpFile(HWND hWnd, LPCTSTR lpszPath)
{HWND hDesktop = ::GetDesktopWindow();ASSERT(hDesktop);if (NULL == hWnd){ hWnd = hDesktop;}RECT rect;::GetWindowRect(hWnd, &rect);int nWidht = rect.right - rect.left;int nHeight = rect.bottom - rect.top;HDC hSrcDC = ::GetWindowDC(hWnd);ASSERT(hSrcDC);HDC hMemDC = ::CreateCompatibleDC(hSrcDC);ASSERT(hMemDC);HBITMAP hBitmap = ::CreateCompatibleBitmap(hSrcDC, nWidht, nHeight);ASSERT(hBitmap);HBITMAP hOldBitmap = (HBITMAP)::SelectObject(hMemDC, hBitmap);::BitBlt(hMemDC, 0, 0, nWidht, nHeight, hSrcDC, 0, 0, SRCCOPY);BITMAP bitmap = { 0 };::GetObject(hBitmap, sizeof(BITMAP), &bitmap);BITMAPINFOHEADER bi = { 0 };BITMAPFILEHEADER bf = { 0 };CONST int nBitCount = 24;bi.biSize = sizeof(BITMAPINFOHEADER);bi.biWidth = bitmap.bmWidth;bi.biHeight = bitmap.bmHeight;bi.biPlanes = 1;bi.biBitCount = nBitCount;bi.biCompression = BI_RGB;DWORD dwSize = ((bitmap.bmWidth * nBitCount + 31) / 32) * 4 * bitmap.bmHeight;HANDLE hDib = GlobalAlloc(GHND, dwSize + sizeof(BITMAPINFOHEADER));LPBITMAPINFOHEADER lpbi = (LPBITMAPINFOHEADER)GlobalLock(hDib);*lpbi = bi;::GetDIBits(hMemDC, hBitmap, 0, bitmap.bmHeight, (BYTE*)lpbi + sizeof(BITMAPINFOHEADER), (BITMAPINFO*)lpbi, DIB_RGB_COLORS);try{CFile file;file.Open(lpszPath, CFile::modeCreate | CFile::modeWrite);bf.bfType = 0x4d42;dwSize += sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);bf.bfSize = dwSize;bf.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);file.Write((BYTE*)&bf, sizeof(BITMAPFILEHEADER));file.Write((BYTE*)lpbi, dwSize);file.Close();}catch (CFileException* e){e->ReportError();e->Delete();}GlobalUnlock(hDib);GlobalFree(hDib);::SelectObject(hMemDC, hOldBitmap);::DeleteObject(hBitmap);::DeleteDC(hMemDC);::ReleaseDC(hWnd, hSrcDC);return TRUE;
}
上面的代码,我不是很懂,但是很好用就是了。下面是程序运行的结果,在后台也是可以截到图的!
3.图像读取失败
读取到的图是这样的
产生原因:路径下无法打开该文件
解决办法:放绝对路径,或放到调试目录下
第三个问题怎样进行模板匹配与定位
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
好像,不用这么麻烦,我用某精灵,实现了,西八。不过还是有一些收获的。
带图像识别的YYS连点器 V2.0相关推荐
- 章节分割器 v2.0 Beta0618 版
下载:点击此处下载 章节分割器 v2.0 Beta0618 ===================================== 一个把文本小说按照自定义条件切割成章节的软件,没有多么复杂的设置 ...
- ENFI下载器 v2.0.3免费版
点击下载来源:ENFI下载器 v2.0.3免费版 ENFI下载器是一款绿色安全的支持百度网盘资源加速下载工具.界面简洁明了,上手简单,支持各路老司机加速下载网盘资源的软件.资源下载能赚钱+超高速下载, ...
- 网游限时器 v2.0 官方
Welcome to my blog! <script language="javascript" src="http://avss.b15.cnwg.cn/cou ...
- 动易SiteFactory CMS自动采集器 V2.0
动易SiteFactory CMS采集器说明 注:本程序需要.NET FrameWork 2.0或2.0以上版本的支持(Vista可直接运行本程序,无需安装.NET FrameWork 2.0) ...
- Qt--音乐播放器 V2.0
呃--反正这篇博客我是本不打算写的,这次的音乐播放器没什么大的变化,主要是在界面上稍微做了些改进,代码是照搬v1.0的,不过这次加了换肤(这个是班门弄斧了些哈),不过话说回来,也是自己辛辛苦苦自己组装 ...
- 冰点播放器V2.0发布
开发环境:qt5.3.1 + vs2013 运行环境:windows 7 / 8 / 8.1 本版主要更新内容 新增功能: 网络歌词.专辑图片获取(保存在歌曲目录下,文件名与歌曲同名) 拖拽加歌现在可 ...
- python3GUI--翻译器-v2.0(附源码)
文章目录 一.准备工作 二.预览 1.主界面 2.翻译 3.支持多种语言哦 三.源代码 四.总结 有一个月没发博客了,上次用Tk做了一个翻译器,界面比较粗糙,翻译语言限定为汉语,文本仅支持手动粘贴,遂 ...
- 各位集美兄得看过来! 利用AI给青春有你2的选手们做数据分析挖掘(三):看图像识选手
各位集美兄得看过来! 利用AI给青春有你2的选手们做数据分析挖掘(一):爬虫选手信息 各位集美兄得看过来! 利用AI给青春有你2的选手们做数据分析挖掘(二):统计并展示数据 各位集美兄得看过来! 利用 ...
- Android 开发 带图像的Toast提示
Toast大家都知道了,是一个在不影响用户正常使用下的信息提示工具,但默认的Toast只能显示文字,是否有点单一呢,能不能显示带图像的Toast呢. 不怕想不到,答案是肯定的,那就show一下吧. p ...
- python使用爬虫写一个自己的翻译器(带图像界面)
python使用爬虫写一个自己的翻译器(带图像界面) 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客,B站昵称为 ...
最新文章
- 用D3.js 十分钟实现字符跳动效果
- mapper 判断条件为null
- 一年之计:如何构建知识体系?
- html控件的id和name属性有什么不同
- HCNA——RIP简单介绍及基本配置
- golang mysql连接池原理_redis mysql 连接池 之 golang 实现
- Exchange 2016 之删除与恢复用户邮箱
- 投影仪显示播放服务器连接异常,投影仪常见的故障大全和原因
- 从狗屁不通文章生成器,到机器写作之路
- ESAPI入门使用方法
- eNSP配置VLAN间路由
- ubuntu虚拟机上外网设置
- 我是一名自由职业白帽黑客
- 皮皮虾视频分析并加工
- PetaLiunx配置时sourcing bitbake报错解决方法
- python中function takes exactly_Python 'takes exactly 1 argument (2 given)' Python error
- CSS文字自适应div宽度
- create方法 eslint关闭_react create-react-app使用less 及关闭eslint
- 如何把图片转换成PDF?4种简单快捷的方法,一键将图片转PDF
- csp 2022.6
热门文章
- 【转载】数据库建模工具
- 河南省第九届ACM程序设计大赛总结
- hello.java_hello java !
- 通信LOGO隐秘史(续集:运营商篇)
- android 魅族 webview,魅族 Flyme 系统出现大面积应用闪退问题,提供临时解决方法...
- 服务器物理硬盘序列号,查看硬盘物理序列号的程序源代码
- 人工智能如何改变人类生活
- A题:电流信号检测装置(本科)-- 2018年TI杯大学生电子设计竞赛
- 2021年CS保研经历(四):西交软院预推免、信工所三室预推免
- 无人驾驶技术——雷达Clutter, CFAR,AoA