Best Python code snippet using Airtest
multiscale_template_matching.py
Source:multiscale_template_matching.py  
...142            if not self.record_pos is None:143                area, self.resolution = self._get_area_scope(self.im_source, self.im_search, self.record_pos, self.resolution)144                self.im_source = aircv.crop_image(self.im_source, area)145                check_source_larger_than_search(self.im_source, self.im_search)146            r_min, r_max = self._get_ratio_scope(147                self.im_source, self.im_search, self.resolution)148            s_gray, i_gray = img_mat_rgb_2_gray(self.im_search), img_mat_rgb_2_gray(self.im_source)149            confidence, max_loc, w, h, _ = self.multi_scale_search(150                i_gray, s_gray, ratio_min=r_min, ratio_max=r_max, step=self.scale_step, threshold=self.threshold)151            if not self.record_pos is None:152                max_loc = (max_loc[0] + area[0], max_loc[1] + area[1])153            154            # æ±åè¯å«ä½ç½®: ç®æ ä¸å¿ + ç®æ åºå:155            middle_point, rectangle = self._get_target_rectangle(max_loc, w, h)156            best_match = generate_result(middle_point, rectangle, confidence)157            LOGGING.debug("[%s] threshold=%s, result=%s" %158                        (self.METHOD_NAME, self.threshold, best_match))159            return best_match if confidence >= self.threshold else None160        else:161            return None162    def _get_ratio_scope(self, src, templ, resolution):163        """颿µç¼©æ¾æ¯çä¸ä¸é."""164        H, W = src.shape[0], src.shape[1]165        th, tw = templ.shape[0], templ.shape[1]166        w, h = resolution167        rmin = min(H/h, W/w)  # æ°æ§æ¨¡æ¿æ¯ä¸é168        rmax = max(H/h, W/w)  # æ°æ§æ¨¡æ¿æ¯ä¸é169        ratio = max(th/H, tw/W)  # å°å¾å¤§å¾æ¯170        r_min = ratio*rmin171        r_max = ratio*rmax172        return max(r_min, self.scale_step), min(r_max, 0.99)173    def get_predict_point(self, record_pos, screen_resolution):174        """颿µç¼©æ¾åçç¹å»ä½ç½®ç¹."""175        delta_x, delta_y = record_pos176        _w, _h = screen_resolution...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
