Paso 20: OpenCV: flotadores estúpidos
#////////CV Dawing//////////////////////////////#Target circle cv2.circle(frame, (tX, tY), 10, (0, 0, 255), thickness=-1) #ser.write(botXY)#Background for text. cv2.rectangle(frame, (18,2), (170,160), (255,255,255), -1) #Target angle. cv2.line(frame, (tX,tY), (cxAvg,cyAvg),(0,255,0), 1) #Bot's X and Y is written to image cv2.putText(frame,str(cx)+" cx, "+str(cy)+" cy",(20,20),cv2.FONT_HERSHEY_COMPLEX_SMALL,.7,(0,0,0)) #Bot's X and Y averages are written to image cv2.putText(frame,str(cxAvg)+" cxA, "+str(cyAvg)+" cyA",(20,40),cv2.FONT_HERSHEY_COMPLEX_SMALL,.7,(0,0,0)) #"Ok" is written to the screen if the X&Y are close to X&Y Avg for several iterations. cv2.putText(frame,stringXOk,(20,60),cv2.FONT_HERSHEY_COMPLEX_SMALL,.7,(0,0,0)) cv2.putText(frame,stringYOk,(20,80),cv2.FONT_HERSHEY_COMPLEX_SMALL,.7,(0,0,0)) #Print the compass to the frame. cv2.putText(frame,"Bot: "+headingDeg+" Deg",(20,100),cv2.FONT_HERSHEY_COMPLEX_SMALL,.7,(0,0,0)) cv2.putText(frame,"Target: "+strTargetDegs+" Deg",(20,120),cv2.FONT_HERSHEY_COMPLEX_SMALL,.7,(0,0,0)) #Dots eaten. cv2.putText(frame,"Dots Ate: "+str(dots),(20,140),cv2.FONT_HERSHEY_COMPLEX_SMALL,.7,(0,0,0)) #After the frame has been modified to hell, show it. cv2.imshow('frame',frame) #Color image cv2.imshow('thresh',thresh2) #Black-n-White Threshold image#/// End CV Draw ////////////////////////////////////// | 276 277 278 279 280 281 282 283 |
181: Cuando encontrar el ángulo entre el robot y el destino, luego convertirlo en grados, termina por darnos un número que es un flotador. Que es más lo que necesitamos, así que aquí convertimos el float ()degs) a y entero (targetDegs) por lo que podemos comparar a rumbo de la brújula del robot.
184: Declaramos una cadena vacía llamada strTargetDegs.
187: Luego convertimos el flotador degs en una cadena por lo que podemos imprimir el ángulo objetivo sobre la pantalla en línea 264.