我一直试图以灰度显示笔记本电脑网络摄像头的相机,我已使用以下代码完成了该操作:
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'并再次以灰度重新加载并显示该灰度图像。是否有任何方法可以直接读取灰度相机框架而不是经历所有这些混乱。提前谢谢。
答案 0 :(得分:4)
gray = cv2.cvtColor( img, cv2.COLOR_BGR2GRAY )