使用python flask搭建一个简易的服务器

 之前使用flask搭建了一个简易的服务器,记录如下:

导入需要的库

#-*-coding:utf-8 -*-
from flask import Flask
from flask import request, json
import json
from PIL import Image
from download import download_image
from iinit import det
import numpy as np

app = Flask(__name__)

设置服务器路由地址,指定方法

@app.route('/img',methods=['POST', 'GET'])

def getimg():
    #'POST'请求接收图片url,图片id
    if request.method =='POST':
        dic = request.get_data()
        r = json.loads(dic)
        url = r['url']
        imageid = r['imageid']
        print url,imageid
        #下载图片
        image_file = download_image(url,imageid)
        image_original = Image.open(image_file)

        #Bboxes过滤之前的预处理操作
        image = image_original.resize((1024, 512))
        nimage = np.array(image, dtype=np.uint8)
        __mean = [104, 117, 123]
        cimage = (nimage - __mean) / 255.0
        b, g, r = np.split(cimage, 3, axis=-1)
        cimage = np.concatenate([r, g, b], axis=-1)


        bboxes = det.detect(cimage)
        if bboxes != []:
            #过滤bbox,阈值这里=0.4,可自行设置
            bbox_sum= det.filter_bbox(bboxes, image, nimage, image_original, str(image_file))
            print bbox_sum

            dic = {'img': str(image_file), 'Objects': []}
            dic['Objects'] = bbox_sum
            json_img = json.dumps(dic)
            print json_img
            return json_img
            #json.dumps将dic保存为json格式。
        else:
            print str(image_file)
            return str(image_file)
    else:
        return 'Only POST'



if __name__ == '__main__':

    # 这里可以指定客户端地址

    app.run(debug=True)

 

你可能感兴趣的:(使用python flask搭建一个简易的服务器)