How shrutisikhwalss-arch/image-color-compression works
This is a Streamlit image color-compression app. The user uploads an image (or selects the sample), chooses a color count, and receives a KMeans-quantized image with size metrics, a before/after view, a color-space plot, and a PNG download. An optional comparison runs other encoding and quantization methods and presents charts and visual results. The README also documents JPEG, WebP, and PIL comparison capabilities, which are implemented in the sampled comparison module. The graph is based on the supplied tree and source excerpts; the README mentions sample-image behavior, but no sample file appears in the tree.
Main entry points: app.py Streamlit app · img_comparison.py Method comparison · img_compression.py KMeans quantizer
Components 8
Interactive app
- Streamlit app
app.py
Image processing
- Image loader
img_compression.py - KMeans quantizer
img_compression.py - Size metrics
img_compression.py
Comparison and reporting
- Method comparison
img_comparison.py - Comparison chart
img_comparison.py - Visual comparison
img_comparison.py
Other components
- Image user
Connections 12
- Image user → Streamlit app: uploads image
- Streamlit app → Image loader: loads image
- Image loader → Streamlit app: returns RGB
- Streamlit app → KMeans quantizer: quantizes image
- KMeans quantizer → Streamlit app: returns image
- Streamlit app → Size metrics: measures sizes
- Streamlit app → Method comparison: runs methods
- Method comparison → KMeans quantizer: runs KMeans
- Method comparison → Comparison chart: plots results
- Method comparison → Visual comparison: plots images
- Streamlit app → Comparison chart: renders chart
- Streamlit app → Visual comparison: renders comparison