C#调人脸识别离线SDK std::vector
吧务是詹狗 发布于2018-07 浏览:4332 回复:14
0
收藏

在调用 track函数,传入参数 std::vector ,在C#中如何传递参数?

收藏
点赞
0
个赞
共14条回复 最后由yhnbgfd8回复于2018-08
#15yhnbgfd8回复于2018-08
#11 goJhou回复
内存指针试试,我看错标题了,c#能接入离线识别吗?我之前测试都找不到函数入口
展开

使用dumpbin工具导出的函数是这样的:

          1    0 00005330 ??0BaiduFaceApi@@QEAA@XZ
          2    1 00005370 ??1BaiduFaceApi@@QEAA@XZ
          3    2 00006F60 ?clearTrackedFaces@BaiduFaceApi@@QEAAXXZ
          4    3 00007570 ?compare_feature@BaiduFaceApi@@QEAAMAEBV?$vector@MV?$allocator@M@std@@@std@@0@Z
          5    4 00005A80 ?destroy_api@BaiduFaceApi@@AEAAXXZ
          6    5 00005B00 ?get_api@BaiduFaceApi@@AEAAPEAVIFaceApi@@XZ
          7    6 00005B10 ?get_device_id@BaiduFaceApi@@QEAAPEBDXZ
          8    7 00007540 ?get_face_feature@BaiduFaceApi@@QEAAHAEBVMat@cv@@AEAPEBM@Z
          9    8 00007450 ?get_face_feature@BaiduFaceApi@@QEAAHPEBDHAEAPEBM@Z
         10    9 00007500 ?get_face_feature_by_buf@BaiduFaceApi@@QEAAHPEBEHAEAPEBM@Z
         11    A 00005420 ?get_faces@BaiduFaceApi@@QEAAPEAV?$vector@UTrackFaceInfo@@V?$allocator@UTrackFaceInfo@@@std@@@std@@XZ
         12    B 00005A00 ?get_group_list@BaiduFaceApi@@QEAAPEBDHH@Z
         13    C 00007270 ?get_tracked_faces@BaiduFaceApi@@QEAAHAEAPEAV?$vector@UTrackFaceInfo@@V?$allocator@UTrackFaceInfo@@@std@@@std@@@Z
         14    D 000058F0 ?get_user_info@BaiduFaceApi@@QEAAPEBDPEBD0@Z
         15    E 00005970 ?get_user_list@BaiduFaceApi@@QEAAPEBDPEBDHH@Z
         16    F 00005810 ?group_add@BaiduFaceApi@@QEAAPEBDPEBD@Z
         17   10 00005880 ?group_delete@BaiduFaceApi@@QEAAPEBDPEBD@Z
         18   11 00005F80 ?identify@BaiduFaceApi@@QEAAPEBDPEBDH00H@Z
         19   12 00007090 ?ir_liveness_check@BaiduFaceApi@@QEAAPEBDAEBVMat@cv@@@Z
         20   13 00006F90 ?ir_liveness_check@BaiduFaceApi@@QEAAPEBDPEBDH@Z
         21   14 00005460 ?is_auth@BaiduFaceApi@@QEAA_NXZ
         22   15 00005B20 ?match@BaiduFaceApi@@QEAAPEBDPEBDH0H@Z
         23   16 00005DE0 ?match_by_feature@BaiduFaceApi@@QEAAPEBDAEBV?$vector@MV?$allocator@M@std@@@std@@PEBDH@Z
         24   17 00005EF0 ?match_by_feature@BaiduFaceApi@@QEAAPEBDAEBV?$vector@MV?$allocator@M@std@@@std@@PEBEH@Z
         25   18 00005CC0 ?match_by_img_and_frame@BaiduFaceApi@@QEAAPEBDPEBDHAEBVMat@cv@@@Z
         26   19 00007200 ?rgb_liveness_check@BaiduFaceApi@@QEAAPEBDAEBVMat@cv@@@Z
         27   1A 00007100 ?rgb_liveness_check@BaiduFaceApi@@QEAAPEBDPEBDH@Z
         28   1B 00005430 ?sdk_init@BaiduFaceApi@@QEAAHXZ
         29   1C 00006100 ?set_blur_thr@BaiduFaceApi@@QEAAXM@Z
         30   1D 000062D0 ?set_detect_in_video_interval@BaiduFaceApi@@QEAAXH@Z
         31   1E 00006160 ?set_eulur_angle_thr@BaiduFaceApi@@QEAAXHHH@Z
         32   1F 000060D0 ?set_illum_thr@BaiduFaceApi@@QEAAXM@Z
         33   20 000060B0 ?set_isCheckQuality@BaiduFaceApi@@QEAAX_N@Z
         34   21 00005360 ?set_is_tools@BaiduFaceApi@@QEAAX_N@Z
         35   22 000061D0 ?set_min_face_size@BaiduFaceApi@@QEAAXH@Z
         36   23 000061A0 ?set_notFace_thr@BaiduFaceApi@@QEAAXM@Z
         37   24 00006130 ?set_occlu_thr@BaiduFaceApi@@QEAAXM@Z
         38   25 00006250 ?set_track_by_detection_interval@BaiduFaceApi@@QEAAXH@Z
         39   26 00006830 ?track@BaiduFaceApi@@QEAAHAEAPEAV?$vector@UTrackFaceInfo@@V?$allocator@UTrackFaceInfo@@@std@@@std@@AEBVMat@cv@@H@Z
         40   27 00006350 ?track@BaiduFaceApi@@QEAAHAEAPEAV?$vector@UTrackFaceInfo@@V?$allocator@UTrackFaceInfo@@@std@@@std@@PEBDHH@Z
         41   28 00006AB0 ?track_max_face@BaiduFaceApi@@QEAAHAEAPEAV?$vector@UTrackFaceInfo@@V?$allocator@UTrackFaceInfo@@@std@@@std@@AEBVMat@cv@@@Z
         42   29 00006D30 ?track_max_face@BaiduFaceApi@@QEAAHAEAPEAV?$vector@UTrackFaceInfo@@V?$allocator@UTrackFaceInfo@@@std@@@std@@PEBDH@Z
         43   2A 00005480 ?user_add@BaiduFaceApi@@QEAAPEBDPEBD00H0@Z
         44   2B 00005790 ?user_delete@BaiduFaceApi@@QEAAPEBDPEBD0@Z
         45   2C 00005700 ?user_face_delete@BaiduFaceApi@@QEAAPEBDPEBD00@Z
         46   2D 000055C0 ?user_update@BaiduFaceApi@@QEAAPEBDPEBD00H0@Z
0
#14yhnbgfd8回复于2018-08
#11 goJhou回复
内存指针试试,我看错标题了,c#能接入离线识别吗?我之前测试都找不到函数入口
展开

你好,请问找不到函数入口的问题解决了吗?这是我遇到的最难P/Invoke的dll了。

无法在 DLL“BaiduFaceApi.dll”中找到名为“get_device_id”的入口点

0
#13蜘蛛会飞啊回复于2018-08
#12 abill425回复
我二次封装了一个dll,可供c#调用,连同封装源码上传到csdn了,地址是 https://download.csdn.net/download/abill425/10554049  有需要的可以去下载。 不过我也试用了虹软的离线sdk,与其相比,百度的这个离线sdk,不如虹软的好,而且虹软的还免费,各位有兴趣的可以去看看。
展开

CSDN没积分了啊。方便发个邮箱吗?120560199@qq.com

我现在也纠结选虹软还是百度的人脸离线呢?方便留个微信或QQ交流一下吗?

0
#12abill425回复于2018-07

我二次封装了一个dll,可供c#调用,连同封装源码上传到csdn了,地址是

https://download.csdn.net/download/abill425/10554049 

有需要的可以去下载。

不过我也试用了虹软的离线sdk,与其相比,百度的这个离线sdk,不如虹软的好,而且虹软的还免费,各位有兴趣的可以去看看。

0
#11goJhou回复于2018-07
#10 luckycer2016回复
我想问一下,关于track离线人脸检测,到底是要se传入什么养的参数,jpg图片的base64不行,转化后的bitmap图片也不行
展开

内存指针试试,我看错标题了,c#能接入离线识别吗?我之前测试都找不到函数入口

1
#10luckycer2016回复于2018-07
#2 goJhou回复
截个图片 我这帮您看一下

我想问一下,关于track离线人脸检测,到底是要se传入什么养的参数,jpg图片的base64不行,转化后的bitmap图片也不行

0
#9yodaguo回复于2018-07

我也测试了一下,性能确实差太多,E5-2690V4处理器上,检测+特征转换超过500ms,用自已的数据集测试,还不如开源的InsightFace

0
J
#8jinglingonline回复于2018-07
#7 nt_ca回复
那么多sdk都是以C接口为基础来提供其他语言的调用方式的,效率问题不会凸显那么明显的,关键是现在官方这个封装形式就是不想给其他语言方便的调用。
展开

感觉现在还不成熟,接口只有vs2015的c++,需要自己封装,另外性能上也很有问题,对图片的人脸质量也不能有效打分。上大项目还是要观望一下,早期用的就是小白鼠。

0
#7nt_ca回复于2018-07
#6 jinglingonline回复
VC和C#差得那么远,直接调用就算了吧。写个转换的模块来实现肯定是没问题的。做离线采集还行,要用1:N就别考虑了,效率实在太差。
展开

那么多sdk都是以C接口为基础来提供其他语言的调用方式的,效率问题不会凸显那么明显的,关键是现在官方这个封装形式就是不想给其他语言方便的调用。

0
J
#6jinglingonline回复于2018-07

VC和C#差得那么远,直接调用就算了吧。写个转换的模块来实现肯定是没问题的。做离线采集还行,要用1:N就别考虑了,效率实在太差。

0
#5lovvver回复于2018-07

@楼主,你的问题解决了吗?

0
#4qishangyi回复于2018-07

@lichao_86,加好友,交流下百度AI开发的经验哈

0
#3lichao_86回复于2018-07

list,不过还要转换,有点麻烦

0
#2goJhou回复于2018-07

截个图片 我这帮您看一下

0
TOP
切换版块