大数跨境
0
0

Mind+OpenCV—用Python模式十分钟搞定人脸识别!

Mind+OpenCV—用Python模式十分钟搞定人脸识别! 蘑菇云创造
2021-03-12
1
导读:功能真强大!

点击上方“蘑菇云创造”可以关注我们哦


简介

OpenCV库是一个常用的开源图像处理库,有Python版本,可以实现画图、人脸识别等功能,使用简单,功能强大。


Mind+的Python模式可以非常简单的部署环境,使用也非常简单,因此在Mind+中使用OpenCV可以非常快速的实现人脸识别。


安装

常规OpenCV安装会比较麻烦,但是使用Mind+则非常简单,可以一键安装依赖库。


● 安装Mind+1.7.0及以上版本 http://mindplus.cc


● 打开软件,切换到Python模式,等待终端出现Python信息。



● 点击库管理,首次打开等待一下初始化完成,切换到阿里源,选择图像处理中的opencv-Python,点击安装,等待完成,如果安装慢(超过半小时)可以尝试重启软件后切换不同的Python源。 


使用

环境检测


● 安装完成之后,可以在终端输入命令查看当前使用的openCV版本:


依次输入:

import cv2 回车

print(cv2.__version__) 回车,可以看到当前cv2的版本号,能正确输出则说明安装没有问题



● 接下来查看OpenCV安装目录:


继续输入:

print(cv2.__file__) 回车



● 可以打开这个目录,会发现里面有一些xml文件,这个是一些模型文件,后面的代码中将引用他们。



摄像头窗口显示


● OpenCV对于窗口显示非常简单,新建一个文件双击打开,输入如下代码:


#  -*- coding: UTF-8 -*-

import cv2 as cv 


cap = cv.VideoCapture(0) #打开编号0的摄像头


while(True):    

# 获取摄像头帧数据    

ret, frame = cap.read()    


# 处理为灰度帧    

gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)    

# 使用两个窗口显示获取的内容    cv.imshow('frame',frame)    cv.imshow('gray',gray)    

#间隔一段时间显示,如果按下Q键则退出    

if cv.waitKey(20) & 0xFF == ord('q'):       

    break

# 退出

cap.release() 

cv.destroyAllWindows()


● 打开或插上电脑摄像头,点击运行,稍等片刻就会看到弹出两个窗口显示了摄像头画面,一个彩色一个灰色。


注意:如果串口没有数据显示,则可能电脑摄像头编号不是0,尝试修改为其他,或者查看设备管理器中摄像头是否正常,以及检查安全软件是否拦截。



人脸识别

● 前面说过opencv库自带了一些识别算法,其中就包含人脸识别算法,输入如下代码,注意程序第5行需要导入模型文件需要复制到当前项目中。

#  -*- coding: UTF-8 -*-

import cv2 as cv


# 导入模型文件,此文件在opencv库文件夹下,需要复制到与当前程序同文件夹下

face_cascade = cv.CascadeClassifier('haarcascade_frontalface_default.xml')

cap = cv.VideoCapture(0) #打开编号0的摄像头


while(True):

    # 获取摄像头帧数据

    ret, frame = cap.read()


    # 处理为灰度帧

    gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)


    # 使用人脸识别模型识别

    faces = face_cascade.detectMultiScale(gray,1.3,5)


    # 将识别到的结果坐标在画面上画一个矩形框

    for (x,y,w,h) in faces:

        frame = cv.rectangle(frame,(x,y),(x+w,y+h),(255,0,0),2)


    # 显示有框的画面

    cv.imshow('frame',frame)


    #间隔一段时间显示,如果按下Q键则退出

    if cv.waitKey(20) & 0xFF == ord('q'):

        break

# 退出

cap.release()

cv.destroyAllWindows()



● 点击打开文件位置会打开一个文件夹,将前面步骤中打开的opencv安装目录下的对应模型文件复制到这个文件夹中,然后刷新文件目录即可看到。



● 点击运行代码,将摄像头对着人脸,则人脸上就会被标记出来。



 ● 获取到人脸坐标之后,接下来就可以使用坐标做其他事情了









蘑菇云创造

微信号 : mgystem

扫码关注,了解更多



推荐阅读:



【声明】内容源于网络
0
0
蘑菇云创造
蘑菇云是DFRobot旗下专注于AI人工智能、创客、STEAM、劳动教育的科技创新教育品牌;以为中国培养下一代科技创新人才为使命,为学校提供k12全龄段科技创新教育解决方案。
内容 969
粉丝 0
蘑菇云创造 蘑菇云是DFRobot旗下专注于AI人工智能、创客、STEAM、劳动教育的科技创新教育品牌;以为中国培养下一代科技创新人才为使命,为学校提供k12全龄段科技创新教育解决方案。
总阅读1.4k
粉丝0
内容969