Python编程实现拍照辨颜值
2021-06-24牟晓东
牟晓东
Python之所以越来越强大和流行的原因之一,便是其不断发展壮大的各种标准库和第三方扩展库模块。在导入库之后,我们可以直接使用其中已经编写好的各种函数,有时仅需很少的十几行甚至是几行代码就能实现非常强大的功能。人脸识别是人工智能的重要应用方向,通过本例我们将编写一段不太复杂的Python程序实现人脸识别的一些功能,包括调用摄像头进行拍照,数据上传至百度AI(“人工智能”)接口进行年龄、颜值等的辨识和信息返回输出。扫码下载程序源代码,下面对照代码我将为您讲解代码中的要点。
1.第三方库模块的安装准备工作
以Anaconda开源Python版本为例,首先进入其PowershellPrompt命令行界面,使用“pip install xxx”命令分别安装OpenCV计算机视觉库和requests,注意OpenCV的安装命令是“pip install opencv-python”(如图1)。如果安装不成功,可尝试更换国内的镜像源(如清华、阿里云等)。在程序的开始部分使用import命令将三个库模块導入:import cv2、import requests、import base64,base64是Python内置的模块无需安装。

2.调用摄像头进行“抓拍”
首先建立变量camera,其值为“cv2.VideoCapture(0)”,即调用OpenCV中的VideoCapture()函数,其中的参数0是指当前计算机的摄像头编号,该语句完成的功能是将摄像头拍摄到的画面保存至变量camera中;接着建立一个“while True:”永远为真的循环结构,在循环体的第一个“ret,img = camera.read()”语句中,前面的ret即“return”逻辑布尔值,为真的话则执行后面的“读取camera中保存的一帧画面并赋值给变量img”,这样可以有效过滤掉摄像头刚刚被调用启动时无法读取到数据的“报错”异常情况;语句“cv2.imshow('Look here:',img)”的作用是开启一个名为“Look here:”的新窗口,其……
