Project

General

Profile

User Manual » History » Version 10

Nathanael Muin JUSTIN, 01/15/2025 06:01 PM

1 10 Nathanael Muin JUSTIN
> h2. [[Wiki]] | [[Team Members]] | [[Meeting Documentation]] | [[Our Project]] | [[Project Setup Guide]] | [[Functional & Non-Functional Requirements]] | [[Math Document]] | [[UML Diagrams]] | [[Test Report]] | [[Results]]
2 2 Nathanael Muin JUSTIN
3
4 1 Nathanael Muin JUSTIN
h1. User Manual
5 4 Nathanael Muin JUSTIN
6
*1. Introduction*
7
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.
8
9
*2. System Requirements*
10
* Operating System: Mac OS (recommended/tested)
11
* Python: 3.x (e.g., Python 3.9+)
12
* Required Python Libraries:
13
# numpy==2.2.0
14
# opencv-python==4.10.0.84
15
# python-dotenv==1.0.1
16
17 5 Nathanael Muin JUSTIN
h1. Setup
18 4 Nathanael Muin JUSTIN
19 9 GENKI MATSUNAGA
*Step 1: Install required packages*
20
* Run the following command to install all required packages.
21
<pre><code class="shell">
22
pip install -r requirements.txt
23
</code></pre>
24
25
*Step 2: Configure the Environment*
26 4 Nathanael Muin JUSTIN
* Locate the image_configuration.env file and adjust the settings if needed:
27
* IMAGE_FILE_PATH: Path to the image you want to project.
28
* SIDE: Set as either left or right to specify the projector's position.
29 8 Nathanael Muin JUSTIN
* DISTANCE_BETWEEN_PROJECTOR_CM: Distance between the two projectors in centimeters.
30 1 Nathanael Muin JUSTIN
* PROJECTION_WIDTH_CM: The total width of the projection area in centimeters​.
31 9 GENKI MATSUNAGA
* GAMMA_VALUE: The exponent value when creating the mask. Increase in value increases the intensity of intersection area.
32 8 Nathanael Muin JUSTIN
33 9 GENKI MATSUNAGA
*Step 3: Preparing the Code*
34 8 Nathanael Muin JUSTIN
* Ensure the main.py script is in the working directory.
35
* Ensure the required images (e.g., Left.jpg, Right.jpg) are properly placed as referenced in the code.
36
37
38 4 Nathanael Muin JUSTIN
h1. Running the Application
39 5 Nathanael Muin JUSTIN
40 4 Nathanael Muin JUSTIN
# Open a terminal in the project directory.
41
# Run the following command to execute the script:
42 9 GENKI MATSUNAGA
<pre><code class="shell">
43
chmod +x run.sh
44
./run.sh
45 4 Nathanael Muin JUSTIN
</code></pre>
46
# The script will automatically:
47
* Load the configuration from image_configuration.env.
48
* Process the images using the settings provided.
49
* Split and align the image for projection on two projectors.
50
51 1 Nathanael Muin JUSTIN
* *Alignment:* The software handles automatic alignment of the image sections for both projectors.
52
* *Projection Area:* Adjust the position of the projectors to ensure proper overlapping at the image boundaries.
53 5 Nathanael Muin JUSTIN
54
55
h1. Troubleshooting
56
57
*Issue 1: Misaligned Images*
58
* Ensure the DISTANCE_BETWEEN_PROJECTOR_CM and PROJECTION_WIDTH_CM are accurate.
59
* Verify both projectors are calibrated and aligned physically.
60
61
*Issue 2: Missing Libraries*
62
* Install the required libraries using:
63
<pre><code class="python">
64
pip install -r requirements.txt
65
</code></pre>
66
67
*Issue 3: Image File Not Found*
68
* Verify that the image file path in *image_configuration.env* matches the image's location.