1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- import time
- from flask import Flask, request
- import json
- import MTCNN_person
- app = Flask(__name__)
- import datetime
- import logging
- def get_today_str(plusDay=0):
- today = datetime.datetime.now()
- today = today + datetime.timedelta(days=plusDay)
- return today.strftime('%Y-%m-%d')
- today = get_today_str()
- def logger(log_obj, log_file="/data/logs/face-info-" + today.replace('-', '') +".log"):
- logger_obj = logging.getLogger(log_obj)
- logger_obj.setLevel(logging.INFO)
- file_handle = logging.FileHandler(log_file)
- file_handle.setLevel(logging.INFO)
- formatter = logging.Formatter(
- '%(asctime)s - %(name)s - %(levelname)s - %(message)s')
- file_handle.setFormatter(formatter)
- logger_obj.addHandler(file_handle)
- return logger_obj
- _logger = logger(__name__)
- @app.route('/')
- def hello_world():
- return 'Hello World!'
- import requests
- #图片链接
- headers ={
- 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36'
- }
- dir = 'C:\\Users\\yufen\\Pictures\\face\\'
- def do_download(url):
- url1 = url.split('?')[0]
- name = url1.split('/')[-1]
- r = requests.get(url, headers=headers)
- # 下载图片
- # 二进制数据需要用r.content 进行提取
- # 将图片放在‘图库’文件夹下,‘图库’是文件夹的名称,将图片放入该文件夹中,该文件夹与py文件在同一目录下
- f = open(dir + name, 'wb')
- f.write(r.content)
- f.close()
- return name
- @app.route('/download')
- def download():
- url = request.args.get('url')
- time1 = int(round(time.time() * 1000))
- print('info=%s' % url)
- do_download(url)
- time2 = int(round(time.time() * 1000))
- print('over %s from %s' % (time2 - time1, time1))
- return 'Hello World!'
- @app.route('/face')
- def face():
- info = request.args.get('url')
- time1 = int(round(time.time() * 1000))
- _logger.info('info=%s' % info)
- name = do_download(info)
- time2 = int(round(time.time() * 1000))
- faces = MTCNN_person.detector(dir + name)
- time3 = int(round(time.time() * 1000))
- _logger.info('[%s] over %s from %s' % (name, time3 - time1, time1))
- return json.dumps(faces)
- from gevent import pywsgi
- import traceback
- if __name__ == '__main__':
- try:
- # app.run(host='192.168.0.220', port=5000)
- server = pywsgi.WSGIServer(('0.0.0.0', 5000), app)
- server.serve_forever()
- except Exception as e:
- traceback.print_exc(file=open('error.txt', 'a+'))
- print(e)
- # server = pywsgi.WSGIServer(('0.0.0.0', 5000), app)
- # server.serve_forever()
- # do_download(url='https://img.bbztx.com/article/live150178/team217182/20230913192631_tmp_9fbaaecf98fd1a3e91a6571f744f4b34511300d6c5a5b358.jpg?x-oss-process=image/resize,h_1000,m_lfit')
- # MTCNN_person.detector('C:\\Users\\yufen\\Pictures\\face\\20230913192631_tmp_9fbaaecf98fd1a3e91a6571f744f4b34511300d6c5a5b358.jpg')
|