当前位置:   article > 正文

python后端与C# WinForm前端连接之Flask使用_python flask 和c#

python flask 和c#

Flask使用

python后端与C# WinForm前端连接

毕设需要做一个C#写的前端应用,后端算法是用python训练的。所以,一直在找怎么将这两者结合起来,即如何将python算法部署到winform前端。

硬件局限:笔记本没有GPU,只能使用CPU;算法必须使用GPU跑。
查了大量的资料,终于在flask论坛上找到了答案。同时,找到了一个链接。所以最后选择了使用Flask将python部署到Winform。

代码部分直接放到这里:


```python
save_path = './imgt/test/' # 保存后端传过来的图片路径
# 服务返回
# 接收图片并保存,调用模型----接的是byte[],传的也是byte[]
@app.route('/upload_image/',methods=['POST'])
def get_image():
    # 接收前端传来的图片,并存入且取名 ./imgt/test/1.png
    startTime = time.time()
    # 获取到post请求传来的byte[]数据
    result = request.data
    # 将bytes结果转化为字节流
    bytes_stream = BytesIO(result)
    # 读取到图片
    image = Image.open(bytes_stream)
    if image is None:
        print("nothing found!")
    if not os.path.exists(save_path):
        os.makedirs(save_path)
    else:  # 加上覆盖操作
        shutil.rmtree(save_path)
        os.makedirs(save_path)
    image.save(save_path+'1.png')
    print("图片上传成功!")
    inputTime = time.time() - startTime
    print('上传图片时间为: %f' % inputTime)
    # 调用模型
    predict_image()
    # 返回文件夹中的图片给前端----可以传byte[]
    output_image_data = open((output_save_path+'1.png'), "rb").read()    
    return output_image_data

output_wp_path = './out_wp/' # 图片保存路径
# 服务返回
# 接收元组数据列表并返回图片
@app.route('/upload_wpCo/', methods=['POST'])
def get_wpCo():
    if request.method == 'POST':
        # 获取前端传来的数据
        receiveData = request.data.decode('utf-8')
        para = str(receiveData)
        print(receiveData)
        # 对前端数据进行处理,改变成为我们需要的元组列表
        array = str(para).split('#')
        i = 1
        l = []
        while array[i]:
            if i%3 == 1:
                x = int(array[i])
            elif i%3 == 2:
                y = int(array[i])
            else:
                sa = int(array[i])
                tup = (x, y, sa)
                l.append(tup)
            i += 1
        print(l)
        # 生成图片
        gen_points_by_cor.main(l)
        # 返回图片
        output_wp_image_data = open((output_wp_path + '1.png'), "rb").read()
        return output_wp_image_data
# 主函数
if __name__ == '__main__':
    app.run("127.0.0.1", port=8080, debug=True)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/748436
推荐阅读
相关标签
  

闽ICP备14008679号