Robuster colorpicker and detection demo
This commit is contained in:
@@ -218,7 +218,11 @@ if __name__ == '__main__':
|
|||||||
rdr.close()
|
rdr.close()
|
||||||
while True:
|
while True:
|
||||||
if not args.still:
|
if not args.still:
|
||||||
|
try:
|
||||||
frame = rdr.get_frame()
|
frame = rdr.get_frame()
|
||||||
|
except RuntimeError as e:
|
||||||
|
print(e)
|
||||||
|
continue
|
||||||
key = cp.show_frame(frame, width=args.width, manual=args.manual)
|
key = cp.show_frame(frame, width=args.width, manual=args.manual)
|
||||||
if key == ord('q') or key == 27:
|
if key == ord('q') or key == 27:
|
||||||
break
|
break
|
||||||
|
|||||||
@@ -96,7 +96,11 @@ if __name__ == '__main__':
|
|||||||
rdr.close()
|
rdr.close()
|
||||||
while True:
|
while True:
|
||||||
if not args.still:
|
if not args.still:
|
||||||
|
try:
|
||||||
frame = rdr.get_frame()
|
frame = rdr.get_frame()
|
||||||
|
except RuntimeError as e:
|
||||||
|
print(e)
|
||||||
|
continue
|
||||||
frame = imresize(frame, width=args.width)
|
frame = imresize(frame, width=args.width)
|
||||||
|
|
||||||
field = field_finder.find(frame)
|
field = field_finder.find(frame)
|
||||||
|
|||||||
@@ -133,13 +133,18 @@ class GoalFinder(object):
|
|||||||
|
|
||||||
class BallFinder(object):
|
class BallFinder(object):
|
||||||
|
|
||||||
def __init__(self, hsv_lower, hsv_upper, min_radius):
|
def __init__(self, hsv_lower, hsv_upper, min_radius=0.02):
|
||||||
|
|
||||||
self.hsv_lower = tuple(hsv_lower)
|
self.hsv_lower = tuple(hsv_lower)
|
||||||
self.hsv_upper = tuple(hsv_upper)
|
self.hsv_upper = tuple(hsv_upper)
|
||||||
self.min_radius = min_radius
|
self.min_radius = min_radius
|
||||||
self.history = deque(maxlen=64)
|
self.history = deque(maxlen=64)
|
||||||
|
|
||||||
|
def primary_mask(self, frame):
|
||||||
|
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
|
||||||
|
mask = cv2.inRange(hsv, self.hsv_lower, self.hsv_upper)
|
||||||
|
return mask
|
||||||
|
|
||||||
def find(self, frame):
|
def find(self, frame):
|
||||||
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
|
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user