Multi-Projector
Loading...
Searching...
No Matches
MultiProjector G21 2024 Main Page

User Manual

1. Introduction

This project demonstrates how to display and “mesh” an image across two adjacent projectors, producing one larger, seamless image. It does so by applying a “mask” to the overlapping region so that the final displayed image appears continuous. The code uses OpenCV and NumPy for image processing and relies on python-dotenv for reading configuration variables (e.g., image path, projector spacing) from a .env file.

2. System Requirements

  • Operating System: Mac OS (recommended/tested)
  • Python: 3.x (e.g., Python 3.9+)
  • Required Python Libraries:
    1. numpy==2.2.0
    2. opencv-python==4.10.0.84
    3. python-dotenv==1.0.1

Setup

Step 1: Install required packages Run the following command to install all required packages:

pip install -r requirements.txt

This will install the following packages:

  • numpy==2.2.0
  • opencv-python==4.10.0.84
  • python-dotenv==1.0.1

Step 2: Configure the Environment Locate the image_configuration.env file and adjust the settings if needed:

  • IMAGE_FILE_PATH: Path to the image you want to project.
  • SIDE: Set as either left or right to specify the projector's position.
  • DISTANCE_BETWEEN_PROJECTOR_CM: Distance between the two projectors in centimeters.
  • PROJECTION_WIDTH_CM: The total width of the projection area in centimeters.
  • GAMMA_VALUE: The exponent value when creating the mask. Increasing this value increases the intensity of the intersection area.

Step 3: Preparing the Code

  • Ensure the main.py script is in the working directory.
  • Ensure the required images (e.g., Left.jpg, Right.jpg) are properly placed as referenced in the working directory.

Running the Application

  1. Open a terminal in the project directory.
  2. Run the following commands to make the script executable and start the application:
chmod +x run.sh
./run.sh

The script will:

  • Load the configuration from image_configuration.env.
  • Process and split the image for projection on two projectors.
  • Automatically handle alignment of image sections for both projectors.
  • Adjust the projector position to ensure proper overlapping at image boundaries.

Troubleshooting

Issue 1: Misaligned Images

  • Ensure DISTANCE_BETWEEN_PROJECTOR_CM and PROJECTION_WIDTH_CM in .env are accurate.
  • Confirm both projectors are aligned and calibrated properly.

Issue 2: Missing Libraries

  • Install the required libraries using:
    pip install -r requirements.txt

Issue 3: Image File Not Found

  • Check that the path in IMAGE_FILE_PATH (in .env) matches the actual file location.
Projector Result