-
Notifications
You must be signed in to change notification settings - Fork 0
/
park_space_count.py
36 lines (26 loc) · 929 Bytes
/
park_space_count.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
import cv2
import pickle
width, height = (158-50), (240-192)
try:
with open('CarParkPos','rb') as f:
posList = pickle.load(f)
except:
posList = [] # create empty list
def mouseClick(events,x,y,flags, params):
if events == cv2.EVENT_LBUTTONDOWN:
posList.append((x,y))
if events == cv2.EVENT_RBUTTONDOWN:
for i, pos in enumerate(posList):
x1, y1 = pos
if x1 < x < x1 + width and y1 < y < y1 + height:
posList.pop(i)
with open('CarParkPos', 'wb') as f:
pickle.dump(posList, f)
while True:
img = cv2.imread('carParkimg.png')
cv2.rectangle(img, (50, 192), (158, 240), (255, 255, 0), 2)
for pos in posList:
cv2.rectangle(img, pos, (pos[0] + width, pos[1] + height), (255, 0, 255), 2)
cv2.imshow('image', img)
cv2.setMouseCallback('image', mouseClick)
cv2.waitKey(1)