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那麼圖像将一幀一幀的顯示,按鍵盤上任意鍵顯示下一幀。