Project

General

Profile

User Manual » History » Version 12

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