用树莓派 + Python + OpenCV识别人脸 拍照并上传到七牛云

这里主要想通过识别人脸并上传到七牛云存储
首先是安装七牛SDK

下载地址

https://github.com/qiniu/python-sdk/releases

安装

直接安装:

pip install qiniu

easy_install qiniu

源码安装:

#从Python SDK 下载地址下载源码
tar xvzf python-sdk-$VERSION.tar.gz
cd python-sdk-$VERSION
python setup.py install

初始化

在使用SDK 前,您需要一对有效的 AccessKey 和 SecretKey 签名授权。

可以通过如下步骤获得:

1、开通七牛开发者帐号
2、登录七牛开发者平台,查看 Access Key 和 Secret Key。
获取Access Key 和 Secret Key 后,调用如下两行代码进行初始化对接:

from qiniu import Auth
q = Auth(access_key, secret_key)

上传相关

# -*- coding: utf-8 -*-
# flake8: noqa
from qiniu import Auth, put_file, etag
import qiniu.config
#需要填写你的 Access Key 和 Secret Key
access_key = 'Access_Key'
secret_key = 'Secret_Key'
#构建鉴权对象
q = Auth(access_key, secret_key)
#要上传的空间
bucket_name = 'Bucket_Name'
#上传到七牛后保存的文件名
key = 'my-python-logo.png'
#生成上传 Token,可以指定过期时间等
token = q.upload_token(bucket_name, key, 3600)
#要上传文件的本地路径
localfile = './sync/bbb.jpg'
ret, info = put_file(token, key, localfile)
print(info)
assert ret['key'] == key
assert ret['hash'] == etag(localfile)

对图片上传

# -*- coding: utf-8 -*-
import cv2
import time
from qiniu import Auth, put_file, etag, urlsafe_base64_encode
import qiniu.config
import os
#需要填写你的 Access Key 和 Secret Key
access_key = '' #这里的密钥填上刚才我让你记住的密钥对
secret_key = '' #这里的密钥填上刚才我让你记住的密钥对

#构建鉴权对象
q = Auth(access_key, secret_key)
#要上传的空间
bucket_name = 'face'


cap=cv2.VideoCapture(0)
i=0
while(1):
    ret ,frame = cap.read()
    k=cv2.waitKey(1)
    if k==27:
        break
    elif k==ord('s'):
        localfile=str(i)+'.jpg'
        cv2.imwrite(localfile,frame)
        #上传到七牛后保存的文件名
        key = '%s_%s_%s_%s_%s_%s.jpg'%(time.localtime()[0],time.localtime()[1],time.localtime()[2],time.localtime()[3],time.localtime()[4],time.localtime()[5])
        #生成上传 Token,可以指定过期时间等
        token = q.upload_token(bucket_name, key, 3600)
        #要上传文件的本地路径
        ret, info = put_file(token, key, localfile)
        print(info)
        assert ret['key'] == key
        assert ret['hash'] == etag(localfile)
        i+=1
    elif k==ord('q'):
        break
    cv2.imshow("capture", frame)
cap.release()
cv2.destroyAllWindows()


给出识别人脸的代码

import cv2

cap = cv2.VideoCapture(0) # 使用第5个摄像头(我的电脑插了5个摄像头)
face_cascade = cv2.CascadeClassifier(r'haarcascade_frontalface_default.xml') # 加载人脸特征库

while(True):
    ret, frame = cap.read() # 读取一帧的图像
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # 转灰

    faces = face_cascade.detectMultiScale(gray, scaleFactor = 1.15, minNeighbors = 5, minSize = (5, 5)) # 检测人脸
    for(x, y, w, h) in faces:
        cv2.rectangle(gray, (x, y), (x + w, y + h), (0, 255, 0), 2) # 用矩形圈出人脸

    cv2.imshow('Face Recognition', gray)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release() # 释放摄像头
cv2.destroyAllWindows()

### 回答1: 树莓派3b 是一种小型计算机,可以应用于各种嵌入式系统中。结合opencv图像处理库,可以实现人脸识别门禁系统。 在系统中,树莓派3b作为主控制器,通过摄像头采集图片,并使用opencv进行图像处理和人脸识别。当有人靠近门口时,树莓派可以识别出其面部信息,并与已存储的人脸数据库进行对比,从而确定是否有权限进入。 为了保证系统的安全性,可以通过添加语音控制和身份验证等功能来进一步加强系统的安全性。同时可以加入实时监控功能,将采集的画面实时传输至管理人员,及时反馈人员进出信息。 总体来说,基于树莓派3b和opencv人脸识别门禁系统有着较高的安全性、高效的运行速度以及良好的稳定性等优点,可以应用于学校、公司等地的门禁系统中。 ### 回答2: 随着人们对门禁安全性的日益重视,基于树莓派3b和OpenCV人脸识别门禁系统得到越来越广泛的应用。 首先,使用树莓派3b可以实现低成本的门禁控制系统。树莓派作为一种单片机,它既可以作为一个微型计算机来完成门禁控制系统的主体功能,又可以根据不同系统的需求接入不同的外设,如门禁读卡器、门铃、LED灯等。 其次,OpenCV是一款强大的开源计算机视觉库,它支持多种计算机视觉算法,包括人脸检测和识别人脸识别门禁系统主要通过将门禁区域内的摄像头与OpenCV进行连接,实现对人脸的实时监测和识别,从而控制门禁的开启与关闭。OpenCV的高精度识别,可以大大提高门禁性能。 最后,人脸识别门禁系统可以应用于多种场所,如工厂、学校、小区等,实现了高效门禁控制、流畅通行、安全管理等功能。同时,基于树莓派3B和OpenCV的门禁系统不仅成本低、性能高,而且通过不断地更新软件算法,也可以不断地提升门禁系统的安全性级别,拓展门禁系统的应用领域。 ### 回答3: 基于树莓派3b和opencv人脸识别门禁系统是一种非常先进的智能门禁系统。该系统可以根据注册的人脸信息进行快速准确的身份识别,并控制门禁的进出。该系统的核心技术是使用opencv对摄像头捕捉到的图像进行处理和分析,找出其中的人脸特征,并与已有的人脸模板进行匹配。 在使用该门禁系统时,用户首先需要将自己的人脸信息进行注册,包括姓名、照片等。当用户来到门禁处时,门禁系统会自动对其进行人脸识别,并与注册时的信息进行匹配,如果匹配成功,系统会自动开启门禁,否则门禁将无法开启。该系统不仅可以提高门禁的安全性和便利程度,还可以减少传统门禁系统的管理和维护成本。 该门禁系统的优势在于其高精度、高速度、高稳定性、低成本、易操作等特点,可以应用于企业、学校、公共场所等各种场合。同时,该系统还具有很好的扩展性和可定制性,可以根据用户的需求进行定制和升级。但是,该系统也存在一些缺点,如依赖网络环境、对光线的要求较高等,需要用户在使用时注意避免这些问题的影响。 总之,基于树莓派3b和opencv人脸识别门禁系统是一种非常实用和先进的门禁系统,可以为用户提供更加便捷、安全、高效的出入系统。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cuiran

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值