Project

General

Profile

User Manual » History » Revision 11

Revision 10 (Nathanael Muin JUSTIN, 01/15/2025 06:01 PM) → Revision 11/15 (GENKI MATSUNAGA, 01/16/2025 01:08 PM)

> h2. [[Wiki]] | [[Team Members]] | [[Meeting Documentation]] | [[Our Project]] | [[Project Setup Guide]] | [[Functional & Non-Functional Requirements]] | [[Math Document]] | [[UML Diagrams]] | [[Test Report]] | [[Results]] 


 h1. 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 

 h1. Setup 

 *Step 1: Install required packages* 
 * Run the following command to install all required packages. 
 <pre><code class="shell"> 
 pip install -r requirements.txt 
 </code></pre> 

 *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. Increase in value increases the intensity of 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 code. 


 h1. Running the Application 

 # Open a terminal in the project directory. 
 # Run the following command to execute the script: 
 <pre><code class="shell"> 
 python3 main.py chmod +x run.sh 
 ./run.sh 
 </code></pre> 
 # The script will automatically: 
 * Load the configuration from image_configuration.env. 
 * Process the images using the settings provided. 
 * Split and align the image for projection on two projectors. 

 * *Alignment:* The software handles automatic alignment of the image sections for both projectors. 
 * *Projection Area:* Adjust the position of the projectors to ensure proper overlapping at the image boundaries. 


 h1. Troubleshooting 

 *Issue 1: Misaligned Images* 
 * Ensure the DISTANCE_BETWEEN_PROJECTOR_CM and PROJECTION_WIDTH_CM are accurate. 
 * Verify both projectors are calibrated and aligned physically. 

 *Issue 2: Missing Libraries* 
 * Install the required libraries using: 
 <pre><code class="python"> 
 pip install -r requirements.txt 
 </code></pre> 

 *Issue 3: Image File Not Found* 
 * Verify that the image file path in *image_configuration.env* matches the image's location.