Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -203,18 +203,18 @@ def upload_page():
|
|
203 |
filepath = os.path.join(UPLOAD_DIR, filename)
|
204 |
converted_filepath = os.path.join(UPLOAD_DIR, converted_filename)
|
205 |
|
206 |
-
|
207 |
-
|
208 |
-
img = cv2.imdecode(nparr, cv2.IMREAD_UNCHANGED)
|
209 |
-
cv2.imwrite(filepath, img)
|
210 |
|
211 |
if file_extension in ['.tiff', '.tif']:
|
212 |
st.info('Processing GeoTIFF image...')
|
213 |
rgb_image = read_pansharpened_rgb(filepath)
|
214 |
cv2.imwrite(converted_filepath, cv2.cvtColor(rgb_image, cv2.COLOR_RGB2BGR))
|
215 |
st.success(f'GeoTIFF converted to 8-bit image and saved as {converted_filename}')
|
|
|
216 |
else:
|
217 |
-
|
|
|
218 |
|
219 |
if os.path.exists(converted_filepath):
|
220 |
st.success(f"Image saved successfully: {converted_filepath}")
|
@@ -223,15 +223,12 @@ def upload_page():
|
|
223 |
else:
|
224 |
st.error(f"Failed to save image: {converted_filepath}")
|
225 |
|
226 |
-
|
227 |
-
pil_img = Image.open(converted_filepath)
|
228 |
-
st.image(pil_img, caption='Uploaded Image', use_column_width=True)
|
229 |
st.success(f'Image processed and saved as {converted_filename}')
|
230 |
|
231 |
st.session_state.filename = converted_filename
|
232 |
|
233 |
-
|
234 |
-
img_array = cv2.imread(converted_filepath)
|
235 |
|
236 |
if img_array.shape[0] > 650 or img_array.shape[1] > 650:
|
237 |
st.info('Large image detected. Using patch-based processing.')
|
@@ -240,14 +237,11 @@ def upload_page():
|
|
240 |
else:
|
241 |
st.info('Small image detected. Processing whole image at once.')
|
242 |
with st.spinner('Analyzing image...'):
|
243 |
-
|
244 |
-
img_rgb = cv2.cvtColor(img_array, cv2.COLOR_BGR2RGB)
|
245 |
-
img_pil = Image.fromarray(img_rgb)
|
246 |
-
img_transformed = transforms(img_pil)
|
247 |
prediction = predict(img_transformed)
|
248 |
full_mask = (prediction > 0.5).astype(np.uint8) * 255
|
249 |
|
250 |
-
full_mask = refine_mask(full_mask)
|
251 |
mask_filename = f"mask_{timestamp}.png"
|
252 |
mask_filepath = os.path.join(MASK_DIR, mask_filename)
|
253 |
cv2.imwrite(mask_filepath, full_mask)
|
|
|
203 |
filepath = os.path.join(UPLOAD_DIR, filename)
|
204 |
converted_filepath = os.path.join(UPLOAD_DIR, converted_filename)
|
205 |
|
206 |
+
with open(filepath, "wb") as f:
|
207 |
+
f.write(bytes_data)
|
|
|
|
|
208 |
|
209 |
if file_extension in ['.tiff', '.tif']:
|
210 |
st.info('Processing GeoTIFF image...')
|
211 |
rgb_image = read_pansharpened_rgb(filepath)
|
212 |
cv2.imwrite(converted_filepath, cv2.cvtColor(rgb_image, cv2.COLOR_RGB2BGR))
|
213 |
st.success(f'GeoTIFF converted to 8-bit image and saved as {converted_filename}')
|
214 |
+
img = Image.open(converted_filepath)
|
215 |
else:
|
216 |
+
img = Image.open(filepath)
|
217 |
+
img.save(converted_filepath)
|
218 |
|
219 |
if os.path.exists(converted_filepath):
|
220 |
st.success(f"Image saved successfully: {converted_filepath}")
|
|
|
223 |
else:
|
224 |
st.error(f"Failed to save image: {converted_filepath}")
|
225 |
|
226 |
+
st.image(img, caption='Uploaded Image', use_column_width=True)
|
|
|
|
|
227 |
st.success(f'Image processed and saved as {converted_filename}')
|
228 |
|
229 |
st.session_state.filename = converted_filename
|
230 |
|
231 |
+
img_array = np.array(img)
|
|
|
232 |
|
233 |
if img_array.shape[0] > 650 or img_array.shape[1] > 650:
|
234 |
st.info('Large image detected. Using patch-based processing.')
|
|
|
237 |
else:
|
238 |
st.info('Small image detected. Processing whole image at once.')
|
239 |
with st.spinner('Analyzing image...'):
|
240 |
+
img_transformed = transforms(img)
|
|
|
|
|
|
|
241 |
prediction = predict(img_transformed)
|
242 |
full_mask = (prediction > 0.5).astype(np.uint8) * 255
|
243 |
|
244 |
+
full_mask = refine_mask(full_mask)#-----------------------------------------------------------------------
|
245 |
mask_filename = f"mask_{timestamp}.png"
|
246 |
mask_filepath = os.path.join(MASK_DIR, mask_filename)
|
247 |
cv2.imwrite(mask_filepath, full_mask)
|