最近做关于超分辨率的项目,因为需要进行项目效果展示,用flask写了一基于web的展示平台,下面记录下步骤:
1、首先上传文件,前端基于简单的表单
<form action="" method="post" enctype="multipart/form-data">
<p>
<input type="file" name="file">
<input type="submit" value="提交">
</p>
</form>
2、服务器端收到文件后进行保存并在web页面展示,此时再用jcrop获得用户选择的坐标上传服务器,进行图片裁剪,把裁剪后的模型送到超分辨率深度
学习模型进行放大,并与传统三次上采样进行对比,观看效果。代码如下:
@app.route('/display',methods=['POST','GET'])
def display():
global file_name
display_file_name = "../static/uploads/" + file_name
if request.method == 'POST':
x = int(request.form.get("x"))
y = int(request.form.get("y"))
w = int(request.form.get('w'))
h = int(request.form.get('h'))
basepath = path.abspath(path.dirname(__file__))
cur_file_name = path.join(basepath, 'static/uploads/' + file_name)
cutImage(cur_file_name, x, y, w, h)
cut_file_name = path.join(basepath, 'static/uploads/cut.png')
cubResize(cut_file_name)
inference(cut_file_name)
return redirect(url_for('result'))
return render_template('display.html', file_path=display_file_name)
3:结果:
4 结论:由于采用了不同的深度学习模型,可以看出医学图像的超分辨率效果要好于普通图像,该算法对医学图像有很好的效果。最近对深度学习在医学图像方面的应用很感兴趣,欢迎这方面的朋友一起交流。