pokemonzlj / douyin_guaji

用于抖音直播间福袋挂机

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

请问 check_have_fudai 实现的核心思路是什么??

dachengxu opened this issue · comments

大牛,能指导一下 for 循环实现的核心思路吗?感觉上是通过判定rgb值来分辨福带是否存在,但是这里面的很多数值不太理解

def check_have_fudai(self):
        """判定直播页面福袋的小图标是否存在"""
        path = os.path.dirname(__file__) + '/pic'
        pic1_path = path + '/screenshot.png'
        loop = 0
        while loop < 6:  # 每3秒识别一次,最多等待18秒
            # start_time = time.time()
            time.sleep(1.5)
            self.get_screenshot()  # 这个函数需要2S
            pic = Image.open(pic1_path)
            # pic_new = Image.open(cut_pic_path)
            pic_new = pic.convert('RGBA')
            pix = pic_new.load()
            for x in range(41, 410):
                if 194 <= pix[x, 403*self.resolution_ratio_y//2400 + self.y_pianyi][0] <= 200 and 187 <= pix[x, 403*self.resolution_ratio_y//2400 + self.y_pianyi][
                    1] <= 193 and 241 <= pix[x, 403*self.resolution_ratio_y//2400 + self.y_pianyi][2] <= 247:  # 判定存在小福袋的图标
                    self.last_find_fudai_time = time.time()
                    return x
            loop += 1
            if loop >= 4:
                self.deal_robot_analyse()
            elif loop < 2 and self.check_zhibo_is_closed():
                return False
        return False