使用Python+OpenCV--给电脑视频签到系统

Hello,各位朋友,我们可能会遇到一种情况,在线考试的时候需要电脑给自己拍照签到,如何我们自己也设计一个呢?让我们一起来了解python的一个工具包,叫openCV
全称(open source computer vision library),
翻译:open 开放的  source源代码  computer计算机  vision视觉   library仓库

简称:开源视觉库  综合用途就是 图像处理的

我们一起来看看原理吧。


首先我们介绍一下代码:

#导入opencv库
import cv2

接下来,介绍一下打开摄像头的代码

capture = cv2.VideoCapture(0)
打开摄像头,并返回变量caputre

我们可以理解为在cv2工具包中有一个功能叫做VideoCapture
也就是cv2的VideoCapture
通过这你能发现,cv2.VideoCapture中间的 . 号被翻译为 的
那么(0)代表啥呢,
( )代表参数,0代表第一个摄像头

capture则代表运行代码后的整个摄像头 变量,到了下文我们就用capture指代整个摄像头

 接下来我们建立循环:

while True :
....
....
....
我们需要注意,循环下面的代码需要注意4个空格
后面的代码都是在循环中    

然后我们使用capture.read()捕获摄像头的图像

ret, img = capture.read()
capture.read()
可以理解为摄像头的读取功能
一共返回两个变量,
第一个变量是返回是否捕捉到信息,也就是ret
第二个变量是返回具体图像,也就是img
通过分析我们可以理解,虽然一次性返回两个变量,但是img才是我们需要的

于是我们开始使用cv2.imshow显示图像

cv2.imshow('hello', img)
该语法是用cv2显示图像,里面有两个参数,
'hello' 是图像的名字,给使用者看的,可以随意更改,不影响使用
img是上面传下来的变量,代表图片的内容
谨慎更改名字,需要连同上面的img名字一起改掉

 当然了,捕捉图像后我们可以开始拍摄。

if cv2.waitKey(1) == ord('q'):
    break
相信大家都看到了,这个代码里面有个很明显的字母'q'
另外还有一个break,
如果大家有一定经历的话,相信这是按下q键就直接推出了

咋一看上面代码只是退出,和拍摄关系不大,于是我们接着往里面插入一段代码

插入在break前面

if cv2.waitKey(1) == ord('q'):
    cv2.imwrite('hello.png',img)
    插入代码保存图片,
    第一个参数是文件名,可以写成abc.png
    第二个参数是图片的变量
    break

疑问解答:什么是参数?

参数就是可以参考的数据,每个代码在执行过程中需要人为提供数据,让程序有依据执行

于是在代码执行前,我们往括号里面手动添加的变量或者数字这些都可以理解为参数

 代码整合


import cv2
导入视频
capture = cv2.VideoCapture(0)
while True :
    获取一帧
    ret, img = capture.read()
    cv2.imshow('frame', img)
    显示图片
    if cv2.waitKey(1) == ord('q'):
        cv2.imwrite('a.png',img)
        break

看看效果

鼠标点击自己的程序,然后按下shift把输入法换成英文

按下q键,保存好程序

好啦,接下来来看下效果吧

果然,我成功的保存了一张自己的近照

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值