main.py 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. from flask import Flask, request, jsonify
  2. import uuid
  3. from change_detect import start
  4. import requests
  5. from PIL import Image
  6. from io import BytesIO
  7. app = Flask(__name__)
  8. # GET 请求接口示例
  9. @app.route('/api/get_data', methods=['GET'])
  10. def get_data():
  11. # 获取请求参数
  12. param = request.args.get('param', default='default_value')
  13. # 返回 JSON 响应
  14. return jsonify({
  15. "message": "GET 请求成功",
  16. "param": param
  17. })
  18. # POST 上传图片
  19. @app.route('/api/upload_image', methods=['POST'])
  20. def upload_image():
  21. # 获取上传的文件
  22. img1 = request.files['img1']
  23. img2 = request.files['img2']
  24. # 保存文件
  25. filePath1 = 'predict/' + str(uuid.uuid4()) + img1.filename
  26. filePath2 = 'predict/' + str(uuid.uuid4()) + img2.filename
  27. img1.save(filePath1)
  28. img2.save(filePath2)
  29. return jsonify({
  30. "message": "上传成功",
  31. "data":{
  32. "img1": filePath1,
  33. "img2": filePath2
  34. }
  35. })
  36. # POST 通过url保存图片到本地
  37. @app.route('/api/save_image', methods=['POST'])
  38. def save_image():
  39. # 获取图片路径
  40. # data = request.get_json()
  41. # img1 = data['img1']
  42. # img2 = data['img2']
  43. param = request.args.get('param', default='default_value')
  44. img1 = request.args.get('img1', default='default_value')
  45. img2 = request.args.get('img2', default='default_value')
  46. response1 = requests.get('http://192.168.60.63'+img1)
  47. if response1.status_code != 200:
  48. return jsonify({
  49. "message": "图片1不存在",
  50. "data":{
  51. "img1": img1
  52. }
  53. })
  54. img1 = Image.open(BytesIO(response1.content))
  55. response2 = requests.get('http://192.168.60.63'+img2)
  56. if response2.status_code != 200:
  57. return jsonify({
  58. "message": "图片2不存在",
  59. "data":{
  60. "img2": img2
  61. }
  62. })
  63. img2 = Image.open(BytesIO(response2.content))
  64. getImgPath=start(img1,img2)
  65. return jsonify({
  66. "message": "保存成功",
  67. "data":{
  68. "imgRes":getImgPath
  69. }
  70. })
  71. # # POST 分析图片
  72. # @app.route('/api/detect_image', methods=['POST'])
  73. # def detect_image():
  74. # # 获取图片路径
  75. # data = request.get_json()
  76. # img1 = data['img1']
  77. # img2 = data['img2']
  78. # getImgPath=start(img1,img2)
  79. # return jsonify({
  80. # "message": "分析成功",
  81. # "data":{
  82. # "img": getImgPath
  83. # }
  84. # })
  85. if __name__ == '__main__':
  86. app.run(debug=True,port=4100)