Update app.py
Browse files
app.py
CHANGED
|
@@ -785,7 +785,84 @@ with gr.Blocks(css=custom_css) as demo:
|
|
| 785 |
output_image1 = gr.Image(label="์ด๋ฏธ์ง #1", elem_classes="image-container")
|
| 786 |
output_image3 = gr.Image(label="์ด๋ฏธ์ง #3", elem_classes="image-container")
|
| 787 |
with gr.Column():
|
| 788 |
-
output_image2 = gr.Image(label="์ด๋ฏธ์ง #2"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 789 |
inputs=[],
|
| 790 |
outputs=prompt_input
|
| 791 |
)
|
|
|
|
| 785 |
output_image1 = gr.Image(label="์ด๋ฏธ์ง #1", elem_classes="image-container")
|
| 786 |
output_image3 = gr.Image(label="์ด๋ฏธ์ง #3", elem_classes="image-container")
|
| 787 |
with gr.Column():
|
| 788 |
+
output_image2 = gr.Image(label="์ด๋ฏธ์ง #2", elem_classes="image-container"))
|
| 789 |
+
output_image4 = gr.Image(label="์ด๋ฏธ์ง #4", elem_classes="image-container")
|
| 790 |
+
|
| 791 |
+
gr.HTML('<div class="section-title"><i class="fas fa-info-circle"></i> ๊ฒฐ๊ณผ ์ ๋ณด</div>')
|
| 792 |
+
output_text = gr.Textbox(label="์ํ ๋ฉ์์ง", lines=2, elem_classes="custom-input")
|
| 793 |
+
prompt_display = gr.Textbox(label="์ฌ์ฉ๋ ํ๋กฌํํธ (์์ด)", visible=True, lines=2, elem_classes="custom-input")
|
| 794 |
+
|
| 795 |
+
gr.HTML('<div class="section-title"><i class="fas fa-lightbulb"></i> ์์ ์ด๋ฏธ์ง</div>')
|
| 796 |
+
with gr.Box(elem_classes="panel"):
|
| 797 |
+
examples = [
|
| 798 |
+
["down/๋ชจ๋ธ.jpg", None, None, "(#1์ ์ฌ์ฑ)์ด ์ด์ง ๋ค๋ก ๋์๋ณด๋ ๋ชจ์ต์ผ๋ก ์ต๋ํ ์ด์ seed๋ฅผ ์ ์งํํ
์์ฐ์ค๋ฝ๊ฒ ๋ณ๊ฒฝํ๋ผ."],
|
| 799 |
+
["down/์์ด๋ ๊ณ ๋ชจํ.png", None, None, "(#1 ๋ ๋ชจ๋ชจํ)์์ ์ฒญ์์์ด๋ ๊ณ ๋ง ๊ฒ์์ ๊ณ ๋๋ ๊ณ ๋ก ๋ณ๊ฒฝํ๊ณ ๋๋จธ์ง ๋ถ๋ถ์ seed๋ฅผ ๋ณ๊ฒฝ์ ํ์ง๋ง๋ผ."],
|
| 800 |
+
["down/์ค๊ตญ์ด.png", None, None, "(#1 ์ด๋ฏธ์ง)์ ์๋ ์ค๊ตญ์ด๋ฅผ ๋ชจ๋ ์ ๊ฑฐํ๋ผ."],
|
| 801 |
+
["down/ํ
์คํธ.webp", None, None, '(#1์ ํ
์คํธ)๋ฅผ ์คํ์ผ์ ์ ์งํ์ฒด ํ
์คํธ๋ง "Hello"๋ก ๋ฐ๊ฟ๋ผ'],
|
| 802 |
+
["down/๋ชจ๋ธ.jpg", "down/์ ๊ธ๋ผ์ค.png", "down/์ฒญ๋ฐ์ง.png", "(#1์ ์ฌ์ฑ๋ชจ๋ธ)์ด ์ ์ฒด ๋น์จ๊ณผ ํฌ์ฆ๋ ์ ์นํ ์ฒด (#2์ ์ ๊ธ๋ผ์ค)์ (#3์ ์ฒญ๋ฐ์ง)๋ฅผ ์ง์ ๋ชจ๋ธ์ด ์ฐฉ์ฉํ๊ฒ ์ฒ๋ผ ์์ฐ์ค๋ฝ๊ฒ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ผ."],
|
| 803 |
+
["down/๋ชจ๋ธ.jpg", "down/์ ๊ธ๋ผ์ค.png", "down/์นดํ์ ๊ฒฝ.png", "(#1์ ์ฌ์ฑ๋ชจ๋ธ)์ด ์ ์ฒด ๋น์จ๊ณผ ํฌ์ฆ๋ ์ ์นํ ์ฒด (#2์ ์ ๊ธ๋ผ์ค)๋ฅผ ์ง์ ๋ชจ๋ธ์ด ์ฐฉ์ฉํ ๊ฒ์ฒ๋ผ (#3์ ์ฅ์)์์ ์์์ ์์ ์๋ ์์ฐ์ค๋ฌ์ด ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ผ."],
|
| 804 |
+
["down/๋ชจ๋ธ.jpg", "down/์์ธ์.png", None, "(#1์ ์ฌ์ฑ๋ชจ๋ธ)์ด ์ ์ฒด ๋น์จ๊ณผ ํฌ์ฆ๋ ์ ์นํ ์ฒด (#2์ ์์ธ์)์ ์ฌ์ฑ๋ชจ๋ธ์ด ํ๋ณดํ ์์ธ์์ ๋๋ณด์ด๊ฒ ๋ค๊ณ ์๋ ์์ฐ์ค๋ฌ์ด ๋ชจ์ต์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ผ."],
|
| 805 |
+
["down/๋ชจ๋ธ.jpg", "down/์นดํ์ ๊ฒฝ.png", None, "(#1์ ์ฌ์ฑ๋ชจ๋ธ)์ด (#2 ์ด๋ฏธ์ง์ ๋ฐฐ๊ฒฝ)์ ์ฃผ์ ํผ์ฌ์ฒด๋ ๊ทธ๋๋ก ์ ์งํ์ฌ ์ด๋ฏธ์ง์ ๋ถ์๊ธฐ๊ฐ ์์ฐ์ค๋ฝ๊ฒ ์ด์ฐ๋ฌ์ง๋๋ก ์์ฑํ๋ผ."],
|
| 806 |
+
["down/์์ด๋ ๊ณ ๋ชจํ.png", None, None, "(#1์ ๋ ๊ณ ๋ชจํ)์์ ์ฒญ์์์ด๋ ๊ณ ๋ฅผ ์ ๊ฑฐํ ํ, ๊ทธ ์๋ฆฌ๋ฅผ ์ฃผ๋ณ ๋ฐฐ๊ฒฝ๊ณผ ์์ฐ์ค๋ฝ๊ฒ ์ด์ฐ๋ฌ์ง๋๋ก ์ฑ์์ฃผ์ธ์. ๋จ, ์ด๋ฏธ์ง์ ๋ค๋ฅธ ๋ถ๋ถ์ ์ฃผ์ ์์๋ ๋์ผํ๊ฒ ์ ์งํด ํด์ผํ๋ค."]
|
| 807 |
+
]
|
| 808 |
+
|
| 809 |
+
gr.Examples(
|
| 810 |
+
examples=examples,
|
| 811 |
+
inputs=[image1_input, image2_input, image3_input, prompt_input],
|
| 812 |
+
elem_id="examples-grid",
|
| 813 |
+
elem_classes="examples-grid"
|
| 814 |
+
)
|
| 815 |
+
|
| 816 |
+
# ์ฌ์ฉ์ ๋งค๋ด์ผ
|
| 817 |
+
gr.HTML(user_manual_html)
|
| 818 |
+
|
| 819 |
+
with gr.TabItem("๐ GFPGAN ์
์ค์ผ์ผ๋ฌ", elem_classes="tab-content"):
|
| 820 |
+
with gr.Row():
|
| 821 |
+
with gr.Column(elem_classes="panel"):
|
| 822 |
+
gr.HTML('<div class="section-title"><i class="fas fa-search-plus"></i> ์ด๋ฏธ์ง ์
์ค์ผ์ผ & ๋ณต์</div>')
|
| 823 |
+
gr.HTML("""
|
| 824 |
+
<p style="margin-bottom: 1rem; font-size: 1.05rem;">
|
| 825 |
+
GFPGANv1.4 ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง๋ฅผ ๊ณ ํด์๋๋ก ๋ณํํ๊ณ ์ผ๊ตด์ ๋ณต์ํฉ๋๋ค.
|
| 826 |
+
</p>
|
| 827 |
+
<div class="tip-box">
|
| 828 |
+
<i class="fas fa-lightbulb"></i> <strong>ํ:</strong> ํด์๋๊ฐ ๋ฎ๊ฑฐ๋ ํ์ง์ด ๋จ์ด์ง๋ ์ด๋ฏธ์ง, ํนํ ์ผ๊ตด ์ด๋ฏธ์ง์ ํจ๊ณผ์ ์
๋๋ค.
|
| 829 |
+
</div>
|
| 830 |
+
""")
|
| 831 |
+
|
| 832 |
+
with gr.Row():
|
| 833 |
+
with gr.Column():
|
| 834 |
+
gr.HTML('<div class="section-title"><i class="fas fa-upload"></i> ์
๋ ฅ ์ด๋ฏธ์ง</div>')
|
| 835 |
+
gfpgan_input = gr.Image(type="filepath", label="์
๋ก๋", elem_classes="image-container")
|
| 836 |
+
|
| 837 |
+
with gr.Column():
|
| 838 |
+
gr.HTML('<div class="section-title"><i class="fas fa-download"></i> ๊ฒฐ๊ณผ ์ด๋ฏธ์ง</div>')
|
| 839 |
+
gfpgan_output = gr.Image(type="numpy", label="์
์ค์ผ์ผ ๊ฒฐ๊ณผ", elem_classes="image-container")
|
| 840 |
+
|
| 841 |
+
gfpgan_btn = gr.Button('<i class="fas fa-magic"></i> ์
์ค์ผ์ผ ๋ฐ ๋ณต์', elem_classes="custom-button primary")
|
| 842 |
+
|
| 843 |
+
# ๋ฒํผ ์ด๋ฒคํธ ์ฐ๊ฒฐ
|
| 844 |
+
image_change_btn1.click(
|
| 845 |
+
fn=lambda: "(#1์ ์ฌ์ฑ)์ด ์ด์ง ๋ค๋ก ๋์๋ณด๋ ๋ชจ์ต์ผ๋ก ์ต๋ํ ์ด์ seed๋ฅผ ์ ์งํํ
์์ฐ์ค๋ฝ๊ฒ ๋ณ๊ฒฝํ๋ผ.",
|
| 846 |
+
inputs=[],
|
| 847 |
+
outputs=prompt_input
|
| 848 |
+
)
|
| 849 |
+
image_change_btn2.click(
|
| 850 |
+
fn=lambda: "(#1 ๋ ๋ชจ๋ชจํ)์์ ์ฒญ์์์ด๋ ๊ณ ๋ง ๊ฒ์์ ๊ณ ๋๋ ๊ณ ๋ก ๋ณ๊ฒฝํ๊ณ ๋๋จธ์ง ๋ถ๋ถ์ seed๋ฅผ ๋ณ๊ฒฝ์ ํ์ง๋ง๋ผ.",
|
| 851 |
+
inputs=[],
|
| 852 |
+
outputs=prompt_input
|
| 853 |
+
)
|
| 854 |
+
text_remove_btn.click(
|
| 855 |
+
fn=lambda: "(#1 ์ด๋ฏธ์ง)์ ์๋ ์ค๊ตญ์ด๋ฅผ ๋ชจ๋ ์ ๊ฑฐํ๋ผ.",
|
| 856 |
+
inputs=[],
|
| 857 |
+
outputs=prompt_input
|
| 858 |
+
)
|
| 859 |
+
text_change_btn.click(
|
| 860 |
+
fn=lambda: '(#1์ ํ
์คํธ)๋ฅผ ์คํ์ผ์ ์ ์งํ์ฒด ํ
์คํธ๋ง "Hello"๋ก ๋ฐ๊ฟ๋ผ',
|
| 861 |
+
inputs=[],
|
| 862 |
+
outputs=prompt_input
|
| 863 |
+
)
|
| 864 |
+
clothes_change_btn1.click(
|
| 865 |
+
fn=lambda: "(#1์ ์ฌ์ฑ๋ชจ๋ธ)์ด ์ ์ฒด ๋น์จ๊ณผ ํฌ์ฆ๋ ์ ์งํ ์ฒด (#2์ ์ ๊ธ๋ผ์ค)์ (#3์ ์ฒญ๋ฐ์ง)๋ฅผ ์ง์ ๋ชจ๋ธ์ด ์ฐฉ์ฉํ๊ฒ ์ฒ๋ผ ์์ฐ์ค๋ฝ๊ฒ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ผ.",
|
| 866 |
inputs=[],
|
| 867 |
outputs=prompt_input
|
| 868 |
)
|