Моя программа предназначена для показа изображения с камеры с открытым cv2 на python.
Пользователь может открывать и закрывать одно и то же окно (по имени окна) несколько раз.
ПервыйКогда пользователь пытается закрыть все работает нормально, но при попытке закрыть во второй раз, Python зависает.
Я использую cv2.destroyWindow(windowName)
, но я пытался cv2.destroyAllWindows()
, cv2.waitKey(1)
после уничтожения раньше,ничего из этого не работает.
Я на Windows OS, я видел, что эта проблема очень распространена на MAC OS
Выбор пользователя:
s1 = View()
while is_true:
print("1 -> Start Camera")
print("2 -> Close Camera")
print("3 -> End")
usr_input = input()
if usr_input == "1":
s1.show("topic1", frame) #frame is the image from camera"
elif usr_input == "2":
s1.close("topic1")
elif usr_input == "3":
is_true = False
else:
print("Invalid month")
Просмотреть класс:
class View:
def show(self, name, frame):
cv2.imshow(name, frame)
cv2.waitKey(1)
def close(self, name):
cv2.destroyWindow(name)
cv2.waitKey(1)