以前互联网加的时候做的图像识别的工作,有些经验发出来让大家康康。
主要是大体的框架,不涉及算法。
camera = cv2.VideoCapture(0) #读取摄像头,0代表手提电脑自带的摄像头,若改成1,2,3...则可以调用其他摄像头
while True:
# 读取当前帧
ret, frame = camera.read()
参数ret 为True 或者False,代表有没有读取到图片,第二个参数frame表示截取到一帧的图片
这个frame就是用来传给图像处理的参数,说白了就是一张图片,ret调试的时候可以用一用
img = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR) #这个是转换函数,转换成符合自己需求的格式
im = decodeDisplay(img,camera) #这个是图像处理的函数
到这里就是全部最核心的处理工作了,接下来讲讲显示的部分。
// 简单示例
cv2.imshow("camera", im) #显示一个窗口
if cv2.waitKey(5) is 27: #按键盘的ESC键可退出
break
if cv2.getWindowProperty('camera',cv2.WND_PROP_AUTOSIZE) < 1: #用鼠标点击窗口退出键实现退出循环
break
对了,最后别忘了要把对象释放掉,在循环外
camera.release()
cv2.destroyAllWindows()
//
def detect():
camera = cv2.VideoCapture(0) #读取摄像头,0代表手提电脑自带的摄像头,若改成1,2,3...则可以调用其他摄像头
while True:
# 读取当前帧
ret, frame = camera.read()
img = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)
im = decodeDisplay(img,camera)
cv2.imshow("camera", im)
if cv2.waitKey(5) is 27: #按键盘的ESC键可退出,同时停顿一微秒
break
if cv2.getWindowProperty('camera',cv2.WND_PROP_AUTOSIZE) < 1: #用鼠标点击窗口退出键实现退出循环
break
camera.release()
cv2.destroyAllWindows()