關于人臉檢測被折磨了半個月,前2周開需求會時需要要做一個“人臉認證上傳功能,具體是打開前置攝像頭,識別出用戶的臉并且臉在一個指定的圓圈內然后自動保存這個狀態的圖像待用戶是否確定上傳”。聽到這個需求我第一時間想到比較專業的圖形處理庫OpenCV。去github上面搜了一下關于openCV識別人臉的demo,樣例確實有點多,也確實是可以實現 但是OpenCV庫實在是有點大8M,用這個庫估計會被構架師說死。然后我還搜過其它的第三方庫(虹軟,face++,阿里云人臉檢測)這幾款都不是省油的燈一款需要兼容android5.0以上,其它2款都是收費版,至于阿里云更厲害了不支持離線檢測。
后來才選擇了google自帶api,網上一搜發現google 的一個類android.hardware.Camera里面有已經幫你封裝好的人臉檢測的api有這方面了解的同學可以參考一下點擊打開鏈接。我開始也是使用這種方式實現的,磕磕碰碰的寫完后最終發現合乎需求,后來自己打算測試一下機子兼容性,拿了一臺華為機子一測試,發現人臉的那個接口沒有任何回調(nexus6P調用還會發現閃退,打log發現是ndk層拋出來的),心馬上沉入谷底。
最后發現好像沒有啥捷徑可走了,只好老實實使用android.media.FaceDetector進行開發。這種方式的使用的思路是,使用Camera+TextureView(鑒于對開發時間緊,對已過時有點了解就沒有使用Camera2)進行預覽,通過設置PreviewCallback實時抓取每一幀圖像進行檢測是否合格。圖像預覽本人推薦google關于Camera使用demo進行修改,因為在實際中有很多機型未必都能合乎預想(本人也確實被坑過,自己封裝的Camera發現跑在一些機子上圖像方向是反向的。當然如果對Camera很熟悉那也是可以自己寫的)。好了 主站蜘蛛池模板: 灌云县| 龙江县| 丘北县| 江山市| 奉节县| 利川市| 鹤壁市| 贵南县| 塔河县| 陆丰市| 乐亭县| 宝应县| 内黄县| 汉寿县| 普格县| 台山市| 东至县| 凤凰县| 阆中市| 云浮市| 精河县| 罗平县| 乳山市| 泰来县| 治县。| 稻城县| 仪征市| 西华县| 宁河县| 丹巴县| 竹溪县| 望城县| 南阳市| 新邵县| 阳山县| 新干县| 张家界市| 孝义市| 南宫市| 凌源市| 湘乡市|