上次编写的大家来找茬外挂虽然是实现了查找不同区域并把不同的区域显示在屏幕上,但是得手动点击,显得很是麻烦,所以最近把程序又改了一改,实现了自动点击功能。
程序的编写流程:
1.做一幅游戏窗口背景图片Screen(),程序加载的同时加载这幅背景图片t=cvLoadImage("template.dll",1)。
2.进行整个屏幕截图同时获取游戏窗口句柄和游戏窗口位置及其大小。
hWnd = ::FindWindow("",_T("大家来找茬"));
winRect.x=winSize.left;
winRect.y=winSize.top;
winRect.width=winSize.right-winSize.left;
winRect.height=winSize.bottom-winSize.top;3.根据获得的游戏窗口信息直接从截取的屏幕图片中得到游戏窗口图片。
cvSetImageROI(m_SnapImage,winRect);
cvCopy(m_SnapImage,m_dstImage);4.将游戏窗口图片和游戏窗口背景图片各个像素进行相减取其绝对值,图像灰度化并二值化。
cvAbsDiff( t,pImg, d);
cvCvtColor( d, temp1,CV_BGR2GRAY);//灰度化处理后的图像
cvThreshold( temp1, temp1 ,1, 255, CV_THRESH_BINARY ); //以1作为阈值进行二值化