Python Forum
OpenCV - Doubt in a line. - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: General Coding Help (https://python-forum.io/forum-8.html)
+--- Thread: OpenCV - Doubt in a line. (/thread-19783.html)



OpenCV - Doubt in a line. - ArjunSingh - Jul-14-2019

import numpy as np
import cv2

cap = cv2.VideoCapture(0)

# Define the codec and create VideoWriter object
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))

while(cap.isOpened()):
    ret, frame = cap.read()
    if ret==True:
        frame = cv2.flip(frame,0)

        # write the flipped frame
        out.write(frame)

        cv2.imshow('frame',frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    else:
        break

# Release everything if job is finished
cap.release()
out.release()
cv2.destroyAllWindows()
I am learning OpenCV for image processing, I took this code from the official OpenCV site.
I am having doubt in this line 19 "cv2.waitKey(1) & 0xFF == ord('q'):"
I tried to print ord('q'), where I am getting 113 as the output and for cv2.waitKey(1) I am getting -1 as the output. When I tried to print cv2.waitKey(1) & 0xFF I am getting the output as 255. How can 255 be equal to 113. Hence this condition will always fail what is the use of this line please help me out.


RE: OpenCV - Doubt in a line. - ThomasL - Jul-14-2019

Did you check what cv2.waitkey() is doing?
If not look here!
Quote:The function waitKey waits for a key event infinitely (when {delay}>= 0 ) or for delay milliseconds, when it is positive. Since the OS has a minimum time between switching threads, the function will not wait exactly delay ms, it will wait at least delay ms, depending on what else is running on your computer at that time.

It returns the code of the pressed key or -1 if no key was pressed before the specified time had elapsed.