-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbackup.py
More file actions
50 lines (37 loc) · 1.67 KB
/
backup.py
File metadata and controls
50 lines (37 loc) · 1.67 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
import cv2
import numpy as np
import utlis
##############################################################################
cameraNo = 0
portNo ="COM4"
cropVals = 100,100,300,400 # StartPointY StartPointX h w
frameWidth = 640
frameHeight = 480
brightnessImage = 230
##############################################################################
cap = cv2.VideoCapture(cameraNo)
cap.set(10, brightnessImage)
cap.set(3, frameWidth)
cap.set(4, frameHeight)
utlis.initializeTrackBar()
utlis.connectToRobot(portNo)
while True:
_, img = cap.read()
imgResult = img.copy()
imgBlur = cv2.GaussianBlur(img, (7, 7), 1)
imgHSV = cv2.cvtColor(imgBlur, cv2.COLOR_BGR2HSV)
trackBarPos = utlis.getTrackbarValues()
imgMask, imgColorFilter = utlis.colorFilter(imgHSV,trackBarPos)
imgCropped = imgMask[cropVals[1]:cropVals[2]+cropVals[1],cropVals[0]:cropVals[0]+cropVals[3]]
imgResult = imgResult[cropVals[1]:cropVals[2] + cropVals[1], cropVals[0]:cropVals[0] + cropVals[3]]
imgOpen =cv2.morphologyEx(imgCropped, cv2.MORPH_OPEN,np.ones((5,5),np.uint8))
imgClosed = cv2.morphologyEx(imgOpen, cv2.MORPH_CLOSE, np.ones((10, 10), np.uint8))
imgFilter = cv2.bilateralFilter(imgClosed, 5, 75, 75)
imgContour,imgResult = utlis.getContours(imgFilter,imgResult)
cv2.rectangle(img, (cropVals[0], cropVals[1]), (cropVals[0]+cropVals[3], cropVals[2]+cropVals[1]), (0, 255, 0), 2)
stackedImage = utlis.stackImages(0.7,([img,imgMask,imgColorFilter],[imgCropped,imgContour,imgResult]))
cv2.imshow('Stacked Images', stackedImage)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()