OpenCV -> Python - окно изображения не закрывается

Мне нужен пользовательский ввод после показа изображения, но проблема в том, что окно изображения не закрывается и зависает. У вас есть какое-то решение или альтернатива, которую я могу использовать для получения пользовательского ввода?

Код:

import cv2

img = cv2.imread("begin.jpg")
cv2.imshow("test",img)
cv2.destroyAllWindows()
raw_input("test:")

Проблема: окно с изображением не закрывается

Причина: raw_input(). При удалении raw_input() окно закрывается, как и ожидалось.

Я ожидаю от пользователя более одного символа.

Большое спасибо


person dvsaraiva    schedule 06.06.2015    source источник
comment
Если бы ваш код работал так, как ожидалось, он фактически немедленно отображал бы и скрывал окно. В любом случае, waitKey - это, скорее всего, функция, которую вы хотите использовать здесь. Он принудительно обновляет окно либо немедленно, по истечении тайм-аута, либо после нажатия клавиши.   -  person all or None    schedule 07.06.2015
comment
Да, если бы код работал так, как ожидалось, окно сразу же показывалось бы и скрывалось. Чего я не понимаю, так это почему raw_input заставляет не работать destroyAllWindows... Что касается waitKey, моя проблема не в том, что окно будет отображаться и немедленно скрываться, я поставил такой код, чтобы показать, что raw_input не позволяет окно закрыть. С помощью waitKey также можно прочитать символ, но я хотел бы получить более одного...   -  person dvsaraiva    schedule 07.06.2015
comment
Не используйте waitKey в качестве пользовательского ввода, кроме как для закрытия окна. Затем соберите их ввод с помощью raw_input.   -  person all or None    schedule 07.06.2015
comment
Да, это то, что я хочу... но проблема в том, что окно не закрывается.   -  person dvsaraiva    schedule 08.06.2015
comment
Поставить еще waitKey после команды уничтожения окна?   -  person all or None    schedule 09.06.2015
comment
Это было решение, которое я сделал перед публикацией, но спасибо за идею;) Я заинтригован таким поведением destroy_window и raw_input... Я также пытался запустить в отдельном потоке код для открытия и закрытия окна, но даже после окончания потока окно не закрывается, если после конца потока есть raw_input...   -  person dvsaraiva    schedule 09.06.2015
comment
stackoverflow.com/questions/6116564/   -  person electron1979    schedule 28.07.2015


Ответы (1)


У меня была та же проблема: я нашел следующую информацию в openCV DevZone, похоже на ошибку: http://code.opencv.org/issues/2911 у меня работает.

person Arnok    schedule 08.06.2016