使用opencv在python中以灰度显示摄影机提要

使用opencv在python中以灰度显示摄影机提要,python,opencv,grayscale,Python,Opencv,Grayscale,我一直在尝试以灰度显示笔记本电脑网络摄像头的摄像头提要,我使用了以下代码: import cv2 import numpy as np clicked = False def onMouse(event, x, y, flags, param): global clicked if event == cv2.cv.CV_EVENT_LBUTTONUP: clicked = True cv2.name

我一直在尝试以灰度显示笔记本电脑网络摄像头的摄像头提要,我使用了以下代码:

    import cv2
    import numpy as np
    clicked = False
    def onMouse(event, x, y, flags, param):
        global clicked
        if event == cv2.cv.CV_EVENT_LBUTTONUP:
            clicked = True

    cv2.namedWindow('image capture', cv2.WINDOW_NORMAL)
    cv2.setMouseCallback('image capture', onMouse)
    #initialize the camera object with VideoCapture
    camera = cv2.VideoCapture(0)
    sucess, frame = camera.read()
    cv2.imwrite('snapshot.png', frame)
    gray = cv2.imread('snapshot.png', cv2.IMREAD_GRAYSCALE)
    while sucess and cv2.waitKey(1) == -1 and not clicked:
        cv2.imwrite('snapshot.png', frame)
        gray = cv2.imread('snapshot.png', cv2.IMREAD_GRAYSCALE)
        cv2.imshow('image capture', gray)
        sucess, frame = camera.read()

    cv2.imwrite('snapshot.png', frame)
    print 'photo taken press any key to exit'
    cv2.waitKey()
    cv2.destroyAllWindows()
在这里,我所做的是将帧保存在“snapshot.png”中,然后再次以灰度方式重新加载并显示该灰度图像。有没有什么方法可以直接读取灰度图中的相机帧,而不是经历所有这些混乱。提前谢谢。

哇,真是一团糟;)

你只需要:

gray = cv2.cvtColor( img, cv2.COLOR_BGR2GRAY )
哇,真是一团糟;)

你只需要:

gray = cv2.cvtColor( img, cv2.COLOR_BGR2GRAY )