def test_detect_enemy_complicated_cactus_3(self): img = cv2.imread(f'../snapshots/complicated/cactus3.png') img_np = np.array(img) gray = utils.to_gray(img_np) phase = game_status.get_phase(gray) enemies, _ = enemy_detector.find_enemies(gray, phase) self.assertEqual(1, len(enemies))
def test_detect_enemy_complicated_1(self): enemy_files = ['bird.png', 'bird2.png', 'bird3.png', 'bird4.png', 'cactus.png', 'cactus2.png'] for enemy_file in enemy_files: img = cv2.imread(f'../snapshots/complicated/{enemy_file}') img_np = np.array(img) gray = utils.to_gray(img_np) phase = game_status.get_phase(gray) enemies, _ = enemy_detector.find_enemies(gray, phase) self.assertEqual(1, len(enemies))
import pyscreenshot as ImageGrab from component import enemy_detector, dino_detector, game_status from template.template import screen_template, enemy_segment_template from utils import utils while True: print('loop') img = ImageGrab.grab(bbox=screen_template.to_tuple()) img_np = np.array(img) img_np = utils.resize_to_rectangle(img_np, screen_template) # Detect enemies enemies, _ = enemy_detector.find_enemies(utils.to_gray(img_np)) dino = dino_detector.find_dino(utils.to_gray(img_np)) status = game_status.get_game_status(utils.to_gray(img_np)) cv2.putText(img_np, status, (10, 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, 255) for enemy in enemies: utils.display_rectangle(img_np, enemy.relativize_from(enemy_segment_template)) if dino: utils.display_rectangle(img_np, dino, 50) cv2.imshow("frame", img_np) key = cv2.waitKey(1) if key == 27: break
def test_detect_enemy_5(self): img = cv2.imread('../snapshots/enemy/enemies_5.png') img_np = np.array(img) gray = utils.to_gray(img_np) enemies, _ = enemy_detector.find_enemies(gray) self.assertEqual(1, len(enemies))
def test_detect_enemy_2(self): img = cv2.imread('../snapshots/enemy/enemies_2_full.png') img_np = np.array(img) gray = utils.to_gray(img_np) enemy_detector.find_enemies(gray)
def test_game_phase_2_2(self): img = cv2.imread('../snapshots/phase2/enemy/enemy1.png') img_np = np.array(img) gray = utils.to_gray(img_np) phase = game_status.get_phase(gray) self.assertEqual(1, phase)
def test_game_phase_2_1(self): img = cv2.imread('../snapshots/black_background_template.png') img_np = np.array(img) gray = utils.to_gray(img_np) phase = game_status.get_phase(gray) self.assertEqual(2, phase)
generation = learning_model_service.get_last_generation() print('------------') print(f'Starting generation {generation}') model = learning_model_service.find_one(processed=False, generation=generation) game_runner = GameRunner(model) print(f'Loading model: {model.model_id}') game_runner.start() phase = 1 i = 0 while True: img = ImageGrab.grab(bbox=screen_template.to_tuple(), childprocess=False) img_np = np.array(img) img_np = utils.resize_to_rectangle(img_np, screen_template) full_gray_np = utils.to_gray(img_np) # Detect enemies phase = game_status.get_phase(full_gray_np) # now = time() # # if now - start_time > 55: # print('Printing snapshot') # cv2.imwrite(f'save/{i}.png', full_gray_np) # i += 1 enemies, _ = enemy_detector.find_enemies(utils.to_gray(img_np), phase) game_runner.play(enemies, enemy_segment_template.shape()) game_status_str = game_status.get_game_status(utils.to_gray(img_np))