| | |
| | | from cv2 import waitKey |
| | | import uuid |
| | | from _image_clip_setting import image_clip |
| | | |
| | | import sys |
| | | |
| | | def check_frame(frame): |
| | | image = frame[image_clip[0]:image_clip[1], image_clip[2]:image_clip[3]] |
| | |
| | | gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) |
| | | thresh = cv2.threshold(gray, 0, 255, |
| | | cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1] |
| | | kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (5, 5)) |
| | | kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (6, 6)) |
| | | counter = cv2.morphologyEx(thresh.copy(), cv2.MORPH_OPEN, kernel) |
| | | contours, hierarchy = cv2.findContours(counter,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) |
| | | contours_count = 0 |
| | |
| | | for c in contours: |
| | | x, y, w, h = cv2.boundingRect(c) |
| | | if hierarchy[0][contours_count][3] ==0 and h > image_h * 0.3: |
| | | #if image_h*0.98 > h > image_h * 0.6: |
| | | print((x, y, w, h)) |
| | | cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2) |
| | | contours_count += 1 |
| | |
| | | if cv2.waitKey(100) & 0xFF == ord('q'): #按q退出 |
| | | cv2.waitKey(0) |
| | | |
| | | cap = cv2.VideoCapture("new.mp4") # for testing |
| | | cap = cv2.VideoCapture(sys.argv[1]) # for testing |
| | | while(cap.isOpened()): |
| | | ret, frame = cap.read() |
| | | if ret==True: |