unity 通过 dll 传递字符串给python,实现小冰颜值鉴定
传入一个路径字符串(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,实现小冰颜值鉴定相关推荐
- c语言调用dll实例 结构体传参,C# 调用Dll 传递字符串指针参(转)
java -日期处理 1. 计算某年某月份 总有多少个周,每周的开始和结束时间? 思路:1.计算出本月实际的总天数 2.循环每一天,判断这天是否是 周日(1),如果是,周数加1,再次判断是否是月的第一 ...
- php传递字符串给python,用PHP和Python生成短链接服务的字符串ID
假设你想做一个像微博短链接那样的短链接服务,短链接服务生成的URL都非常短例如: http://t.cn/E70Piib, 我们应该都能想到链接中的E70Piib对应的就是存储长链接地址的数据记录的I ...
- C#向C++编写的DLL传递字符串参数的办法
使用StringBuilder,举例: C++代码中函数定义如下: PVPOWERFORCASTDLL_API int PVPowerForcast(SForcastInfo &_Forcas ...
- c与python 数据传递-详解python如何调用C/C++底层库与互相传值
前言 开发环境: Centos 7 + Python 3.5.1 + Qt Creator(只是使用Qt Creator编译而已,并没有使用QT的任何库) Python调用C/C++库,我现在能做到的 ...
- pybind11向C++ dll 传递数组 图像
python 通过pybind11向C++ dll 传递数组 图像 传递python中的List pybind11 很贴心地帮你把 vector<T> 跟 python 的 list 做好 ...
- Unity Android DLL热更
2019独角兽企业重金招聘Python工程师标准>>> 和 Unity Mono DLL加密 有异曲同工之处. 这里是为了能够在Android下热更C#代码 另外一个更高层次的是更新 ...
- C++传递参数给Python
1.总结 C++传递参数给Python,需要转换成PyObject *类型.比如,C++的 int 是一个整数,该值占用4个字节的存储空间,而一个 python 的 int 实际是一个 PyObjec ...
- 逗号分隔的字符串转换为Python中的列表 split
将逗号分隔的字符串转换为Python中的列表 给定一个字符串: 它是由逗号分隔的几个值的序列: mStr = '192.168.1.1,192.168.1.2,192.168.1.3' 如何将字符串转 ...
- python中什么是字符举例说明_第20p,什么是字符串?Python中的str
原标题:第20p,什么是字符串?Python中的str 大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第20篇文章,第二阶段的课程:Python基础知识:Python的字符串(上 ...
最新文章
- tidb 企业_TiDB 在马上消费金融核心账务系统归档及跑批业务下的实践
- 一个页面区分管理者和普通用户如何设计_电商系统:优惠券原型设计说明(二)...
- Deap : 遗传算法算法解决 背包问题
- 拼接名字_一个最简单的办法,教你识别原切肉和拼接肉
- MyCat基本概念、配置文件及日志配置
- C语言十六进制转八进制(附完整源码)
- Oracle11g RAC常用操作 (维护及管理)
- linux基础—课堂随笔_03 SHELL脚本编程基础
- 【渝粤教育】国家开放大学2018年秋季 1306T社会政策 参考试题
- Kubernetes之路 3 - 解决服务依赖
- mysql语句engin_MySQL必会的SQL语句
- 弹层,iframe页面
- mysql8.0.20安装教程linux_Linux下安装mysql-8.0.20的教程详解
- Mac终端的一些操作命令
- 从0开始python后端开发_配置apache服务器(Mac系统)
- 如何突破思维局限去思考世界,去读读以下三个理论
- 在树莓派上驱动CSI摄像头
- 网络电视盒子用OTT TV系统定制3大关键问题
- 服务器系统如何合理分区,裸金属服务器操作系统分区建议
- 项目经理做什么工作的,每个公司不一样吗?