社区
C#
帖子详情
C#调用python
Timon---老赵
2019-07-22 06:08:53
使用c#调用python对图像进行处理并返回标记结果,现在c#已经有图像的byte数组,python也做好(使用caffe框架),问题就是不知道如何通信,ironpython使用第三方库出问题。目前想讲图像的byte数组传给python,并返回图像的byte数组给C#显示
...全文
204
10
打赏
收藏
C#调用python
使用c#调用python对图像进行处理并返回标记结果,现在c#已经有图像的byte数组,python也做好(使用caffe框架),问题就是不知道如何通信,ironpython使用第三方库出问题。目前想讲图像的byte数组传给python,并返回图像的byte数组给C#显示
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
橘子皮...
2019-07-24
打赏
举报
回复
python模块是多,但是语法不严谨,不是很喜欢
angel6709
2019-07-23
打赏
举报
回复
没有这需求的
Timon---老赵
2019-07-23
打赏
举报
回复
好的,谢谢了
wanghui0380
2019-07-23
打赏
举报
回复
net这边的demo,你可以看到,没几行代码。
https://www.cnblogs.com/linxmouse/p/7914453.html
python那边的demo,同样没几行代码
https://www.cnblogs.com/zl0372/p/zeromq.html
当然,这个还有个好处。就是如果采用发布/订阅模型,你们还可以做个调试工具,这样可以可视化调试,这种开发最常见的对话场景就是
“哎,那个谁,我发给你了,你为啥没发给我”
"额,我没收到,你确认你发了"
“我真发了,你看我的日志”
“你真没发,我日志里没有”
----------------------------------
所以,如果是发布/订阅模型,外面可以弄个调试工具看,谁发了,谁没发。一目了然
wanghui0380
2019-07-23
打赏
举报
回复
本机通讯-----------因为python不能嵌入,不能引用。你可以用引擎直接调用,这个相当与cmd的方式,我个人不建议。挑费大。
个人建议,python作为后台进程给你提供服务。所以这个属于跨进程通讯(跨进程通讯手段很多,你可以自己百度,当然看看就好,因为都是基础底层手段,原来可以当技术,现在嘛封装好的东西很多,这种底层的东西知道就好,不必太过理会)。grpc就行,如果你觉着grpc这种先定义消息的麻烦,可以用zeromq的ipc通讯
ps:net这边使用netmq(zeromq的net版本),python那边是zmq。本地通讯使用ipc方式,至于应答模型建议使用pull/push异步( 请求-回复其实也行,不过是同步阻塞,你的处理超时,不然一旦对方挂了,你就死那里了,所以建议使用异步方式)
当然对于python那么使用zmq也是好事情,python线程模型弱,异步模型也弱。不如采用ipc外接你的请求,内部用peer to peer进程内通讯异步隔离处理你的请求。相对于给python加个Eventbus
Timon---老赵
2019-07-23
打赏
举报
回复
我们两个是本地的,我这边控制相机拍照,将图片传给他,他处理完给我。
qq14923349
2019-07-23
打赏
举报
回复
用socket最安全 不用担心架构变化
橘子皮...
2019-07-23
打赏
举报
回复
flask grpc tornado
wanghui0380
2019-07-22
打赏
举报
回复
当然还有一种方式,就是对方把python训练好的模型给你,你用ML.net 或者tensorflowsharp调用(呵呵,这种把估计对方不答应,你估计也一时半会弄不明白),所以俺现在不建议,这是提提,这种其实也可以,只看以后能不能流行开了
wanghui0380
2019-07-22
打赏
举报
回复
你貌似问过一样的问题。 前面已经回答过了,既然是通讯。你们双方就的写协议。我想问一下对方的水平如何。 如果对方水平高,你让加装web模块,给你提供web模块方式,你用 http post传递。这种使用最简单,但是其实是难度最大的。因为这是同步调用,对方水平不高,分分钟挂死(BAT使用这种方式,当然BAT们用了前置分布代理) 中等水平,grpc,avro,thift这类都成。定好中间协议,两边用grpc给的工具自动生成,然后就是调用。 低等水平-----------低等水平直接tcp把,原始低等的越觉得自己写最NX,别人写的都是垃圾,出错控制不了。所以自己写tcp 当然还有一种就看你们接受不接受了,那就是不直接通讯,中间用mq,kafaka间接通讯。(这种方式主要考虑的是以后升级方便,扩展方便,隔离开的,你们可以各自开发各自的,谁也不用管谁) ps:当然我上面的说的都是网络通讯,如果是本机通讯。用zeromq这类内嵌的就行(本机通讯不需要装那些第3方的东西,本来直接直接命名管道,直接内存文件映射都成,不过就怕python跑虚拟机上的,python的人喜欢跑虚拟机,喜欢折腾gpu)
c#
调用
Python
源码,No module named xx解决方案
请和博客一起看.http://www.cnblogs.com/birds-zhu/p/8821020.html
c#
调用
python
脚本.rar
利用
Python
调用
,避免不能加载第三方库风险
c#
调用
python
c#
调用
python
方式 可以直接使用
C#
调用
python
样例代码
自己写的通过iron
python
在
c#
中
调用
python
脚本的简单样例程序。
C#
调用
Python
实例
C#
调用
Python
脚本的例子,要求运行的机器要安装
Python
虚拟机,.net 4以上环境才能运行或调试。
C#
111,092
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章