import cv2 from time import sleep import RPi.GPIO as GPIO GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) st1=6 dir1=5 st2=3 dir2=2 GPIO.setup(st1, GPIO.OUT) GPIO.setup(dir1, GPIO.OUT) GPIO.setup(st2, GPIO.OUT) GPIO.setup(dir2, GPIO.OUT) def motion(event,x,y, flags, paramq): if event==cv2.EVENT_LBUTTONDOWN: Xpos=(x - 640) Ypos=(360 - y) S1=abs(round(Xpos/10)) A= abs(round(Ypos/Xpos, 1)) if Xpos<=0: d1=0 else: d1=1 if Ypos<=0: d2=1 else: d2=0 GPIO.output(dir1,d1) GPIO.output(dir2,d2) for n in range(S1): for x in range(10): GPIO.output(st1,1) sleep(0.001) GPIO.output(st1,0) sleep(0.001) for y in range(int(10*A)): GPIO.output(st2,1) sleep(0.001) GPIO.output(st2,0) sleep(0.001) Vcam="CAMERA" cv2.namedWindow(Vcam, cv2.WINDOW_AUTOSIZE) cv2.moveWindow(Vcam, 630, 220) cap0=cv2.VideoCapture(0) cap0.set(cv2.CAP_PROP_FRAME_WIDTH, 1280) cap0.set(cv2.CAP_PROP_FRAME_HEIGHT, 720) if cap0.isOpened(): rval, frame0 = cap0.read() else: rval = False while rval: cv2.imshow(Vcam, frame0) rval, frame0 = cap0.read() cv2.line(img=frame0, pt1=(640, 0), pt2=(640, 720), color=(0, 255, 255), thickness=2, lineType=8, shift=0) cv2.line(img=frame0, pt1=(0, 360), pt2=(1280, 360), color=(0, 255, 255), thickness=2, lineType=8, shift=0) key=cv2.waitKey(1) & 0xFF if key == ord('q'): break else: cv2.setMouseCallback("CAMERA",motion) cap0.release() cv2.destroyAllWindows()