Skip to content

Latest commit

 

History

History

Image-Tool

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

Image Manipulation Tool

AIM

To provide an intuitive Python-based image editing tool using Streamlit, allowing users to resize, crop, convert, and enhance images with real-time previews.

DATASET LINK

No dataset is required for this project, as it processes user-uploaded images.

MY NOTEBOOK LINK

No notebook was used in this project.

DESCRIPTION

This project aims to create a simple yet powerful tool for manipulating images. Image manipulation is necessary for a variety of use cases such as preparing images for websites, social media, or applications where specific formats or dimensions are required. It can save users time by offering an all-in-one interface to perform basic editing tasks without needing advanced software.

Approach:

  • The project started with research into image manipulation using Python libraries like Pillow and Streamlit.
  • Tools like streamlit-cropper were integrated for easier cropping.

Additional Resources:

EXPLANATION

DETAILS OF THE DIFFERENT FEATURES

  1. Image Resizing: Users can resize images by height, width, or percentage.
  2. Image Cropping: Provides an interactive cropping tool using streamlit-cropper with aspect ratio control.
  3. Format Conversion: Converts images to popular formats like JPEG, PNG, BMP, and GIF.
  4. Enhancement: Adjust brightness, contrast, sharpness, and color.

WHAT I HAVE DONE

  1. Researched tools like Streamlit and Pillow for image manipulation.
  2. Developed a basic interface using Streamlit for uploading and previewing images.
  3. Integrated resizing functionality with live previews.
  4. Added image cropping using streamlit-cropper.
  5. Implemented format conversion with compression quality controls.
  6. Enabled image enhancement options (brightness, contrast, sharpness, color).
  7. Ensured images can be saved and downloaded after edits.

PROJECT TRADE-OFFS AND SOLUTIONS

  1. Trade-off 1: Keeping the interface simple vs. adding advanced features.
    • Solution: Prioritized simplicity, only adding essential features like resizing, cropping, and enhancement.
  2. Trade-off 2: Balancing performance with real-time previews.
    • Solution: Implemented lightweight image previews using Pillow and optimized backend logic.

LIBRARIES NEEDED

  • streamlit
  • Pillow
  • streamlit-cropper

SCREENSHOTS

image Screenshot_5-10-2024_172211_localhost image image image image

MODELS USED AND THEIR ACCURACIES

No machine learning models are used in this project.

CONCLUSION

WHAT YOU HAVE LEARNED

  • Practical application of Python in image processing.
  • Using Streamlit to create web-based applications.
  • Using Pillow's Image to modify and handle images.
  • Importance of balancing simplicity with functionality in a user interface.

USE CASES OF THIS MODEL

  1. Content Creators: Resize and enhance images for social media or blogs.
  2. Web Developers: Optimize image sizes for website performance.

HOW TO INTEGRATE THIS TOOL IN REAL WORLD

  1. Deploy the tool on a cloud service.
  2. Embed it as a standalone web app.
  3. Use the tool for real-time image processing needs for websites or applications.

YOUR NAME

Himanshi Maheshwari

LinkedIn GitHub Discord

Happy Coding 🧑‍💻

Show some  ❤️  by  🌟  this repository!