Я написал программу на Python, используя Open CV, чтобы рисовать маленькие круги на черном изображении и соединять их линией для проверки использования событий щелчка мыши. Однако я не понимаю поток управления в коде. Я получил эти 2 варианта из 2 источников.
Пожалуйста, объясните мне поток управления в обоих из них.
Первый код:
import cv2
import numpy as np
x2,y2,c=0,0,0
def click (event,x,y,flags,param):
global x2,y2,c
if event==cv2.EVENT_LBUTTONDOWN:
cv2.circle(img, (x,y), 5, (0,0,255),-1)
if (c==0):
cv2.imshow('image',img)
else:
cv2.line(img, (x2,y2), (x,y), (255,255,0), 1, cv2.LINE_AA)
cv2.imshow('image',img)
x2,y2=x,y
c=c+1
img=np.zeros((700,700,3), np.uint8)
cv2.imshow('image',img)
cv2.setMouseCallback('image',click)
cv2.waitKey(0)
cv2.destroyAllWindows()
Второй код:
import cv2
import numpy as np
x2,y2,c=0,0,0
def click (event,x,y,flags,param):
global x2,y2,c
if event==cv2.EVENT_LBUTTONDOWN:
cv2.circle(img, (x,y), 5, (0,0,255),-1)
if (c!=0):
cv2.line(img, (x2,y2), (x,y), (255,255,0), 1, cv2.LINE_AA)
x2,y2=x,y
c=c+1
img=np.zeros((700,700,3), np.uint8)
cv2.namedWindow('image')
cv2.setMouseCallback('image',click)
while (True):
cv2.imshow('image',img)
if cv2.waitKey(20)==ord('q'):
break
cv2.destroyAllWindows()