Project

General

Profile

User Manual » History » Version 8

Nathanael Muin JUSTIN, 01/09/2025 03:00 PM

1 7 Nathanael Muin JUSTIN
> h2. [[Wiki]] | [[Team Members]] | [[Meeting Documentation]] | [[Functional & Non-Functional Requirements]] | [[Our Project]] | [[Project Setup Guide]] | [[Math Document]] | [[UML Diagrams]] | [[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
*Step 1: Configure the Environment*
20
* Locate the image_configuration.env file and adjust the settings if needed:
21
* IMAGE_FILE_PATH: Path to the image you want to project.
22
* SIDE: Set as either left or right to specify the projector's position.
23
* DISTANCE_BETWEEN_PROJECTOR_CM: Distance between the two projectors in centimeters.
24
* PROJECTION_WIDTH_CM: The total width of the projection area in centimeters​.
25
26
*Step 2: Preparing the Code*
27
* Ensure the main.py script is in the working directory.
28
* Ensure the required images (e.g., Left.jpg, Right.jpg) are properly placed as referenced in the code.
29
30 8 Nathanael Muin JUSTIN
h1. Configuration
31
32
* Create/Edit Your .env File
33
# A sample image_configuration.env might look like this:
34
<pre>
35
SIDE=left
36
IMAGE_FILE_PATH=/path/to/my_image.jpg
37
DISTANCE_BETWEEN_PROJECTOR_CM=100
38
PROJECTION_WIDTH_CM=200
39
</pre>
40
41
* Variables
42
43
* SIDE
44
# Accepts left or right (which side of the projection this device is responsible for).
45
46
* IMAGE_FILE_PATH
47
# Local path (absolute or relative) to your .png or .jpeg image.
48
49
* DISTANCE_BETWEEN_PROJECTOR_CM
50
# The distance in centimeters between the two projectors (x).
51
52
* PROJECTION_WIDTH_CM
53
# The total width of the final projection in centimeters (y).
54
Make sure that image_configuration.env is placed in the same directory where it will be read by the code.
55 4 Nathanael Muin JUSTIN
56 5 Nathanael Muin JUSTIN
h1. Running the Application
57 4 Nathanael Muin JUSTIN
58
# Open a terminal in the project directory.
59
# Run the following command to execute the script:
60
<pre><code class="python">
61
# ./run.sh
62
</code></pre>
63
# The script will automatically:
64
* Load the configuration from image_configuration.env.
65
* Process the images using the settings provided.
66
* Split and align the image for projection on two projectors.
67
68 1 Nathanael Muin JUSTIN
* *Alignment:* The software handles automatic alignment of the image sections for both projectors.
69
* *Projection Area:* Adjust the position of the projectors to ensure proper overlapping at the image boundaries.
70 5 Nathanael Muin JUSTIN
71
72
h1. Troubleshooting
73
74
*Issue 1: Misaligned Images*
75
* Ensure the DISTANCE_BETWEEN_PROJECTOR_CM and PROJECTION_WIDTH_CM are accurate.
76
* Verify both projectors are calibrated and aligned physically.
77
78
*Issue 2: Missing Libraries*
79
* Install the required libraries using:
80
<pre><code class="python">
81
pip install -r requirements.txt
82
</code></pre>
83
84
*Issue 3: Image File Not Found*
85
* Verify that the image file path in *image_configuration.env* matches the image's location.