传入一个路径字符串(C#):

public void PassXiaoIce()
{try{string img_path = @"D:\XLS_AI_PRO\FaceTest\photo\11.jpg";Debug.Log(img_path.Length);string str = GetIceJson(img_path,img_path.Length);Debug.Log("result_str:" + str);//返回鉴定结果}catch{Debug.LogError("初始化异常!");}
}//图片路径,返回颜值鉴定结果。
public String GetIceJson(string img_path, int psize)
{IntPtr temp = FaceBind.GetResultIce(img_path, psize);string str = Marshal.PtrToStringAnsi(temp).ToString();temp = IntPtr.Zero;return str;
}

DLL接口(C#):

[DllImport("XiaoICE", EntryPoint = "get_result_ice", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.StdCall)]
static extern IntPtr get_result_ice([MarshalAs(UnmanagedType.LPStr)]string g_path,int size);

DLL实现代码(C++)

static char str_json[2048];
#define _csharp_double extern "C" __declspec(dllexport) const char *
_csharp_double get_result_ice(wchar_t * img_byte, int bt_size) {import_array();PyObject * pValue = Py_BuildValue("(s#)", img_byte, bt_size);PyObject * pyResult = PyEval_CallObject(pGetXiaoIce, pValue);memset(str_json, 0, sizeof(str_json));   if (pyResult) {const char * str_js;PyArg_Parse(pyResult,"s",&str_js);strcpy_s(str_json, str_js);}else {strcpy_s(str_json, "error!");}Py_CLEAR(pValue);Py_CLEAR(pyResult);return str_json;
}

调用入口(python)

#传入图片路径,返回颜值鉴定结果
def identification(img_path):score = Score()re_str = score.start(img_path)return re_str 

unity 通过 dll 传递字符串给python,实现小冰颜值鉴定相关推荐

  1. c语言调用dll实例 结构体传参,C# 调用Dll 传递字符串指针参(转)

    java -日期处理 1. 计算某年某月份 总有多少个周,每周的开始和结束时间? 思路:1.计算出本月实际的总天数 2.循环每一天,判断这天是否是 周日(1),如果是,周数加1,再次判断是否是月的第一 ...

  2. php传递字符串给python,用PHP和Python生成短链接服务的字符串ID

    假设你想做一个像微博短链接那样的短链接服务,短链接服务生成的URL都非常短例如: http://t.cn/E70Piib, 我们应该都能想到链接中的E70Piib对应的就是存储长链接地址的数据记录的I ...

  3. C#向C++编写的DLL传递字符串参数的办法

    使用StringBuilder,举例: C++代码中函数定义如下: PVPOWERFORCASTDLL_API int PVPowerForcast(SForcastInfo &_Forcas ...

  4. c与python 数据传递-详解python如何调用C/C++底层库与互相传值

    前言 开发环境: Centos 7 + Python 3.5.1 + Qt Creator(只是使用Qt Creator编译而已,并没有使用QT的任何库) Python调用C/C++库,我现在能做到的 ...

  5. pybind11向C++ dll 传递数组 图像

    python 通过pybind11向C++ dll 传递数组 图像 传递python中的List pybind11 很贴心地帮你把 vector<T> 跟 python 的 list 做好 ...

  6. Unity Android DLL热更

    2019独角兽企业重金招聘Python工程师标准>>> 和 Unity Mono DLL加密 有异曲同工之处. 这里是为了能够在Android下热更C#代码 另外一个更高层次的是更新 ...

  7. C++传递参数给Python

    1.总结 C++传递参数给Python,需要转换成PyObject *类型.比如,C++的 int 是一个整数,该值占用4个字节的存储空间,而一个 python 的 int 实际是一个 PyObjec ...

  8. 逗号分隔的字符串转换为Python中的列表 split

    将逗号分隔的字符串转换为Python中的列表 给定一个字符串: 它是由逗号分隔的几个值的序列: mStr = '192.168.1.1,192.168.1.2,192.168.1.3' 如何将字符串转 ...

  9. python中什么是字符举例说明_第20p,什么是字符串?Python中的str

    原标题:第20p,什么是字符串?Python中的str 大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第20篇文章,第二阶段的课程:Python基础知识:Python的字符串(上 ...

最新文章

  1. tidb 企业_TiDB 在马上消费金融核心账务系统归档及跑批业务下的实践
  2. 一个页面区分管理者和普通用户如何设计_电商系统:优惠券原型设计说明(二)...
  3. Deap : 遗传算法算法解决 背包问题
  4. 拼接名字_一个最简单的办法,教你识别原切肉和拼接肉
  5. MyCat基本概念、配置文件及日志配置
  6. C语言十六进制转八进制(附完整源码)
  7. Oracle11g RAC常用操作 (维护及管理)
  8. linux基础—课堂随笔_03 SHELL脚本编程基础
  9. 【渝粤教育】国家开放大学2018年秋季 1306T社会政策 参考试题
  10. Kubernetes之路 3 - 解决服务依赖
  11. mysql语句engin_MySQL必会的SQL语句
  12. 弹层,iframe页面
  13. mysql8.0.20安装教程linux_Linux下安装mysql-8.0.20的教程详解
  14. Mac终端的一些操作命令
  15. 从0开始python后端开发_配置apache服务器(Mac系统)
  16. 如何突破思维局限去思考世界,去读读以下三个理论
  17. 在树莓派上驱动CSI摄像头
  18. 网络电视盒子用OTT TV系统定制3大关键问题
  19. 服务器系统如何合理分区,裸金属服务器操作系统分区建议
  20. 项目经理做什么工作的,每个公司不一样吗?

热门文章

  1. 用python来吐槽,真是太会玩啦
  2. 关于LINUX系统编程架构问题——4412 camera V4L2 RTMP流工程源码分析
  3. 网优任我行手机版 v3.3.2
  4. 栈(Stack)和队列(Queue)详解
  5. Spring中将对象交给容器去管理的注解
  6. LAMMPS单位转换
  7. 清华计算机两年学硕,2019清华计算机学硕考研经验贴.doc
  8. .NetCore——基于OpenCV人脸检测
  9. MacBook命令行开启mysql
  10. SSD固态硬盘接口 M2