-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathScreenController.py
More file actions
81 lines (57 loc) · 2.46 KB
/
ScreenController.py
File metadata and controls
81 lines (57 loc) · 2.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
from GeneratedBoard import GeneratedBoard
import cv2
from AuxFunctions import AuxFunctions
af = AuxFunctions ()
class ScreenController:
board_window = 'Board'
dice1_window = 'Dice1'
dice2_window = 'Dice2'
generated_board_window = 'GenBoard'
data_model = 0
generated_board = 0
board_image = 0
generated_board_image = 0
dice1_image = 0
dice1_canny_edges_image = 0
dice1_blurred_image = 0
dice1_mask_image = 0
def __init__(self,data_model) -> None:
self.data_model = data_model
self.generated_board = GeneratedBoard(data_model)
cv2.namedWindow(self.board_window, cv2.WINDOW_NORMAL)
cv2.moveWindow(self.board_window,0,0)
cv2.resizeWindow(self.board_window, 720, 600)
"""cv2.namedWindow(self.dice1_window, cv2.WINDOW_NORMAL)
cv2.moveWindow(self.dice1_window,0,550)
cv2.resizeWindow(self.dice1_window, 100, 100)"""
cv2.namedWindow(self.generated_board_window, cv2.WINDOW_NORMAL)
cv2.moveWindow(self.generated_board_window,720,0)
cv2.resizeWindow(self.generated_board_window, 600, 600)
def PrepareWindows(self):
window_size = cv2.getWindowImageRect(self.generated_board_window)
self.generated_board.InitBoardParams((window_size[2],window_size[3]))
self.generated_board.InitGenBoard(self)
self.generated_board_image = self.generated_board.render()
def InitWindows(self):
self.generated_board.InitGenBoard(self)
def ShowWindows(self):
cv2.imshow(self.board_window, self.board_image)
#cv2.imshow(self.dice1_window, self.dice1_image)
cv2.imshow(self.generated_board_window, self.generated_board_image)
return cv2.waitKey(2)
def SaveImagesToDisk(self):
folder = "C:\\Temp\\Board_Images"
filename1 = folder + "\\" + str(af.FindMissingNumber(folder,"jpg"))+".jpg"
cv2.imwrite(filename1, self.board_image)
af.Log().log_info("Board:"+filename1)
filename2 = folder + "\\" + str(af.FindMissingNumber(folder,"jpg"))+".jpg"
cv2.imwrite(filename2, self.generated_board_image)
af.Log().log_info("GenBoard:"+filename2)
def ArrangeDiceWindows(self,dice_image):
height, width, _ = dice_image.shape
cropped1_image = dice_image[0:height, 0:int(width/2)]
self.screen_controller.dice1_image = cropped1_image
def ShowCalculatedBoard(self):
pass
def ShowBoard(self):
pass