Как сохранить изображение открытым в OpenCV, даже если вы нажмете клавишу - PullRequest
0 голосов
/ 19 февраля 2020

Как мне это сделать? В matplotlib у нас есть аргумент Show with False, вы можете сохранить изображение без закрытия. В моем сценарии я выскакиваю два изображения с помощью cv2.imshow и читаю, что могу поддерживать их с помощью waitKey (0), но когда я нажимаю клавишу, они исчезают по мере стабилизации waitKey.

Я хочу чтобы узнать, существует ли эквивалентный метод для OpenCV как Show (False) из matplotlib.pyplot.

Ответы [ 2 ]

0 голосов
/ 20 февраля 2020

Вы можете использовать while l oop:

while cv2.waitKey(0) != 27:
    pass

l oop ожидает нажатия клавиши Escape.
Поместите его в конец скрипта, потому что это блокировка исполнения.

0 голосов
/ 19 февраля 2020

Когда вы используете waitKey (число), вы устанавливаете таймер на то, как долго OpenCV будет ждать нажатия любой клавиши и будет останавливать выполнение в течение этого времени, пока либо не будет нажата клавиша, либо таймер не будет активирован. Когда вы устанавливаете число = 0, это сокращение для того, чтобы сказать, что нужно ждать вечно, пока не будет нажата клавиша.

key = cv2.waitKey(0)
if key == 27:
   cv2.destroyAllWindows()

Приведенный выше код устанавливает его таким образом, чтобы при нажатии клавиши он возвращал нажатую клавишу в переменную: клавиша. Теперь, если key = 27 (то есть нажата клавиша esacpe), окно закроется. Если нет, то не будет. Более подробную информацию можно увидеть по ссылке ниже!

OpenCV Images

Cheers,

предупреждение: если вы используете 64-битный компьютер, то вам нужно использовать

k = cv2.waitKey(0) & 0xFF
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...