Spaces:
Running
Running
File size: 2,846 Bytes
c58ee4b |
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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
import gradio as gr
from rapid_unwrap.inference import DocUnwrapper
# 初始化模型
model_path = "models/uvdoc.onnx"
doc_unwrapper = DocUnwrapper(model_path=model_path)
# 添加示例
example_images = [
"images/demo1.jpg",
"images/demo1.png",
"images/demo2.png",
"images/demo3.jpg",
]
def process_image(img_path):
unwrapped_img, elapse = doc_unwrapper(img_path)
print(f"doc unwrap elapse: {elapse}")
return unwrapped_img
def main():
# 定义Gradio界面
with gr.Blocks(css="""
.scrollable-container {
overflow-x: auto;
white-space: nowrap;
}
.header-links {
text-align: center;
}
.header-links a {
display: inline-block;
text-align: center;
margin-right: 10px; /* 调整间距 */
}
""") as demo:
gr.HTML(
"<h1 style='text-align: center;'><a href='https://github.com/Joker1212/RapidUnWrap'>RapidUnWrap</a></h1>"
)
gr.HTML('''
<div class="header-links">
<a href=""><img src="https://img.shields.io/badge/Python->=3.8,<3.13-aff.svg"></a>
<a href=""><img src="https://img.shields.io/badge/OS-Linux%2C%20Mac%2C%20Win-pink.svg"></a>
<a href="https://semver.org/"><img alt="SemVer2.0" src="https://img.shields.io/badge/SemVer-2.0-brightgreen"></a>
<a href="https://github.com/psf/black"><img src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
<a href="https://github.com/RapidAI/TableStructureRec/blob/c41bbd23898cb27a957ed962b0ffee3c74dfeff1/LICENSE"><img alt="GitHub" src="https://img.shields.io/badge/license-Apache 2.0-blue"></a>
</div>
''')
with gr.Row():
with gr.Column(scale=1): # 左边占1/3
img_input = gr.Image(label="Upload or Select Image", sources="upload", value="images/demo1.jpg")
# 示例图片选择器
examples = gr.Examples(
examples=example_images,
examples_per_page=len(example_images),
inputs=img_input,
fn=lambda x: x, # 简单返回图片路径
outputs=img_input,
cache_examples=False
)
run_button = gr.Button("summit")
with gr.Column(scale=2): # 右边占2/3
output_image = gr.Image(label="output")
# 绑定按钮点击事件
run_button.click(fn=process_image, inputs=img_input, outputs=output_image)
# 启动应用
demo.launch()
if __name__ == '__main__':
main()
|