python图片匹配

#方法一,可以直接用
import pyautogui,time

class Pic():
    def __init__(self):
        pass

        self.w,self.h = pyautogui.size()

    def get_win(self,number_x=32,number_y=24):
        #读取页面,记录rgb数据
        tx = int(self.w/number_x)
        ty = int(self.h/number_y)
        img = pyautogui.screenshot()
        with open("remake.csv", "w", encoding="utf-8") as f:
            for x in range(number_x-1):
                for y in range(number_y-1):
                    lx = (x + 1) * tx
                    ly = (y + 1) * ty
                    r,g,b = img.getpixel((lx,ly))
                    f.write("{},{},{},{},{},\n".format(lx,ly,r,g,b))
                    f.flush()

    def _read_win(self,lis):
        #传入坐标,rpg数据判断当前页面是否匹配
        count = len(lis)
        start_time = time.time()
        while self.reading:
            count_get = 0
            print("正在匹配 = ing")
            img = pyautogui.screenshot()
            for i in lis:
                # print(i)
                li = i.split(",")
                x,y,r,g,b = int(li[0]),int(li[1]),int(li[2]),int(li[3]),int(li[4])
                # print('list',x,y,r,g,b)
                # print(img.getpixel((x,y)))
                # print(type(img.getpixel((x,y))))
                # if pyautogui.pixelMatchesColor( x,y,(r,g,b)) :
                if (r,g,b) == (img.getpixel((x,y))):
                    count_get += 1
                    print("匹配 = ",count_get)

            if count_get >= 0.8 * count:
                self.reading = False
                end_time = time.time() - start_time
                print("识别时间:",end_time)
                break

    def read_win(self):
        self.reading = True
        with open("remake.csv","r",encoding="utf-8") as f:
            lis = f.readlines()

        self._read_win(lis)




if __name__ == "__main__":
    p = Pic()
    start_time = time.time()
    # p.get_win()  #记录当前页面
    #p.read_win()   #识别当前页面
    end_time = time.time() - start_time
    print("需要的时间",end_time)

#运行方法:需要先单独运行“记录当前页面”,运行完毕之后注释,再运行“识别当前页面”


版权声明:本文为weixin_56643005原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。