OpenBR之二:OpenBR快速入门
2016-07-01 20:36
260 查看
OpenBR快速入门
OpenBR是一个基于Qt,OpenCV和特征的C++库。它既可以在命令行中通过br命令来执行,也可以通过C++或者C程序接口来执行。本文通过br指令来介绍一些例子。
注:以下例子都需要摄像头支持。
如果电脑摄像头正常工作则说明OpenBR安装成功。
2. 打开Visual Studio 2013 本机工具命令提示并输入如下指令:
3. 打开Visual
Studio 2013 本机工具命令提示并输入如下指令:
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那么图像将一帧一帧的显示,按键盘上任意键显示下一帧。
一. 概述
本文主要通过几个有趣的例子介绍下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那么图像将一帧一帧的显示,按键盘上任意键显示下一帧。
相关文章推荐
- Apache POI 3.14 教程(2)
- linux 客户端 Socket 非阻塞connect编程
- 查看centos版本方法
- open 和 close 函数
- 双节点(nginx+keepalived)为两台apache服务器提供负载均衡
- Linux硬盘分区和格式化
- 在Windows窗体中显示OpenCV图像
- Linux初级入门学习
- 一、linux命令基本格式【基础篇】
- 【Tomcat】eclipse如何安装tomcat插件
- linux 常用命令系列—cp 复制文件与文件夹
- linux命令 mkdir
- 文件描述符
- CentOS下MySQL忘记root密码解决方法【转载】
- Gradle学习网站
- linux 实战二 网关服务器
- Linux Theano 安装教程
- Linux设备驱动之字符设备驱动
- android开发---3.linux 下使用 javah生成头文件
- 使用CSDN-CODE&C-IDE搭建tomcat环境