Skip to content

sanchi-t/ColorSense

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ColorSense

ColorSense is an image processing application that allows users to upload an image, apply a segmentation algorithm based on k-means clustering, and customize the color of each segment using RGB values. The result is a transformed image with a unique and personalized look.

Features

  • Image Upload: Users can easily upload their images through the user-friendly interface.

  • K-Means Segmentation: The application utilizes the k-means clustering algorithm to segment the uploaded image into a specified number of clusters.

  • Color Customization: Users can interactively customize the color of each segment by entering RGB values.

  • Preview: A preview is provided to visualize the changes made to the image.

  • Dockerized: The entire application is containerized using Docker, ensuring easy deployment and consistent behavior across different environments.

  • Kubernetes Provisioning: For those interested in deploying the application on Kubernetes, instructions are provided in the Kubernetes section.

Prerequisites

Before running ColorSense, ensure you have the following dependencies installed:

  • Docker
  • Docker Compose

Getting Started

  1. Clone the Repository:

    git clone https://github.com/sanchi-t/ColorSense.git
  2. Navigate to the Project Directory:

    cd colorsense
  3. Build and Run the Docker Containers:

    docker-compose up --build
  4. Access the Application:

    Open your web browser and go to http://localhost:5000 to use ColorSense.

Kubernetes

If you are interested in deploying ColorSense on Kubernetes, follow the steps below:

  1. Apply Kubernetes Manifests:

    cd kubernetes
    kubectl apply -f kubernetes/
  2. Access the Application:

    Once the pods are running, the application will be accessible. You can find the service details using:

    kubectl get svc colorsense-service

    Access the application using the provided EXTERNAL-IP.

Usage

  1. Segmentation:

    • Enter the number of segments for k-means clustering.
  2. Upload Image:

    • Click on the "Upload" button to select and upload an image.
  3. Color Customization:

    • For each segment, enter RGB values to customize the color.
    • Changes will be reflected after you click on detect object button.
  4. Save or Download:

    • Once satisfied with the customization, save or download the transformed image by right-clicking it.

Images

brave_MPUnUfwsGs brave_qZvbnggbQH brave_6gFIHJ2sLJ brave_2LO3VTzI9z brave_uSjozZkz1v

Contributing

If you want to contribute to ColorSense, follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature: git checkout -b feature-name.
  3. Make your changes and commit them: git commit -m 'Add some feature'.
  4. Push to the branch: git push origin feature-name.
  5. Submit a pull request.

Acknowledgments

  • The ColorSense project is built using Flask, k-means clustering, and Docker.

Feel free to customize this README according to your specific project details and needs.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published