android opencv 簡單的人臉識別

2021-08-09 05:22:53 字數 993 閱讀 8787

很簡單的人臉識別功能,識別人臉後用矩形圈出來

實現人臉識別需要模型檔案,opencv再帶的模型檔案在opencv-android-sdk\sdk\etc內

我使用haarcascade_frontalface_alt.xml來做人臉識別

把haarcascade_frontalface_alt.xml檔案拉到專案raw資料夾,沒有建立乙個

初始化

inputstream is = getresources().openrawresource(r.raw.haarcascade_frontalface_alt);

file cascadedir = getdir("cascade", context.mode_private);

file mcascadefile = new file(cascadedir, "haarcascade_frontalface_alt.xml");

try

is.close();

os.close();

} catch (ioexception e)

cascadedir.delete();

cascadeclassifier = new cascadeclassifier(mcascadefile.getabsolutepath());

在oncameraframe函式內實現

matofrect faces = new matofrect();

if (cascadeclassifier != null)

// 檢測出多少個人臉

rect facesarray = faces.toarray();

for (int i = 0; i < facesarray.length; i++)

return r;

oncameraframe函式在前面文章有用到,但這樣寫會很卡,可以用多執行緒,乙個執行緒渲染,乙個執行緒後台人臉識別,返回結果畫出來,可能會有一定的延遲,但總比卡頓好

Android opencv庫使用遇到的坑

問題1 opencv error undefined reference to cv cascadeclassifier detectmultiscale 解決方法 該問題是由ndk版本與opencv版本不相容導致 建議配置 ndk 16 opencv3.4.0 build.gradle檔案配置 e...

Ant Design簡單簡單簡單執行

config 配置檔案 config.js 路由定義檔案 路徑檔案 defaultsettings.js 主題顏色以及標題配置檔案 plugin.config.js 沒怎麼用過的配置檔案 dist 構建專案之後產生的檔案 mock mock資料檔案 用於本地開發使用 node modules 資源檔...

簡單題目不簡單回答

1 const變數與巨集的區別 2.程式的變數怎麼儲存的?3.巨集和列舉有什麼區別,定義陣列時使用列舉和使用巨集的區別 4.const變數是否可以做陣列下標 5.static的用法,static修飾類的方法時,是什麼意思 6.設計模式熟不熟?寫乙個最簡單的單例模式 7.如何用c實現物件導向 8.程式...