我有一个学校项目,在该项目中,我必须制作一条跟车路线,必须根据用户输入遵循特定的颜色线。当我仅用一种颜色并且没有用户输入来测试汽车的路线跟随能力时,该代码就可以正常工作,但是当我添加多种颜色和用户输入时,汽车不再希望遵循一条路线而只是驶入日落。我试图尝试代码,但没有运气。这是代码的while循环。
try: while(True): user = int(input("1 for blue line")) time.sleep(1)
ret, frame = cap.read()
crop_img = frame[60:120, 0:160]
_, img = cap.read()
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
if user == 1:
blue_lower = np.array([99,115,150],np.uint8)
blue_upper = np.array([110,255,255],np.uint8)
blue = cv2.inRange(hsv, blue_lower, blue_upper)
kernal = np.ones((5 ,5), "uint8")
blue=cv2.dilate(blue,kernal)
res=cv2.bitwise_and(img, img, mask = blue)
(contours,hierarchy)=cv2.findContours(blue,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
for pic, contour in enumerate(contours):
area = cv2.contourArea(contour)
if(area>300):
x,y,w,h = cv2.boundingRect(contour)
img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
Controls()
else:
black_lower = np.array([0,0,0],np.uint8)
black_upper = np.array([50,50,100],np.uint8)
black = cv2.inRange(hsv, black_lower, black_upper)
kernal = np.ones((5 ,5), "uint8")
black = cv2.dilate(black,kernal)
res2 = cv2.bitwise_and(img, img, mask = black)
(contours,hierarchy)=cv2.findContours(black,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
for pic, contour in enumerate(contours):
area = cv2.contourArea(contour)
if(area>300):
x,y,w,h = cv2.boundingRect(contour)
img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
Controls()
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。