import aircv as ac
from PIL import Image
class CompareImage():
def matchImg(self,imgsrc, imgobj,phone_x,phone_y, confidencevalue=0.5): # imgsrc=原始图像,imgobj=待查找的图片
imsrc = ac.imread(imgsrc)
imobj = ac.imread(imgobj)
match_result = ac.find_template(imsrc, imobj,confidencevalue)
if match_result is not None:
match_result['shape'] = (imsrc.shape[1], imsrc.shape[0]) # 0为高,1为宽
x, y = match_result['result']#标准图中小图位置x,y
shape_x, shape_y = tuple(map(int, match_result['shape']))#标准图中x,y
position_x, position_y = int(phone_x*(x/shape_x)), int(phone_y*(y/shape_y))
print(match_result)
# return match_result
return position_x, position_y,str(match_result['confidence'])[:4],match_result
def fixed_size(self, width, height,infile,outfile):
"""按照固定尺寸处理图片"""
im = Image.open(infile)
out = im.resize((width, height), Image.ANTIALIAS)
out.save(outfile)
def get_picture_size(self,imgsrc):
'''获取图片长,宽'''
imsrc = ac.imread(imgsrc)
y,x,z = imsrc.shape
return x,y