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:
- numpy==2.2.0
- opencv-python==4.10.0.84
- 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
- Open a terminal in the project directory.
- Run the following commands to make the script executable and start the application:
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