menti words init
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user