import zipfile
from flask import Flask, render_template, request, Response
# from flask import Flask, request, Response
from PIL import Image
import io
import os
import function_coloring
import function_deblur
import function_defog
import function_denoise
import function_onekey
import function_real_esrgan
from remove_file import remove_folder
app = Flask(__name__)
@app.route("/", methods=["GET"])
def index():
return render_template("index.html")
@app.route("/superresolution", methods=["GET"])
def superresolution():
return render_template("superresolution.html")
@app.route("/deblur", methods=["GET"])
def deblur():
return render_template("deblur.html")
@app.route("/denoise", methods=["GET"])
def denoise():
return render_template("denoise.html")
@app.route("/defog", methods=["GET"])
def defog():
return render_template("defog.html")
@app.route("/coloring", methods=["GET"])
def coloring():
return render_template("coloring.html")
@app.route("/onekey", methods=["GET"])
def onekey():
return render_template("onekey.html")
@app.route('/api/superresolution', methods=['POST'])
def Super_resolution():
zip_file = request.files["zip"]
with zipfile.ZipFile(zip_file, 'r') as zip_ref:
for filename in zip_ref.namelist():
with zip_ref.open(filename) as image_file:
image = Image.open(image_file)
image = image.convert('RGB')
image_buffer = io.BytesIO()
image.save(image_buffer, 'JPEG')
image_buffer = image_buffer.getvalue()
with open("Real-ESRGAN_paddle_Lite/inputs/" + filename, "wb") as f:
f.write(image_buffer)
function_real_esrgan.pic_super_resolution()
zip_buffer = io.BytesIO()
with zipfile.ZipFile(zip_buffer, 'w') as zip_ref:
for root, dirs, files in os.walk("Real-ESRGAN_paddle_Lite/results"):
for file in files:
file_path = os.path.join(root, file)
zip_ref.write(file_path, arcname=file)
response = Response(zip_buffer.getvalue(), content_type="application/zip")
response.headers["Content-Disposition"] = "attachment; filename=converted.zip"
remove_folder("Real-ESRGAN_paddle_Lite/inputs")
remove_folder("Real-ESRGAN_paddle_Lite/results")
return response
@app.route("/api/deblur", methods=["POST"])
def Deblur():
zip_file = request.files["zip"]
with zipfile.ZipFile(zip_file, 'r') as zip_ref:
for filename in zip_ref.namelist():
with zip_ref.open(filename) as image_file:
image = Image.open(image_file)
image = image.convert('RGB')
image_buffer = io.BytesIO()
image.save(image_buffer, 'JPEG')
image_buffer = image_buffer.getvalue()
with open("DeblurGANv2/dataset1/blur/" + filename, "wb") as f:
f.write(image_buffer)
function_deblur.pic_deblur()
zip_buffer = io.BytesIO()
with zipfile.ZipFile(zip_buffer, 'w') as zip_ref:
for root, dirs, files in os.walk("DeblurGANv2/output"):
for file in files:
file_path = os.path.join(root, file)
zip_ref.write(file_path, arcname=file)
response = Response(zip_buffer.getvalue(), content_type="application/zip")
response.headers["Content-Disposition"] = "attachment; filename=converted.zip"
remove_folder("DeblurGANv2/dataset1/blur")
remove_folder("DeblurGANv2/output")
return response
@app.route("/api/denoise", methods=["POST"])
def Denoise():
zip_file = request.files["zip"]
with zipfile.ZipFile(zip_file, 'r') as zip_ref:
result_files = []
for filename in zip_ref.namelist():
with zip_ref.open(filename) as image_file:
image = Image.open(image_file)
image = image.convert('RGB')
image_buffer = io.BytesIO()
image.save(image_buffer, 'JPEG')
image_buffer = image_buffer.getvalue()
image_buffer = function_denoise.pic_denoise(image_buffer)
result_files.append((filename, image_buffer))
zip_buffer = io.BytesIO()
with zipfile.ZipFile(zip_buffer, 'w') as zip_ref:
for filename, image_buffer in result_files:
zip_ref.writestr(filename, image_buffer)
response = Response(zip_buffer.getvalue(), content_type="application/zip")
response.headers["Content-Disposition"] = "attachment; filename=converted.zip"
return response
@app.route("/api/defog", methods=["POST"])
def Defog():
zip_file = request.files["zip"]
with zipfile.ZipFile(zip_file, 'r') as zip_ref:
result_files = []
for filename in zip_ref.namelist():
with zip_ref.open(filename) as image_file:
image = Image.open(image_file)
image = image.convert('RGB')
image_buffer = io.BytesIO()
image.save(image_buffer, 'JPEG')
image_buffer = image_buffer.getvalue()
image_buffer = function_defog.pic_defog(image_buffer)
result_files.append((filename, image_buffer))
zip_buffer = io.BytesIO()
with zipfile.ZipFile(zip_buffer, 'w') as zip_ref:
for filename, image_buffer in result_files:
zip_ref.writestr(filename, image_buffer)
response = Response(zip_buffer.getvalue(), content_type="application/zip")
response.headers["Content-Disposition"] = "attachment; filename=converted.zip"
return response
@app.route("/api/coloring", methods=["POST"])
def Coloring():
zip_file = request.files["zip"]
with zipfile.ZipFile(zip_file, 'r') as zip_ref:
result_files = []
for filename in zip_ref.namelist():
with zip_ref.open(filename) as image_file:
image = Image.open(image_file)
image = image.convert('RGB')
image_buffer = io.BytesIO()
image.save(image_buffer, 'JPEG')
image_buffer = image_buffer.getvalue()
image_buffer = function_coloring.pic_coloring(image_buffer)
result_files.append((filename, image_buffer))
zip_buffer = io.BytesIO()
with zipfile.ZipFile(zip_buffer, 'w') as zip_ref:
for filename, image_buffer in result_files:
zip_ref.writestr(filename, image_buffer)
response = Response(zip_buffer.getvalue(), content_type="application/zip")
response.headers["Content-Disposition"] = "attachment; filename=converted.zip"
return response
@app.route("/api/onekey", methods=["POST"])
def Onekey():
zip_file = request.files["zip"]
with zipfile.ZipFile(zip_file, 'r') as zip_ref:
result_files = []
for filename in zip_ref.namelist():
with zip_ref.open(filename) as image_file:
image = Image.open(image_file)
image = image.convert('RGB')
image_buffer = io.BytesIO()
image.save(image_buffer, 'JPEG')
image_buffer = image_buffer.getvalue()
rotate = request.form.get("rotate")
zoom = request.form.get("zoom")
cut = request.form.get("cut")
flip = request.form.get("flip")
color = request.form.get("color")
noise = request.form.get("noise")
image_buffer = function_onekey.pic_onekey(image_buffer, rotate, zoom, cut, flip, color, noise)
result_files.append((filename, image_buffer))
zip_buffer = io.BytesIO()
with zipfile.ZipFile(zip_buffer, 'w') as zip_ref:
for filename, image_buffer in result_files:
zip_ref.writestr(filename, image_buffer)
response = Response(zip_buffer.getvalue(), content_type="application/zip")
response.headers["Content-Disposition"] = "attachment; filename=converted.zip"
return response
if __name__ == "__main__"
没有合适的资源?快使用搜索试试~ 我知道了~
采用多种深度学习算法实现对图像的多种修复操作,为用户提供方便易用的深度学习图像修复体验.zip
![preview](https://csdnimg.cn/release/downloadcmsfe/public/img/white-bg.ca8570fa.png)
共24个文件
py:8个
html:7个
xml:5个
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
需积分: 0 2 下载量 184 浏览量
2024-01-14
12:19:44
上传
评论 2
收藏 46KB ZIP 举报
温馨提示
采用多种深度学习算法实现对图像的多种修复操作,为用户提供方便易用的深度学习图像修复体验。本项目主要使用real-ESRGAN与deblur等生成对抗网络模型实现图像的超分辨率、模糊矫正以及其他十项功能,采用python的Flask框架作为后端,js结合ajax作为前端
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![vsdx](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![csv](https://img-home.csdnimg.cn/images/20210720083646.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/JPG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
共 24 条
- 1
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/9180f08855d0414d88cf5913979a7984_qq_35320456.jpg!1)
白话Learning
- 粉丝: 3450
- 资源: 2464
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)