最近做关于超分辨率的项目,因为需要进行项目效果展示,用flask写了一基于web的展示平台,下面记录下步骤:

      1、首先上传文件,前端基于简单的表单

           <form action="" method="post" enctype="multipart/form-data">
        <p>
            <input type="file" name="file">
            <input type="submit" value="提交">
        </p>
    </form>

基于flask的超分辨率展示


 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:结果:

     基于flask的超分辨率展示

基于flask的超分辨率展示

基于flask的超分辨率展示基于flask的超分辨率展示

     4 结论:由于采用了不同的深度学习模型,可以看出医学图像的超分辨率效果要好于普通图像,该算法对医学图像有很好的效果。最近对深度学习在医学图像方面的应用很感兴趣,欢迎这方面的朋友一起交流。

相关文章: