Получение ошибки доступа к переменным, определенным в цикле: невозможно получить доступ к локальной переменной «x», где Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Получение ошибки доступа к переменным, определенным в цикле: невозможно получить доступ к локальной переменной «x», где

Сообщение Anonymous »

Мой код:

Код: Выделить всё

import numpy as np import cv2

cap = cv2.VideoCapture(0) face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml') eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_eye.xml')

def eye_detector(): while True: ret, frame = cap.read()

gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x, y, w, h) in faces:
roi_gray = gray[y:y + w, x:x + w]
roi_color = frame[y:y + h, x:x + w]
eyes = eye_cascade.detectMultiScale(roi_gray, 1.3, 5 )

for (ex, ey, ew, eh) in eyes:
cv2.rectangle(roi_color, (ex, ey), (ex + ew, ey + eh), (0, 255, 0), 5)

cv2.imshow('frame', frame)
if cv2.waitKey(1)==ord('q'):
break

elif x == 210 or y== 140:
cv2.destroyWindow("frame")
continue

elif ey == 30 or ex == 50:
cv2.destroyWindow("frame")
continue

cap.release()
cv2.destroyAllWindows()

import project1_module1
import project1_module2
project1_module2.eye_detector()
Я получаю ошибку:

Код: Выделить всё

"cannot access local variable 'x' where it is not associated with a value"
Я пытался переопределить значение внутри циклов if() и for(), но это не сработало. Мой ожидаемый результат заключается в том, что камера включится и выключится, когда x, y, ex и мои значения просканируют эти значения (строки 26-32 в project1_module2.py). Но ошибка произошла. (Написанный выше код — project1_module2.py)

Подробнее здесь: https://stackoverflow.com/questions/792 ... local-vari
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»