Diw*_*kar 0 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.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()
Run Code Online (Sandbox Code Playgroud)
在这里,我所做的是将帧保存在“ snapshot.png”中,然后再次将其重新加载为灰度并显示该灰度图像。是否有任何方法可以直接读取灰度图像而不是经历所有这些混乱情况。提前致谢。
哇,真是一团糟;)
您只想要:
gray = cv2.cvtColor( img, cv2.COLOR_BGR2GRAY )
Run Code Online (Sandbox Code Playgroud)