Я пишу пример кода, который печатает щелчок мышью, а если щелкнуть конкретную точку, то флаг увеличивается на единицу. когда нажимаешь на какую-то другую позицию, то тот же флаг уменьшается на единицу. Также печатается флаг. Но там есть какая-то ошибка. Как ее избежать?
import cv2
import glob
image_count=0
global file_number
global total_files
file_number=30
def click_event(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONDOWN:
print x, y
if 28<x<287 and 29<y<65: #open
file_number=100
print(file_number)
if 33<x<144 and 89<y<120: #prev
file_number=file_number-1
print(file_number)
if 163<x<283 and 91<y<122: #next
file_number=file_number+1
print(file_number)
imdir = '/media/aju/21D83BA336AE27A9/idcard/'
ext = ['png', 'jpg', 'gif'] # Add image formats here
files = []
[files.extend(glob.glob(imdir + '*.' + e)) for e in ext]
images = [cv2.imread(file) for file in files]
print(files)
total_files=len(files)
print(total_files)
img = cv2.imread('menu.png')
cv2.imshow('Main Menu', img)
cv2.setMouseCallback("Main Menu", click_event)
cv2.waitKey(0)
cv2.destroyAllWindows
Error
Traceback (most recent call last):
File "final07_11_2018.py", line 14, in click_event
file_number=file_number-1
UnboundLocalError: local variable 'file_number' referenced before assignment