wenjun99 commited on
Commit
81dbe3d
·
verified ·
1 Parent(s): 07a5d20

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -4
app.py CHANGED
@@ -2,6 +2,7 @@ import streamlit as st
2
  from PIL import Image, ImageFilter
3
  import numpy as np
4
  import pandas as pd
 
5
 
6
  # Simple app: convert user input into ASCII codes and binary labels
7
 
@@ -14,9 +15,6 @@ def string_to_binary_labels(s: str) -> list[int]:
14
  return bits
15
 
16
  def clean_image(img: Image.Image, min_size: int = 256) -> Image.Image:
17
- """
18
- Preprocess image to reduce noise: resize if needed and apply light blur.
19
- """
20
  img = img.convert("RGB")
21
  if img.width < min_size or img.height < min_size:
22
  img = img.resize((min_size, min_size))
@@ -121,9 +119,14 @@ with tab2:
121
  img = Image.open(uploaded_file)
122
  st.image(img, caption="Uploaded Image", use_column_width=True)
123
 
 
 
 
 
 
124
  max_pixels = st.slider("Max number of pixels to encode", min_value=32, max_value=1024, value=256, step=32)
125
 
126
- binary_labels = image_to_binary_labels_rgb(img, max_pixels=max_pixels)
127
 
128
  st.subheader("Binary Labels from Image")
129
  num_groups = (len(binary_labels) + 31) // 32
 
2
  from PIL import Image, ImageFilter
3
  import numpy as np
4
  import pandas as pd
5
+ from streamlit_cropper import st_cropper
6
 
7
  # Simple app: convert user input into ASCII codes and binary labels
8
 
 
15
  return bits
16
 
17
  def clean_image(img: Image.Image, min_size: int = 256) -> Image.Image:
 
 
 
18
  img = img.convert("RGB")
19
  if img.width < min_size or img.height < min_size:
20
  img = img.resize((min_size, min_size))
 
119
  img = Image.open(uploaded_file)
120
  st.image(img, caption="Uploaded Image", use_column_width=True)
121
 
122
+ st.subheader("Crop the image with drag and select")
123
+ cropped_img = st_cropper(img, realtime_update=True, box_color='blue', aspect_ratio=None)
124
+
125
+ st.image(cropped_img, caption="Cropped Image", use_column_width=True)
126
+
127
  max_pixels = st.slider("Max number of pixels to encode", min_value=32, max_value=1024, value=256, step=32)
128
 
129
+ binary_labels = image_to_binary_labels_rgb(cropped_img, max_pixels=max_pixels)
130
 
131
  st.subheader("Binary Labels from Image")
132
  num_groups = (len(binary_labels) + 31) // 32