menti words init

This commit is contained in:
2023-07-27 13:02:42 +02:00
parent eff65b3ca4
commit 8ded30d75a
2 changed files with 21 additions and 11 deletions

View File

@@ -2,6 +2,8 @@ import cv2 as cv
import numpy as np
import pydirectinput
from nltk.corpus import words
from pytesseract import pytesseract
from utils import mse
from game_base_class import GameBase
import random
@@ -18,6 +20,8 @@ class MentiWords(GameBase):
def __init__(self, overlay):
super().__init__(overlay)
pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
self.observation = np.zeros((9, 9), dtype=int)
self.colors = [1, 2, 3, 4, 5, 6, 7, 8, 9]
@@ -120,23 +124,29 @@ class MentiWords(GameBase):
def get_current_board_state(self):
screenshot = cv.imread("menti_words/screenshot.jpg")
#screenshot = self.capture_window.get_screenshot()
#screenshot = cv.imread("menti_words/screenshot.jpg")
screenshot = self.capture_window.get_screenshot()
screenshot = screenshot[870:1270, 1080:1480]
cv.imshow("screenshot", screenshot)
cv.waitKey(150)
#cv.imshow("screenshot", screenshot)
#cv.waitKey(150)
#continue
for needle_key in self.needles.keys():
# gray_needle = cv.cvtColor(self.needles[needle_key], cv.COLOR_BGR2GRAY)
# thresh_needle = cv.threshold(gray_needle, 0, 255, cv.THRESH_BINARY_INV + cv.THRESH_OTSU)[1]
#rectangles = self.vision_stun.find(screenshot, self.needles[needle_key], 0.85, 56)
rectangles = self.vision_stun.find(screenshot, self.needles[needle_key], 0.95, 1 ,True, self.masks[needle_key])
rectangles = self.vision_stun.find(screenshot, self.needles[needle_key], 0.85, 1)
#rectangles = self.vision_stun.find(screenshot, self.needles[needle_key], 0.95, 1 ,True, self.masks[needle_key])
if len(rectangles) == 0:
continue
points = self.vision_stun.get_click_points(rectangles)
self.current_letters.append(needle_key)
self.letter_coords[needle_key] = points[0]
cropped1 = self.vision_stun.draw_display_picture(screenshot, rectangles, 10)
text_1 = pytesseract.image_to_string(cropped1, lang='eng', config='--psm 6').strip()
if str.isalpha(text_1):
#cv.imshow("cropped1", cropped1)
#cv.waitKey(150)
points = self.vision_stun.get_click_points(rectangles)
self.current_letters.append(text_1)
self.letter_coords[text_1] = points[0]
if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused':
return

View File

@@ -246,11 +246,11 @@ class Vision:
return haystack_img
def draw_display_picture(self, haystack_img, rectangles):
def draw_display_picture(self, haystack_img, rectangles, border = 0):
pic = None
for (x, y, w, h) in rectangles:
pic = haystack_img[y:y + h, x:x + w]
pic = haystack_img[y-border:y + h +border, x-border:x + w + border]
# scale_percent = 500 # percent of original size
# width = int(pic.shape[1] * scale_percent / 100)