Skip to content

Imover is a powerful, intuitive web application that allows you to effortlessly remove backgrounds from your images and apply a wide range of professional edits. Built with a modern tech stack, it provides a seamless user experience for batch processing and creative image manipulation.

Notifications You must be signed in to change notification settings

Nir-Bhay/Imover

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

🖼️ Imover - Image Background Remover & Editor

Imover is a powerful, intuitive web application that allows you to effortlessly remove backgrounds from your images and apply a wide range of professional edits. Built with a modern tech stack, it provides a seamless user experience for batch processing and creative image manipulation.

Imover Application Screenshot (Note: Replace this with a screenshot or GIF of your application)


✨ Key Features

  • Advanced Background Removal: Utilizes the powerful rembg library to accurately remove backgrounds from any image.
  • Multiple Background Options:
    • Transparent: Keep the background transparent (PNG).
    • Solid Colors: Choose from a palette of solid colors.
    • Gradients: Apply beautiful linear gradients.
    • Custom Image: Upload your own image to use as a new background.
  • Professional Editing Tools:
    • Drop Shadow: Add depth with a customizable drop shadow (blur, offset, and color).
    • Image Adjustments: Fine-tune your images with brightness, contrast, and saturation controls.
  • Batch Processing: Upload and process multiple images at once with the smart image queue.
  • Interactive Compare Mode: Use the draggable slider to instantly compare the original and processed images.
  • Flexible Download Options: Download a single processed image or get all of them in a convenient ZIP file.
  • Modern & Responsive UI: A sleek, dark-themed interface built with Material-UI, featuring a drag-and-drop zone for easy uploads.

🛠️ Tech Stack

Area Technology
Frontend React, Vite, Material-UI (MUI)
Backend FastAPI (Python), Pillow (PIL)
Core AI rembg for background subtraction

🚀 Getting Started

Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

  • Node.js (v18 or newer recommended)
  • Python (v3.8 or newer) & pip

1. Clone the Repository

git clone https://github.com/your-username/imover.git
cd imover

2. Backend Setup

Navigate to the backend directory, create a virtual environment, and install the required Python packages.

# Navigate to the backend folder
cd backend

# Create and activate a virtual environment
# On Windows:
python -m venv venv
venv\Scripts\activate
# On macOS/Linux:
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

3. Frontend Setup

In a new terminal, navigate to the frontend directory and install the required Node.js packages.

# Navigate to the frontend folder from the root directory
cd frontend

# Install dependencies
npm install

4. Running the Application

You need to have both the backend and frontend servers running simultaneously.

  • Start the Backend Server: In your terminal with the backend directory active:

    uvicorn main:app --reload

    The API will be running at http://127.0.0.1:8000.

  • Start the Frontend Server: In your terminal with the frontend directory active:

    npm run dev

    The application will be accessible at http://localhost:5173 (or another port if 5173 is busy).

Now, you can open your browser and start using Imover!


📖 How to Use

  1. Upload Images: Drag and drop your image files onto the main panel or click the "Upload" button.
  2. Select an Image: Your images will appear in the queue at the bottom. Click on an image to select it for editing and preview.
  3. Use the Tools Panel: On the right, configure your desired settings:
    • Choose a background (transparent, color, gradient, or custom image).
    • Add and adjust a drop shadow.
    • Fine-tune brightness, contrast, and saturation.
  4. Process Images: Click the "Process Queue" button. The application will process all images that have not yet been processed.
  5. Compare & Download:
    • Once an image is processed, an interactive slider will appear. Drag it to compare the before and after.
    • Click "Download" to save the currently selected image.
    • Click "Download All" to get a ZIP file containing all the successfully processed images from the queue.

📝 API

The backend exposes a single primary endpoint for all image processing tasks.

POST /api/remove-background

This endpoint accepts multipart/form-data with the following fields:

  • file: The image file to be processed.
  • background_type: ('color', 'gradient', 'image')
  • background_value: The value for the background (e.g., '#FFFFFF', 'linear-gradient(...)', or the filename of the custom background image).
  • custom_background_image: (Optional) The custom background image file, required if background_type is 'image'.
  • shadow_blur: (Integer) The blur radius for the drop shadow.
  • shadow_offset_x: (Integer) The horizontal offset for the shadow.
  • shadow_offset_y: (Integer) The vertical offset for the shadow.
  • shadow_color: (String) The hex color code for the shadow (e.g., '#000000').
  • brightness: (Float) Brightness enhancement factor (1.0 is original).
  • contrast: (Float) Contrast enhancement factor (1.0 is original).
  • saturation: (Float) Saturation enhancement factor (1.0 is original).

It returns the processed image as a PNG file.

About

Imover is a powerful, intuitive web application that allows you to effortlessly remove backgrounds from your images and apply a wide range of professional edits. Built with a modern tech stack, it provides a seamless user experience for batch processing and creative image manipulation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published