您的位置:首页 > 运维架构

OpenBR之二:OpenBR快速入门

2016-07-01 20:36 260 查看
OpenBR快速入门

一. 概述

本文主要通过几个有趣的例子介绍下openbr的思想、对象以及动机。
OpenBR是一个基于Qt,OpenCV和特征的C++库。它既可以在命令行中通过br命令来执行,也可以通过C++或者C程序接口来执行。本文通过br指令来介绍一些例子。
注:以下例子都需要摄像头支持。

二. 几个例子

1.打开Visual Studio 2013 本机工具命令提示并输入如下指令:
<span style="font-size:24px;"><span style="font-size:24px;">$ br -gui -algorithm "Show(false)" -enroll 0.webcam</span></span>




如果电脑摄像头正常工作则说明OpenBR安装成功。

2. 打开Visual Studio 2013 本机工具命令提示并输入如下指令:
<span style="font-size:24px;"><span style="font-size:24px;"> br -gui -algorithm "Cvt(Gray)+Show(false)" -enroll 0.webcam</span></span>
该例程摄像机将输出灰度图像。

3. 打开Visual
Studio 2013 本机工具命令提示并输入如下指令:
<span style="font-size:24px;"><span style="font-size:24px;">$ br -gui -algorithm "Cvt(Gray)+Cascade(FrontalFace)+Draw(lineThickness=3)+Show(false)" -enroll 0.webcam</span></span>
该例程将在输出窗口圈出识别到的人脸。

三. OpenBR命令行常用指令

OpenBR指令以-开头,指令之间以空格隔开,指令之后紧跟该指令需要的参数,指令和参数之间也用空格隔开。

1. -gui指令让br打开一个GUI窗口;
注:若一行指令中用到-gui指令则-gui指令必须为第一个传递给br的指令

2. -algorithm指令后紧跟一个参数(算法字符串),该字符串明确了图像和元数据的传递;

3. -enroll指令需要一个输入参数(例1中是0.webcam)和一个可选的输出参数;

4. 例2中算法字符串"Cvt(Gray)+Show(false)"将RGB图像转化为灰度图像并显示,其中Cvt是convert的缩写是对图像灰度化的算法字符串。同理,我们可以将Cvt的参数设置成HSV,LUV等。

5. OpenBR的算法字符串中的算法的参数可以以键值对的形式提供,例如Cvt(Gray)等效于
Cvt(colorSpace=Gray);
注:如果不以键值对的形式提供算法参数,那么参数需要按照一定的顺序提供。

6. Cascade(FrontalFace),这是一个关于opencv级联分类器的封装包,它可以使用frontalface模型检测正面人脸;

7. Draw(lineThickness=3):用矩形将Cascade级联分类器检测出来的人脸圈出来,其中linThikness设置矩形边框的线宽;

8. Show(false)将摄像头捕捉到的图像像是到GUI窗口中,其中false参数表示图像连续显示,true那么图像将一帧一帧的显示,按键盘上任意键显示下一帧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息