openCV 简单的视频处理 在窗口显示摄像头帧

小白学习,高手勿喷。。。

首先我用的python版本是3.7.2,

openCV 简单的视频处理 在窗口显示摄像头帧_第1张图片

要使用的库是 openCV ,可以自己根据python的版本直接 pip install openCV-python

安装过程中可能会报错报错信息,需要你安装一个numpy。numpy是openCV绑定python时所依赖的库。

pip install numpy 就可以自己下载啦。还有一个方法是直接安装到本地下载,进入win命令处理程序【win+R】

cd到目录下,然后在pip install XXXX 安装本地文件。注意的是安装的时候加上后缀名。然后就可以开心的编程了。

我们先看看 import cv2 会不会报错,如果不报错,就说明安装成功了。openCV 简单的视频处理 在窗口显示摄像头帧_第2张图片

没有报错,开心(*^▽^*)    然后,开始愉快的编程了。

import cv2

clicked=False

def onMO(event,x,y,falgs,param):
    global cliccked
    if event == cv2.EVENT_LBUTTONUP:
        clicked = True

#这里的cv2.VideoCapture(0)是调用摄像头,里面是参数是摄像头的索引号,
#  0是本机的摄像头‘第一个’
#以前一直以为这个参数是前后摄像头/外接的设备调用
cameCap=cv2.VideoCapture(0)
#现实窗口的命名/打开
cv2.namedWindow('mywindow')
#通过setMouseCallback函数来获取鼠标的输入
cv2.setMouseCallback('mywindow',onMO)

print('showing camera feed. click')
#cameCap.read()是读入摄像头的数据,返回值一个是 是否读到了数据 一个是数据流
succ,frame=cameCap.read()
#waitKay(1)是等待按键被触发的时间 单位是毫秒 返回值是-1
#循坏的作用是 不断的把摄像头拍的,显示到窗口上
while succ and cv2.waitKey(1)== -1 and not clicked:
    cv2.imshow('myWindow',frame)
    succ,frame=cameCap.read()
#关闭窗口 释放资源
cv2.destroyWindow('myWindow')
cameCap.release()

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

代码写完了 开始跑一下:

openCV 简单的视频处理 在窗口显示摄像头帧_第3张图片

hahaha   我的摄像头还是蛮清晰的 就是位置在电脑屏幕的下面 位置不好,黑色的是键盘,不要太在意╮(╯▽╰)╭

按一下按键 程序终止。还是比较完美的。

哦,上面的代码有一行   print('showing camera feed. click')  是我随便加上去的 用来看程序运行到哪里。

方便程序改错和观察。

你可能感兴趣的:(python)