很早就有自己动手写一个外挂的设想,因为抓取网络包很容易被抓,所以一直思考如果可以机器识别图来帮助矫正位置,但是技术不够不知怎么做,最近在跟大佬学opencv,突然就有了灵感。
这是第一个图像处理设想:思路是根据守望先锋的血条的RGB值是固定的,并且血条长度和宽度(像素值)近似一个定值,所以想到抓取敌人的血条做分析,从而确定敌人大致的身体在哪。
但是很可惜的是,opencv处理速度太慢了,需要2s才能返回结果。。(可能是算法不到位,指针学的渣渣到不行,用不来),于是转而使用MATLAB处理。
代码:
function tou=OWHelp(filepath)
tic
%读取文件
f=imread(filepath);
%显示图片
imshow(f);
%对图像处理,得到想要的图
x=[255,0,19];%血条RGB值
fsize=size(f);
for row=1:fsize(1)
for colon=1:fsize(2)
a=0;
for page=1:3
if abs(double(f(row,colon,page))-x(page))<10%其实可以直接等于,但是为了可能的算法优化
a=a+1;
end
end
if a<3
for page=1:3
f(row,colon,page)=uint8(0);
end
el