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