Spaces:
Runtime error
Runtime error
tastelikefeet
commited on
Commit
·
f089029
1
Parent(s):
7c8010b
up10
Browse files- __pycache__/versions.cpython-311.pyc +0 -0
- app.py +17 -6
- css/style.css +1 -1
__pycache__/versions.cpython-311.pyc
ADDED
|
Binary file (221 Bytes). View file
|
|
|
app.py
CHANGED
|
@@ -53,9 +53,11 @@ for idx, name in enumerate(files):
|
|
| 53 |
temp = os.path.join(os.path.dirname(__file__), img, name)
|
| 54 |
showcases.append(temp)
|
| 55 |
|
| 56 |
-
def process(input_image, original_image, original_mask, selected_points, source_background, prompt, face_prompt):
|
| 57 |
-
if original_image is None
|
| 58 |
-
raise gr.Error('Please upload the input image
|
|
|
|
|
|
|
| 59 |
|
| 60 |
# load example image
|
| 61 |
if isinstance(original_image, int):
|
|
@@ -63,7 +65,11 @@ def process(input_image, original_image, original_mask, selected_points, source_
|
|
| 63 |
original_image = cv2.imread(image_name)
|
| 64 |
original_image = cv2.cvtColor(original_image, cv2.COLOR_BGR2RGB)
|
| 65 |
|
| 66 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 67 |
|
| 68 |
request_id = str(uuid.uuid4())
|
| 69 |
input_image_url = upload_np_2_oss(original_image, request_id+".png")
|
|
@@ -134,7 +140,7 @@ with block:
|
|
| 134 |
with gr.Row(equal_height=True):
|
| 135 |
gr.Markdown("""
|
| 136 |
- ⭐️ <b>step1:</b>Upload or select one image from Example
|
| 137 |
-
- ⭐️ <b>step2:</b>Click on Input-image to select the object to be retained
|
| 138 |
- ⭐️ <b>step3:</b>Input prompt or reference image (highly-recommended) for generating new contents
|
| 139 |
- ⭐️ <b>step4:</b>Click Run button
|
| 140 |
""")
|
|
@@ -159,6 +165,9 @@ with block:
|
|
| 159 |
with gr.Tabs(elem_classes=["feedback1"]):
|
| 160 |
with gr.TabItem("Reference Image (Optional)"):
|
| 161 |
source_background = gr.Image(type="numpy", label="Background Image")
|
|
|
|
|
|
|
|
|
|
| 162 |
|
| 163 |
face_prompt = gr.Textbox(label="Face Prompt", value='good face, beautiful face, best quality')
|
| 164 |
with gr.Column():
|
|
@@ -187,6 +196,8 @@ with block:
|
|
| 187 |
# image upload is too slow
|
| 188 |
if min(img.shape[0], img.shape[1]) > 896:
|
| 189 |
img = resize_image(img, 896)
|
|
|
|
|
|
|
| 190 |
return img, img, [], None # when new image is uploaded, `selected_points` should be empty
|
| 191 |
|
| 192 |
input_image.upload(
|
|
@@ -294,7 +305,7 @@ with block:
|
|
| 294 |
[gallery_flag]
|
| 295 |
)
|
| 296 |
|
| 297 |
-
ips=[input_image, original_image, original_mask, selected_points, source_background, prompt, face_prompt]
|
| 298 |
run_button.click(fn=process, inputs=ips, outputs=[result_gallery, request_id, gallery_flag])
|
| 299 |
|
| 300 |
|
|
|
|
| 53 |
temp = os.path.join(os.path.dirname(__file__), img, name)
|
| 54 |
showcases.append(temp)
|
| 55 |
|
| 56 |
+
def process(input_image, original_image, original_mask, input_mask, selected_points, source_background, prompt, face_prompt):
|
| 57 |
+
if original_image is None:
|
| 58 |
+
raise gr.Error('Please upload the input image')
|
| 59 |
+
if (original_mask is None or len(selected_points)==0) and input_mask is None:
|
| 60 |
+
raise gr.Error("Please click the region where you want to keep unchanged, or upload a white-black Mask image where white color indicates region to be retained.")
|
| 61 |
|
| 62 |
# load example image
|
| 63 |
if isinstance(original_image, int):
|
|
|
|
| 65 |
original_image = cv2.imread(image_name)
|
| 66 |
original_image = cv2.cvtColor(original_image, cv2.COLOR_BGR2RGB)
|
| 67 |
|
| 68 |
+
if input_mask is not None:
|
| 69 |
+
H,W=original_image.shape[:2]
|
| 70 |
+
original_mask = cv2.resize(input_mask, (W, H))
|
| 71 |
+
else:
|
| 72 |
+
original_mask = np.clip(255 - original_mask, 0, 255).astype(np.uint8)
|
| 73 |
|
| 74 |
request_id = str(uuid.uuid4())
|
| 75 |
input_image_url = upload_np_2_oss(original_image, request_id+".png")
|
|
|
|
| 140 |
with gr.Row(equal_height=True):
|
| 141 |
gr.Markdown("""
|
| 142 |
- ⭐️ <b>step1:</b>Upload or select one image from Example
|
| 143 |
+
- ⭐️ <b>step2:</b>Click on Input-image to select the object to be retained (or upload a white-black Mask image, in which white color indicates the region you want to keep unchanged)
|
| 144 |
- ⭐️ <b>step3:</b>Input prompt or reference image (highly-recommended) for generating new contents
|
| 145 |
- ⭐️ <b>step4:</b>Click Run button
|
| 146 |
""")
|
|
|
|
| 165 |
with gr.Tabs(elem_classes=["feedback1"]):
|
| 166 |
with gr.TabItem("Reference Image (Optional)"):
|
| 167 |
source_background = gr.Image(type="numpy", label="Background Image")
|
| 168 |
+
with gr.Tabs(elem_classes=["feedback1"]):
|
| 169 |
+
with gr.TabItem("User-specified Mask Image (Optional)"):
|
| 170 |
+
input_mask = gr.Image(type="numpy", label="Mask Image")
|
| 171 |
|
| 172 |
face_prompt = gr.Textbox(label="Face Prompt", value='good face, beautiful face, best quality')
|
| 173 |
with gr.Column():
|
|
|
|
| 196 |
# image upload is too slow
|
| 197 |
if min(img.shape[0], img.shape[1]) > 896:
|
| 198 |
img = resize_image(img, 896)
|
| 199 |
+
if max(img.shape[0], img.shape[1])*1.0/min(img.shape[0], img.shape[1])>2.0:
|
| 200 |
+
raise gr.Error('image aspect ratio cannot be larger than 2.0')
|
| 201 |
return img, img, [], None # when new image is uploaded, `selected_points` should be empty
|
| 202 |
|
| 203 |
input_image.upload(
|
|
|
|
| 305 |
[gallery_flag]
|
| 306 |
)
|
| 307 |
|
| 308 |
+
ips=[input_image, original_image, original_mask, input_mask, selected_points, source_background, prompt, face_prompt]
|
| 309 |
run_button.click(fn=process, inputs=ips, outputs=[result_gallery, request_id, gallery_flag])
|
| 310 |
|
| 311 |
|
css/style.css
CHANGED
|
@@ -39,7 +39,7 @@
|
|
| 39 |
font-weight: bold;
|
| 40 |
}
|
| 41 |
#Image {
|
| 42 |
-
width:
|
| 43 |
margin:auto;
|
| 44 |
}
|
| 45 |
#ShowCase {
|
|
|
|
| 39 |
font-weight: bold;
|
| 40 |
}
|
| 41 |
#Image {
|
| 42 |
+
width: 80%;
|
| 43 |
margin:auto;
|
| 44 |
}
|
| 45 |
#ShowCase {
|