LabVIEW OpenCV人脸及人眼识别
在LabVIEW2016版中,在视觉与运动选板中可以添加OpenCV附加工具包。其中就有一个人脸识别的函数NIVisOpenCV Facedtection.vi。该函数的作用就是人脸识别及人眼识别。
NIVisOpenCV Facedtection.vi在函数面板中的位置
NIVisOpenCV Facedtection.vi接行线与说明-人脸特征数组
NIVisOpenCV Facedtection.vi接行线与说明-人眼特征数组
使用该函数,其实很简单,只需要采集图像、调用人脸识别函数、覆盖特征框,即可完成。
Image Src图像源:需要分析的图像输入。可以是读取图片,也可以是从相机中采集的图像。
Face Cascade Path人脸级联文件路径:即人脸特征分类器的文件路径。需要强制连接一个路径控件或常量,但是可以为空。
Eyes Cascade Path人眼级联文件路径:即人眼特征分类器的文件路径。可以不连接或连接一个空的路径。
Faces人脸:即检测到的人脸结果输出。为一个自定义的5元素的簇元素Rectangle构成的数组。其中簇中包含了左、顶、右、底、角度五个参数。即常见的旋转矩形。
Eyes人眼:即检测到的人眼结果输出。为一个自定义的5元素的簇元素Rectangle构成的数组。其中簇中包含了左、顶、右、底、角度五个参数。即常见的旋转矩形。
Faces、Eyes的结果可以通过Overlay Rectangle函数(可以在example>Vision>Overlay Utilities中找到,也可以examplesVisionNIVision OpenCV Utilitiesutility找到)覆盖到图像上。下面来看一下该函数的实现:
人脸识别例子程序框图
人脸识别例子前面板
人脸识别运行效果1
人脸识别运行效果2
加载级联分类器文件运行效果1
加载级联分类器文件运行效果2
运行效果来看,可以大部分的识别到,但是也会有识别错误或识别不到的情况。这个也是非常正常的,至于后期如何处理,如何去纠错,那就是后面的事情了。但是在LabVIEW中进行人脸识别,就是上面的函数就可以实现的,而在NI VISION模块中,则没有相关的函数可以实现这种应用。
LabVIEW OpenCV人脸识别及人眼识别
http://labviewvision.com/thread-16903-1-1.html?fromuid=9
(出处: 机器视觉论坛)