-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
68 lines (56 loc) · 2.31 KB
/
main.py
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
from tkinter import *
from tkinter import ttk
import cv2
#import hikvisionapi
# TODO 1. Нужно сделать счетчик фото, который обновляется ежедневно после 00:00
# TODO 2. Реализовать выбор папки сохранения сделанных фото через GUI
# TODO 3. Исправить по возможности визуальную составляющую: установить положение окна по умолчанию по центру экрана
# + размер под экран
# TODO 4. Реализовать поиск и подключение к определенной камере (у меня будет hikvision) - под нее есть API библ выше
# TODO 5.Правильно скомпоновать проект и сделать установочный exe файл
def click_button():
global cap
global id
ret, frame = cap.read()
cv2.imwrite(f'photo{id}.jpeg', frame)
id = id + 1;
def connect():
global connected
global cap
cap = cv2.VideoCapture(0)
connected = cap.isOpened()
update()
def update():
if connected:
btn.state(["!disabled"])
text.insert(1.0, "Connection enabled")
text.pack()
btn.pack()
else:
#todo find text.clera
text.insert(1.0, "Connection lost")
text.pack()
btn.pack()
id = 0
cap = None;
root = Tk()
root.title("Снимок для камеры Hiwatch")
root.geometry("500x250")
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
connected = False
#if connected:
# btn = ttk.Button(text="Сделать снимок", state="enabled", command=click_button)
# text = Text(width=20, height=3, bg="white", fg='black', wrap=WORD)
# text.insert(1.0, "Connection enabled")
# text.pack()
# btn.pack()
btn = ttk.Button(text="Сделать снимок", state="disabled", command=click_button)
text = Text(width=20, height=3, bg="white", fg='black', wrap=WORD)
text.insert(1.0, "Пожалуйста, подключите камеру")
text.pack()
btn.pack()
btn_connect = ttk.Button(text="Установить соединение с камерой", state="enabled", command=connect)
btn_connect.pack()
root.mainloop()
cap.release() # disconect cam