opencv2 NameError: name 'output' is not defined

Viewed 997

** Python cv2 opencv2 live cam doesn't not open interface only showing gray image interface...this open camera interface but not live video..........**

import cv2

    def main():
        windowName = "Live video Feed"
        cv2.namedWindow(windowName)
        cap = cv2.VideoCapture(0)

        if cap.isOpened():
            ret, frame = cap.read()
        else:
            ret = False

        while ret:
            ret, frame = cap.read()

            cv2.imshow("Gray", output)
            cv2.imshow(windowName, frame)
            if cv2.waitKey(1) == 27:
                break

        cv2.destroyAllWindow()


        cap.release()


    if __name__== "__main__":
        main() 

Eroor...

Traceback (most recent call last):
      File "C:\Users\Lenovo\Desktop\live webcame pro.py", line 32, in <module>
        main()
      File "C:\Users\Lenovo\Desktop\live webcame pro.py", line 20, in main
        cv2.imshow("Gray", output)
    NameError: name 'output' is not defined
    >>> 
2 Answers
while ret:
    ret, frame = cap.read()

Add with this out this script between

    output = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 

between

    cv2.imshow("Gray", output)
    cv2.imshow(windowName, frame)
    if cv2.waitKey(1) == 27:
        break
while ret:
            ret, frame = cap.read()

Add only this after next line.

output = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 
Related