Actions
Wiki | Team Members | Meeting Documentation | User Manual | Functional & Non-Functional Requirements | Math Document | UML Diagrams | Test Report | Results¶
About our project¶
Our project focuses on merging two images from separate projectors into one unified display. We utilize advanced image processing techniques including Gamma correction method and Alpha blending to achieve the desired output. The team is composed of a project manager, team leader, and various sub teams responsible for Doxyen documentation, wiki management, coding, commenting, and UML design.
Software and Tools¶
Python /Opencv: Used for efficient image processing.
Doxygen: Helps in documenting the code for clarity and future use.
Astah: Utilized for creating UML diagrams to visualize the project’s design.
Redmine: Employed for task tracking and progress management.¶
How system displays image¶
The system displays the image by following steps.¶
1. The system only accepts JPEG/PNG format files and from the picture. System also obtains the metadata as well when it loads the image file.
2. The system specifies the image file path inside the configuration file.
3. Once, system load the image the system masks the image and project to the screen¶
How to handle image masking¶
Our group handles the image masking by following steps.¶
1. Get the distance between the two projector. We set this distance as a symbol (ξ).
2. Get the distance of the total width of the projection. We set this distance as a symbol (η).
3. The system calculates the overlap percentage by the formlar below.¶
4. The system converts the overlapped pixel by multiplying the overlap percentage with the picture width in pixel.
5. we set the edge of the overlapped picture α = 1, and it reduce the size of α by
1/overlapped pixel until α = 0. This is called linear interpolation.¶
see more: https://en.wikipedia.org/wiki/Linear_interpolation
Alpha blending method:¶
Alpha blending is one of our main features to handle image processing.
Alpha blending is the method to mask the two images based on the transparency on each pixel. This transparency value is also known as Alpha value. In our project by setting the edge of the masking part as below. For controlling this alpha value our group uses linear interpolation.
In the programming we determine the left and right image by 0 and 1.¶
see more: https://en.wikipedia.org/wiki/Alpha_compositing
Gamma correction method:¶
In the project, different projectors may have different brightness response characteristics (gamma characteristics). These differences will lead to inconsistent brightness and contrast of composite images, especially in overlapping areas, so we use gamma calibration to mainly solve the following problems:¶
1.rightness mismatch: The brightness response of each projector is different. We use gamma calibration to adjust the output brightness curve of each projector to achieve consistency, so as to eliminate the situation of brightness mismatch.
2. Overlapping area distortion: The overlapping area may have a superposition effect of excessive brightness. Gamma calibration combines with other technologies (such as Alpha Blending) to smooth the brightness transition of the area, making the synthesized image more natural.
3. Loss of details: Through gamma calibration, we can restore the dark and bright details of the image, so that the composite image has better contrast, clearer layers, and the visual feeling is closer to reality.¶
Gamma calibration plays a crucial role in dual projection synthesis, not only balancing the brightness response of the two projectors, but also enhancing the fusion effect and visual detail performance of the image. Through this technology, we have successfully eliminated the problems of brightness inconsistency and transition area distortion, providing higher quality for the final composite image.¶
Updated by Nathanael Muin JUSTIN 4 months ago · 26 revisions