在调用 track函数,传入参数 std::vector ,在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
你好,请问找不到函数入口的问题解决了吗?这是我遇到的最难P/Invoke的dll了。
无法在 DLL“BaiduFaceApi.dll”中找到名为“get_device_id”的入口点
CSDN没积分了啊。方便发个邮箱吗?120560199@qq.com
我现在也纠结选虹软还是百度的人脸离线呢?方便留个微信或QQ交流一下吗?
我二次封装了一个dll,可供c#调用,连同封装源码上传到csdn了,地址是
https://download.csdn.net/download/abill425/10554049
有需要的可以去下载。
不过我也试用了虹软的离线sdk,与其相比,百度的这个离线sdk,不如虹软的好,而且虹软的还免费,各位有兴趣的可以去看看。
内存指针试试,我看错标题了,c#能接入离线识别吗?我之前测试都找不到函数入口
我想问一下,关于track离线人脸检测,到底是要se传入什么养的参数,jpg图片的base64不行,转化后的bitmap图片也不行
我也测试了一下,性能确实差太多,E5-2690V4处理器上,检测+特征转换超过500ms,用自已的数据集测试,还不如开源的InsightFace
感觉现在还不成熟,接口只有vs2015的c++,需要自己封装,另外性能上也很有问题,对图片的人脸质量也不能有效打分。上大项目还是要观望一下,早期用的就是小白鼠。
那么多sdk都是以C接口为基础来提供其他语言的调用方式的,效率问题不会凸显那么明显的,关键是现在官方这个封装形式就是不想给其他语言方便的调用。
VC和C#差得那么远,直接调用就算了吧。写个转换的模块来实现肯定是没问题的。做离线采集还行,要用1:N就别考虑了,效率实在太差。
@楼主,你的问题解决了吗?
@lichao_86,加好友,交流下百度AI开发的经验哈
list,不过还要转换,有点麻烦
截个图片 我这帮您看一下
使用dumpbin工具导出的函数是这样的:
你好,请问找不到函数入口的问题解决了吗?这是我遇到的最难P/Invoke的dll了。
无法在 DLL“BaiduFaceApi.dll”中找到名为“get_device_id”的入口点
CSDN没积分了啊。方便发个邮箱吗?120560199@qq.com
我现在也纠结选虹软还是百度的人脸离线呢?方便留个微信或QQ交流一下吗?
我二次封装了一个dll,可供c#调用,连同封装源码上传到csdn了,地址是
https://download.csdn.net/download/abill425/10554049
有需要的可以去下载。
不过我也试用了虹软的离线sdk,与其相比,百度的这个离线sdk,不如虹软的好,而且虹软的还免费,各位有兴趣的可以去看看。
内存指针试试,我看错标题了,c#能接入离线识别吗?我之前测试都找不到函数入口
我想问一下,关于track离线人脸检测,到底是要se传入什么养的参数,jpg图片的base64不行,转化后的bitmap图片也不行
我也测试了一下,性能确实差太多,E5-2690V4处理器上,检测+特征转换超过500ms,用自已的数据集测试,还不如开源的InsightFace
感觉现在还不成熟,接口只有vs2015的c++,需要自己封装,另外性能上也很有问题,对图片的人脸质量也不能有效打分。上大项目还是要观望一下,早期用的就是小白鼠。
那么多sdk都是以C接口为基础来提供其他语言的调用方式的,效率问题不会凸显那么明显的,关键是现在官方这个封装形式就是不想给其他语言方便的调用。
VC和C#差得那么远,直接调用就算了吧。写个转换的模块来实现肯定是没问题的。做离线采集还行,要用1:N就别考虑了,效率实在太差。
@楼主,你的问题解决了吗?
@lichao_86,加好友,交流下百度AI开发的经验哈
list,不过还要转换,有点麻烦
截个图片 我这帮您看一下