camera

小说:今日赚怎么提现不了作者:文戏密丁更新时间:2019-03-22字数:29913

叶扬走在街上,突然看到前面有个熟悉的身影,他的眉毛微微一扬,脸上露出一丝古怪的表情。

章豪手赚网可靠吗

风沙接近,骆驼明显有些慌乱,这种常年行走在沙漠中的大家伙最是清楚沙暴的厉害,商队随行用手拉紧缰绳,取出黑布将骆驼眼睛蒙上,这种方式用来去除骆驼恐慌最是有效,身子尽量弯下,指挥驼队直奔绿洲方向奔去。
这一招也是他在研究摸索风云合璧摩诃无量的时候感悟其变化奥妙得到了感悟然后活学活用将之融入了自已的武道之中,制造出了现在这一招。

唐牛依然四处寻找,试图找到凶手留下的证据,可惜最终一无所获,只得从下面跳上。

 

 现在实验室用的门禁都是刷卡进入,经常忘记带卡而进不去,所以就用树莓派自己做了一个刷脸认证的门禁系统,简单易用,准确性还挺高。接下来详细的说下具体的制作过程:

1.准备树莓派

首先你得有一块树莓派,淘宝卖家很多,选择三代性能相对好一点。

然后得需要电源,电源使用的microUSB供电。

树莓派安装系统得需要外接SD卡,一般16G大小的便足够了。其他的配件如显示屏,鼠标,键盘这些就不用细说啦,肯定需要准备的。

2.树莓派安装系统

如果买来的树莓派已经刷好系统了,那么就可以跳过这一步。官方提供的操作系统是 Raspbian,这是 Debian 系统的定制版。

下载完成镜像后,解压,再下载一个工具Win32 Disk Imager,专门用来写“.img"文件到SD和USB卡中的软件Win32 Disk Imager怎么下载?百度一下“Win32 Disk Imager”即可,下载安装之后

写入镜像,ImageFile就是镜像文件,Device就是你的SD卡。到此为止准备工作已经做好了。

3.注册百度云

由于树莓派的性能限制,运行神经网络来进行人脸识别的难度较大,所以我们采用了开源的人脸识别SDK来进行人脸的识别和检测,对比了国内几家的SDK,个人觉得百度人脸识别的效果要好一点,特别是并发数要比其他的好很多。下面介绍下百度云注册和SDK的使用方法:

1) 注册百度云

  首先你要注册一个百度云账号,注册完成之后进入控制台:

创建一个自己的应用,这里我创建好了一个刷脸门禁应用:

这里要记住APPID,API Key,Secret Key。这三个后面的程序需要用到。然后在百度开放平台下载人脸识别SDK:

我是用的python语言,所以下载对应的python的SDK,如果你用的别的语言可以下载对应的SDK来使用,具体的SDK怎么安装使用可以详细的看下SDK文档,按照文档来操作就OK啦~

2)识别程序

  百度云注册完成、下载完成SDK后我们就开始写程序,程序的思路很简单,通过树莓派拍一张照片,然后通过SDK来检测照片里面的人是谁,如果这个人在人脸库里面,而且有权限的话,那么就开门,如果不在人脸库就关门。同时我还添加了语音播报的功能,而且还能将开门信息推送到微信上,这样就可以试试的看到有谁来开门了。先上代码:

  1 """
  2 通过摄像头拍一张照片,然后识别出人是谁,进而控制门禁系统
  3 @author: zutterhao
  4 @date:2018年5月19日
  5 """
  6 
  7 from aip import AipFace
  8 from picamera import PiCamera
  9 import urllib.request
 10 import RPi.GPIO as GPIO
 11 import base64
 12 import time
 13 import pyttsx3
 14 import pygame
 15 
 16 #百度人脸识别API账号信息
 17 APP_ID = "********"
 18 API_KEY = "*******************"
 19 SECRET_KEY = "*********************‘
 20 client = AipFace(APP_ID, API_KEY, SECRET_KEY)
 21 #图像编码方式
 22 IMAGE_TYPE="BASE64"
 23 #用户组信息
 24 GROUP = "fanghao"
 25 camera = PiCamera()
 26 engine = pyttsx3.init()
 27 pygame.mixer.init()
 28 GPIO_IN_PIN = 15
 29 GPIO_OUT_PIN1 = 11
 30 GPIO_OUT_PIN2 = 13
 31 #定义一个摄像头对象
 32 def getimage():
 33     camera.resolution = (1024,768)
 34     camera.start_preview()
 35     time.sleep(2)
 36     camera.capture("faceimage.jpg")
 37     pygame.mixer.music.load("./voice/start.mp3")
 38     pygame.mixer.music.play()
 39     time.sleep(2)
 40 
 41 #对图片的格式进行转换
 42 def transimage():
 43     f = open("faceimage.jpg","rb")
 44     img = base64.b64encode(f.read())
 45     return img
 46 #播放声音
 47 def playvioce(name):
 48     pygame.mixer.music.load("./voice/" +name)
 49     pygame.mixer.music.play()
 50 #发送信息到微信上  
 51 def sendmsg(name,main):
 52     url = "https://sc.ftqq.com/***********************************.send?"
 53     urllib.request.urlopen(url + "text="+name+"&desp="+main)
 54     
 55 #上传到百度api进行人脸检测
 56 def go_api(image):
 57     result = client.search(str(image, "utf-8"), IMAGE_TYPE, GROUP);
 58     if result["error_msg"] == "SUCCESS":
 59         name = result["result"]["user_list"][0]["user_id"]
 60         score = result["result"]["user_list"][0]["score"]
 61         if score > 80:
 62             print("Welcome %s !" % name)
 63             if name == "fanghao":
 64                 sendmsg("DoorOpen",name)
 65                 playvioce("fanghao.mp3")
 66                 time.sleep(3)
 67             if name == "chengjiayu":
 68                 sendmsg("DoorOpen",name)
 69                 playvioce("chengjiayu.mp3")
 70                 time.sleep(3)
 71                 playvioce("despacito.mp3")
 72                 time.sleep(5)
 73             if name == "zhangzhijian":
 74                 sendmsg("DoorOpen",name)
 75                 playvioce("zhangzhijian.mp3")
 76                 time.sleep(3)
 77         else:
 78             print("Sorry...I don"t know you !")
 79             playvioce("noroot.mp3")
 80             name = "Unknow"
 81             return 0
 82         curren_time = time.asctime(time.localtime(time.time()))
 83         f = open("Log.txt","a")
 84         f.write("Person: " + name + "     " + "Time:" + str(curren_time)+"
")
 85         f.close()
 86         return 1
 87     if result["error_msg"] == "pic not has face":
 88         print("There is no face in image!")
 89         playvioce("face.mp3")
 90         time.sleep(2)
 91         return 0
 92     else:
 93         print(result["error_code"]+" " + result["error_code"])
 94         return 0
 95 #主函数
 96 if __name__ == "__main__":
 97     GPIO.setmode(GPIO.BOARD)
 98     GPIO.setup(GPIO_IN_PIN,GPIO.IN)
 99     GPIO.setup(GPIO_OUT_PIN1,GPIO.OUT)
100     GPIO.setup(GPIO_OUT_PIN2,GPIO.OUT)
101     while True:
102         print("OK")
103         if True:
104         #if GPIO.input(GPIO_IN_PIN) == GPIO.LOW:
105             getimage()
106             img = transimage()
107             res = go_api(img)
108             if(res == 1):
109                 GPIO.output(GPIO_OUT_PIN2,GPIO.HIGH)
110                 time.sleep(1)
111                 GPIO.output(GPIO_OUT_PIN2,GPIO.LOW)
112             else:
113                 GPIO.output(GPIO_OUT_PIN1,GPIO.HIGH)
114                 time.sleep(1)
115                 GPIO.output(GPIO_OUT_PIN1,GPIO.LOW)
116             print("waite 3 seconds to do next")
117             playvioce("waite.mp3")
118             time.sleep(3)
119 
120                 
121             

这里拍照用的picamera,是专门为树莓派定制的摄像头,淘宝可以买到。picamera的使用方法可以在这里看到。播放音乐我用的pygame的播放音乐模块,我请小姐姐给我录的音,哈哈炒鸡好听~,推送微信我用的一个很好的工具server酱,真的非常好用,只需一行代码就OK~

下面贴一张丑照:

  

 

外壳还在打印,所以暂时就用红绿灯表示门的开关了,等外壳打印好了再更新一波实测视频~

 

 

 

 

 

 

编辑:马陵秉

发布:2019-03-22 02:40:10

当前文章:http://scycxh.com/list_26059.html

挂机赚qb软件 快递网点下班时间 海澜电商平台 怎么成为美嘛折扣超级会员 如何投稿赚稿费 赚钱的微信小程序 可以接码的赚钱软件 京东电商乡村代理申请

70809 13689 84735 62524 29305 5158369457 31637 68616

我要说两句: (0人参与)

发布