Я проверяю другой вопрос на google или stackoverflow, они говорят о запуске cv2.imshow в скрипте, но мой код работает в ноутбуке jupyter.
Вот моя конфигурация:
-
ubuntu 16.4x64
-
python 3.5
-
opencv 3.1.0
Я начинаю jupyter ноутбук: вот код, который я ставлю на ноутбук:
%pylab notebook
import cv2
cvim2disp = cv2.imread('data/home.jpg')
cv2.imshow('HelloWorld', cvim2disp)
cv2.waitKey() #image will not show until this is called
cv2.destroyWindow('HelloWorld') #make sure window closes cleanly
Когда я выполняю этот код. изображение будет отображаться во всплывающем окне, но я не могу закрыть это окно, щелкнув x в верхнем правом углу, а через мгновение система сообщит мне, что окно не отвечает, это даст мне 2 варианта: wait "," fore quit ". если я нажму на ожидание, тогда он покажет одно и то же сообщение позже. Если я ударил "fore quit", тогда ядро jupyter ноутбука умрет, и я должен начать все сначала.
Я google вокруг, многие решения предлагают мне добавить этот код
cv2.startWindowThread()
до imshow
, но ситуация ухудшается, ядро висит навсегда !. кто-нибудь знает, что происходит.