虹軟人臉識別C demo

2021-09-11 23:45:28 字數 2325 閱讀 1065

同理新增附加庫目錄,如下圖所示

附加依賴項:

將兩個dll複製到程式執行的目錄裡面

按照上面的步驟配置完環境後,接下來進行測試(的讀取要用到opencv,我就假設大家opencv配置均不存在問題),下面的**為我參考的官方給的一些資料,但是我用的opencv是3.4的,因此程式有些小小的改動,具體可參考如下的**!

#include#include#include "arcsoft_face_sdk.h"

#include "amcomdef.h"

#include "asvloffscreen.h"

#include "merror.h"

#include #include #include using namespace std;

using namespace cv;

#pragma comment(lib, "libarcsoft_face_engine.lib")

#define merr_asf_base_already_activated 90114

#define safefree(p)

#define safearraydelete(p)

#define safedelete(p)

int main()

// 人臉資訊檢測

mint32 processmask = asf_age | asf_gender | asf_face3dangle;

res = asfprocess(handle, img.cols, img.rows, asvl_paf_rgb24_b8g8r8, (muint8*)img.ptr(0), &detectedfaces1, processmask);

if (res == mok)

// 獲取年齡

asf_ageinfo ageinfo = ;

res = asfgetage(handle, &ageinfo);

if (res != mok)

printf("asfgetage fail: %d\n", res);

else

cout <

// 獲取性別

asf_genderinfo genderinfo = ;

res = asfgetgender(handle, &genderinfo);

if (res != mok)

printf("asfgetgender fail: %d\n", res);

else

if (*genderinfo.genderarray == 1)

}// 獲取3d角度

asf_face3dangle angleinfo = ;

res = asfgetface3dangle(handle, &angleinfo);

if (res != mok)

cout << "獲得3d角度失敗" << endl;

else

cout << "roll=" << angleinfo.roll[0] << endl;

cout << "yaw=" << angleinfo.yaw[0] << endl;

cout << "pitch=" << angleinfo.pitch[0] << endl;

system("pause");

return 0;

}

下面是我執行上述程式的結果!

上述的就是簡單的乙個c++ demo,更多的用法還可參考官網開發文件,祝大家體驗愉快!

虹軟人臉識別Android Sample Code

afr fsdkinte ce engine new afr fsdkengine 用來存放提取到的人臉資訊,face 1 是註冊的人臉,face 2 是要識別的人臉 afr fsdkface face1 new afr fsdkface afr fsdkface face2 new afr fsd...

虹軟人臉識別Android Sample Code

afr fsdkinte ce engine new afr fsdkengine 用來存放提取到的人臉資訊,face 1 是註冊的人臉,face 2 是要識別的人臉 afr fsdkface face1 new afr fsdkface afr fsdkface face2 new afr fsd...

C 實現人臉識別一 (運用虹軟人臉識別引擎)

arcsoft.com.cn ai arcfa ce.html 動態呼叫 p invoke 我們可以將c或者c 的函式封裝成com元件,在c 中呼叫時比較方便,但是com元件需要註冊,而且多次註冊可能也會導致一些問題,同時在處理c或者c 的型別與com元件的型別轉換的時候也可能有些麻煩 採用動態的方...