Я использую opencv 2.4.2, python 2.7 Следующий простой код создает окно с правильным именем, но его содержимое просто пустое и не показывает изображение:
import cv2
img=cv2.imread('C:/Python27/03323_HD.jpg')
cv2.imshow('ImageWindow',img)
кто-нибудь знает об этой проблеме?
python
opencv
image-processing
top.eng
источник
источник
Ответы:
imshow()
работает только сwaitKey()
:(Здесь скрыт весь цикл сообщений, необходимый для обновления окна.)
источник
print img
печатает правильный массив numpy, а неNoneType
объект.Я нашел ответ, который сработал для меня здесь: http://txt.arboreus.com/2012/07/11/highgui-opencv-window-from-ipython.html
источник
Вы должны использовать
cv2.waitKey(0)
послеcv2.imshow("window",img)
. Только тогда это сработает.источник
Если вы работаете в консоли Python, сделайте следующее:
Затем, если вы нажмете Enterна изображение, оно успешно закроет изображение, и вы сможете продолжить выполнение других команд.
источник
Я столкнулся с той же проблемой. Я попытался прочитать изображение из IDLE и попытался отобразить его с помощью
cv2.imshow()
, но окно дисплея зависает и показывает,pythonw.exe
что не отвечает при попытке закрыть окно.В сообщении ниже дается возможное объяснение того, почему это происходит.
pythonw.exe не отвечает
" В принципе, не делайте этого из IDLE. Напишите сценарий и запустите его из оболочки или сценарий напрямую, если он находится в Windows, назвав его с расширением .pyw и дважды щелкнув по нему. Очевидно, существует конфликт между собственным событием IDLE. цикл и те, что из наборов инструментов GUI ".
Когда я использовал
imshow()
сценарий и выполнял его, а не запускал его непосредственно через IDLE, он работал.источник
добавить
cv2.waitKey(0)
в конце.источник
У меня сработал waitKey () с номером больше 0
источник
У вас есть все необходимые части где-то в этой ветке:
у меня отлично работает в IDLE.
источник
Если у вас это не работает, вам лучше поставить
в один файл и запустите его.
источник
Не требует дополнительных методов после
waitKey(0)
(ответ на приведенный выше код)Появится окно -> Щелкните по окну и нажмите Enter. Окно закроется.
источник
Способ 1:
Следующий код работал у меня. Простое добавление destroyAllWindows () не закрыло окно. Добавление еще одного cv2.waitKey (1) в конце сделало свою работу.
кредит: https://stackoverflow.com/a/50091712/8109630
Примечание для новичков:
Способ 2:
Если вы хотите отобразить в блокноте Jupyter.
источник
Если вы решили использовать «cv2.waitKey (0)», убедитесь, что вы написали «cv2.waitKey (0)» вместо «cv2.waitkey (0)», потому что эта строчная буква «k» также может заморозить вашу программу. .
источник
У меня тоже была ошибка -215. Я думал, что проблема в imshow, но когда я изменил imread на чтение в несуществующем файле, я не получил там ошибки. Поэтому я поместил файл изображения в рабочую папку и добавил cv2.waitKey (0), и это сработало.
источник
Эта ошибка возникает из-за того, что изображение не найдено. Так что это не ошибка функции imshow.
источник
У меня была та же ошибка 215, которую я смог преодолеть, указав полный путь к изображению, например, C: \ Folder1 \ Folder2 \ filename.ext
источник