File size: 2,285 Bytes
bdb5637
 
 
 
 
 
 
 
 
 
 
 
 
 
6be83bc
bdb5637
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
'''
Author: Egrt
Date: 2022-03-19 10:23:48
LastEditors: Egrt
LastEditTime: 2022-03-21 00:05:27
FilePath: \Luuu\app.py
'''

import gradio as gr
from huggingface_hub import hf_hub_download
filepath = hf_hub_download(repo_id="Egrt/Luuuu", filename="GDAL-3.4.1-cp38-cp38-manylinux_2_5_x86_64.whl")
import os
os.system('pip install {}'.format(filepath))
from zipfile import ZipFile
from gis import GIS
gis = GIS()


# --------模型推理---------- #
def inference(filepath):
    filename, file_list = gis.detect_image(filepath)
    with ZipFile("result.zip", "w") as zipObj:
        zipObj.write(file_list[0], "{}.tif".format(filename+'mask'))
        zipObj.write(file_list[1], "{}.tif".format(filename))
        zipObj.write(file_list[2], "{}.pdf".format(filename))
        zipObj.write(file_list[3], "{}.cpg".format(filename))
        zipObj.write(file_list[4], "{}.dbf".format(filename))
        zipObj.write(file_list[5], "{}.shx".format(filename))
        zipObj.write(file_list[6], "{}.shp".format(filename))
        zipObj.write(file_list[7], "{}.prj".format(filename))
    return "result.zip"


# --------网页信息---------- #  
title = "基于帧场学习的多边形建筑提取"
description = "目前最先进图像分割模型通常以栅格形式输出分割,但地理信息系统中的应用通常需要矢量多边形。我们在遥感图像中提取建筑物的任务中,将帧场输出添加到深度分割模型中,将预测的帧场与地面实况轮廓对齐,帮助减少深度网络输出与下游任务中输出样式之间的差距。  @Luuuu🐋🐋"
article = "<p style='text-align: center'><a href='https://arxiv.org/abs/2004.14875' target='_blank'>Polygonization-by-Frame-Field-Learning</a> | <a href='https://github.com/JingyunLiang/SwinIR' target='_blank'>Github Repo</a></p>"
example_img_dir  = 'images'
example_img_name = os.listdir(example_img_dir)
examples=[[os.path.join(example_img_dir, image_path)] for image_path in example_img_name if image_path.endswith('.png')]
gr.Interface(
    inference, 
    [gr.inputs.Image(type="filepath", label="待检测图片")], 
    gr.outputs.File(label="检测结果"),
    title=title,
    description=description,
    article=article,
    enable_queue=True,
    examples=examples
    ).launch(debug=True)