def _has_best_score(self, img): hash_string = per_hash(img, convert=False) difference = compare_hashes(hash_string, self.hash_original) if (difference < self.best_score): self.best_score = difference return True else: return False
def _get_position_accuracy(self, right_position): right_position = int(right_position) start = right_position - ScreenDetector.SEARCHED_FRAMES if (start <= 0): start = 1 end = right_position + ScreenDetector.SEARCHED_FRAMES best_fit = 1 best_fit_position = 0 hash2 = per_hash(self.best_image, convert=False) for i in range(start, end): pos = str(i) if (i < 10): pos = '0' + pos img = cv2.imread('../../frames/{0}.jpg'.format(pos)) hash1 = per_hash(img, convert=True) diff = compare_hashes(hash1, hash2) if (diff < best_fit): best_fit = diff best_fit_position = i return abs(right_position - best_fit_position)