參考部落格:
專案需求,android客戶端作為airplay接收端,在開啟airplay的時候後台開啟攝像頭,當捕捉到人臉的時候將這一幀影象傳到face++進行人臉分析。airplay接收端可整合xindawn的airplay,github位址
1.後台開啟攝像頭
基本都是將預覽介面的activity主題設為透明,並將view大小設為1dp。
android:orientation="vertical">
2.開啟攝像頭
android主機板不像手機,外接usb攝像頭不能保證是前置或者是後置,需要注意異常捕獲。
try catch (exception e)
if (mcamera == null) catch (exception e)
}3.攝像頭預覽尺寸
攝像頭會支援不同的預覽尺寸,需要根據專案自行確定,由於我的專案需求是不需要預覽的,所以setpreview固定寫了0。
listpreviewsizes = parameters.getsupportedpreviewsizes();//獲得相機預覽所支援的大小。
camera.size size1 = previewsizes.get(0);//default 2,4
parameters.setpreviewsize(size1.width, size1.height);
mcamera.setparameters(parameters);
mcamera.startpreview();
4. 獲得預覽流識別是否有人臉
onpreviewframe裡的資料流是nv21格式的,直接轉成bitmap會失敗,所以要先轉成yuvimage再轉成bitmap
camera.size size = mtcamera.getparameters().getpreviewsize();
yuvimage yuvimage = new yuvimage(mdata, imageformat.nv21, size.width, size.height, null);
mdata = null;
yuvimage.compresstojpeg(new rect(0, 0, size.width, size.height), 100, mbitmapoutput);
bitmapfactory.options options = new bitmapfactory.options();
options.inpreferredconfig = bitmap.config.rgb_565;//必須設定為565,否則無法檢測
// 轉換成
有什麼問題還請大家多多指正~~~
face 人臉識別
今天搞了很久才看懂face 文件。有過第三方api呼叫的經驗應該不難。最後在比較兩張的相似的時候還是有問題,自己測試了下,呼叫 recognition compare介面,總是返回null,搞了半天沒搞定。最後還是貼上自己寫的 function urlexec url function testfa...
face 實現人臉識別
由於專案是在多年前完成,face 的sdk可能有調整,所以部分功能可能不再適用 2017.3 最近做了乙個使用face 實現人臉識別的功能,當初看著官方文件一點頭緒都沒有,看了好久才弄明白,所以在這裡記錄一下,希望可以幫到需要的人,首先要註冊乙個face 賬號,獲取apikey和apisecret,...
基於face 的人臉識別(上)
因為畢業設計需要做人臉識別的考勤,這裡採取已有的平台上的sdk來做人臉識別,詳細說下如何使用face 平台來進行人臉識別。1.註冊為face 的開發者。在這裡註冊個賬號,之後進入應用管理,建立乙個應用 3.自己新建乙個人臉的方法類,在裡面填寫自己的key和secret,與你註冊時的一致,這裡我在建構...