PixelCraft is a Streamlit-based image manipulation tool that provides multiple classic image-processing operations, including seam carving (content-aware resizing), content amplification, noise reduction, and edge detection.
The app is designed to be flexible and modular: the Streamlit UI is separated from the image-processing and seam-carving logic.
- Image reduction (content-aware) via seam carving
- Image enlargement via seam insertion
- Multi-dimensional retargeting (resize width + height)
- Content amplification (scale up then seam carve back to target size)
- Noise reduction (adaptive thresholding-style filtering)
- Edge detection (Canny)
conda create -n pixelcraft python=3.10 -y
conda activate pixelcraftpip install -r requirements.txtstreamlit run app.pyStreamlit will print a local URL (usually http://localhost:8501).
- Upload an image (
.jpg,.png,.jpeg,.tif,.bmp) - Set:
- target width
- target height
- scale factor (used for Content Amplification)
- Choose an operation from the buttons
- Download the processed result using the download button
.
├── app.py # Streamlit entrypoint (thin wrapper that launches the UI)
├── app_old.py # Previous single-file version (kept for reference)
├── requirements.txt
├── pixelcraft/ # Core package (application logic)
│ ├── processing.py # Noise reduction, edge detection, image conversion helpers
│ ├── seam_carving.py # Seam carving + resizing + retargeting algorithms
│ └── ui.py # Streamlit UI + operation routing
├── notebooks/ # Jupyter notebooks (experiments / exploration)
├── images/ # Example/sample images (optional)
└── Report.pdf # Project report/documentation