Project

General

Profile

Files » README.md

FUJITA Ryusei, 01/08/2026 01:48 PM

 

Multi-Projector Blending System

This project provides a software solution for blending images from two projectors to create a seamless wide-screen display. It includes tools for image splitting, edge blending (linear, quadratic, Gaussian), and a simulation for auto-calibration using feature detection.

Prerequisites

  • Python 3.8 or higher
  • A webcam (for calibration features)
  • 2 Projectors

Installation

It is recommended to use a virtual environment to manage dependencies.

  1. Create a Virtual Environment

    python -m venv venv
    
  2. Activate the Virtual Environment

-   **macOS/Linux:**
    ```bash
    source venv/bin/activate
    ```
-   **Windows:**
    ```bash
    .\venv\Scripts\activate
    ```
  1. Install Dependencies

    pip install -r requirements.txt
    

Running the Application

  1. Prepare Input Image
    Ensure you have an image named input.png in the project directory. This image will be used for splitting and blending.

  2. Start the UI
    Run the main user interface script:

    python ui.py
    
  3. Using the Interface

    • Overlap (px): Adjust the pixel width of the overlapping region between the two projectors.
    • Blend Mode: Select the blending algorithm (linear, quadratic, or gaussian).
    • Left/Right Fullscreen: Opens a fullscreen window for the respective projector. Drag these windows to the appropriate physical projector displays.
    • Auto-Calibrate: Simulates an auto-calibration process to adjust the overlap based on camera feedback (requires a camera).

Configuration

The application uses a config.ini file to store settings. This file is automatically read on startup.

Documentation

The code is documented using Doxygen-compatible comments. You can generate documentation using Doxygen if needed.

(6-6/13)