Spaces:
Running
on
L4
Running
on
L4
Update app.py
Browse files
app.py
CHANGED
@@ -100,7 +100,6 @@ def prepare_images_and_masks(total_mask, original_image, add_color_image, add_ed
|
|
100 |
return add_color_image_tensor, original_image_tensor, total_mask, add_edge_mask, remove_edge_mask
|
101 |
|
102 |
def guess_prompt_handler(original_image, add_color_image, add_edge_image):
|
103 |
-
# 将张量转换为 NumPy 数组
|
104 |
original_image_tensor = load_and_preprocess_image(original_image)
|
105 |
|
106 |
if add_color_image:
|
@@ -114,33 +113,27 @@ def guess_prompt_handler(original_image, add_color_image, add_edge_image):
|
|
114 |
original_image_numpy = tensor_to_numpy(original_image_tensor.squeeze(0))
|
115 |
add_color_image_numpy = tensor_to_numpy(add_color_image_tensor.squeeze(0))
|
116 |
add_edge_mask_numpy = tensor_to_numpy(add_edge_mask.squeeze(0).unsqueeze(-1))
|
117 |
-
|
118 |
original_image_numpy = cv2.cvtColor(original_image_numpy, cv2.COLOR_RGB2BGR)
|
119 |
add_color_image_numpy = cv2.cvtColor(add_color_image_numpy, cv2.COLOR_RGB2BGR)
|
120 |
-
|
121 |
-
# 创建临时文件,保存 NumPy 数组为图像文件
|
122 |
original_image_file = tempfile.NamedTemporaryFile(delete=False, suffix=".png", mode='w+b')
|
123 |
add_color_image_file = tempfile.NamedTemporaryFile(delete=False, suffix=".png", mode='w+b')
|
124 |
add_edge_mask_file = tempfile.NamedTemporaryFile(delete=False, suffix=".png", mode='w+b')
|
125 |
|
126 |
-
# 保存 NumPy 数组为 PNG 图像文件
|
127 |
cv2.imwrite(original_image_file.name, original_image_numpy)
|
128 |
cv2.imwrite(add_color_image_file.name, add_color_image_numpy)
|
129 |
cv2.imwrite(add_edge_mask_file.name, add_edge_mask_numpy)
|
130 |
-
|
131 |
-
# 确保文件关闭以保证内容写入磁盘
|
132 |
original_image_file.close()
|
133 |
add_color_image_file.close()
|
134 |
add_edge_mask_file.close()
|
135 |
|
136 |
-
# 调用 API,传递临时文件的路径
|
137 |
res = client.predict(
|
138 |
handle_file(original_image_file.name),
|
139 |
handle_file(add_color_image_file.name),
|
140 |
handle_file(add_edge_mask_file.name)
|
141 |
)
|
142 |
|
143 |
-
# 删除临时文件,确保它们存在且已被创建
|
144 |
if original_image_file and os.path.exists(original_image_file.name):
|
145 |
os.remove(original_image_file.name)
|
146 |
if add_color_image_file and os.path.exists(add_color_image_file.name):
|
|
|
100 |
return add_color_image_tensor, original_image_tensor, total_mask, add_edge_mask, remove_edge_mask
|
101 |
|
102 |
def guess_prompt_handler(original_image, add_color_image, add_edge_image):
|
|
|
103 |
original_image_tensor = load_and_preprocess_image(original_image)
|
104 |
|
105 |
if add_color_image:
|
|
|
113 |
original_image_numpy = tensor_to_numpy(original_image_tensor.squeeze(0))
|
114 |
add_color_image_numpy = tensor_to_numpy(add_color_image_tensor.squeeze(0))
|
115 |
add_edge_mask_numpy = tensor_to_numpy(add_edge_mask.squeeze(0).unsqueeze(-1))
|
|
|
116 |
original_image_numpy = cv2.cvtColor(original_image_numpy, cv2.COLOR_RGB2BGR)
|
117 |
add_color_image_numpy = cv2.cvtColor(add_color_image_numpy, cv2.COLOR_RGB2BGR)
|
118 |
+
|
|
|
119 |
original_image_file = tempfile.NamedTemporaryFile(delete=False, suffix=".png", mode='w+b')
|
120 |
add_color_image_file = tempfile.NamedTemporaryFile(delete=False, suffix=".png", mode='w+b')
|
121 |
add_edge_mask_file = tempfile.NamedTemporaryFile(delete=False, suffix=".png", mode='w+b')
|
122 |
|
|
|
123 |
cv2.imwrite(original_image_file.name, original_image_numpy)
|
124 |
cv2.imwrite(add_color_image_file.name, add_color_image_numpy)
|
125 |
cv2.imwrite(add_edge_mask_file.name, add_edge_mask_numpy)
|
126 |
+
|
|
|
127 |
original_image_file.close()
|
128 |
add_color_image_file.close()
|
129 |
add_edge_mask_file.close()
|
130 |
|
|
|
131 |
res = client.predict(
|
132 |
handle_file(original_image_file.name),
|
133 |
handle_file(add_color_image_file.name),
|
134 |
handle_file(add_edge_mask_file.name)
|
135 |
)
|
136 |
|
|
|
137 |
if original_image_file and os.path.exists(original_image_file.name):
|
138 |
os.remove(original_image_file.name)
|
139 |
if add_color_image_file and os.path.exists(add_color_image_file.name):
|