Project

General

Profile

About the Project » History » Version 17

Dylan WIDJAJA, 11/06/2024 04:11 PM

1 10 Ty Hikaru DAULTON
2
3
4
5 9 Ty Hikaru DAULTON
___
6
7 11 Ty Hikaru DAULTON
%{color:blue}[[/|Home]]% | [[About Us]] | [[About the Project]] | [[UML Diagrams]] | [[Codes]] | [[Outcome]]
8 9 Ty Hikaru DAULTON
9
10 6 Ty Hikaru DAULTON
___
11 1 Ty Hikaru DAULTON
12 10 Ty Hikaru DAULTON
h1=. <pre>  About the Project
13 6 Ty Hikaru DAULTON
</pre>
14 1 Ty Hikaru DAULTON
15
16
17 4 Ty Hikaru DAULTON
Our project aims to deliver a final product that combines images from two separate projectors into a single seamless image. These two images are processed using advanced image processing techniques, including gamma correction, alpha blending, and modified intensity, to ensure the desired final appearance. Our team consists of a project manager, a leader, and sub-teams dedicated to **%{color: blue}doxygen%** generation, wiki management, coding, commenting, and **%{color: red}UML%** design.
18 1 Ty Hikaru DAULTON
19 2 Ty Hikaru DAULTON
We primarily rely on **%{color: green}OpenCV%** and **%{color: purple}Python%** for our image processing.
20
21 4 Ty Hikaru DAULTON
h2. **Key Aspects of the Project:**
22
23 1 Ty Hikaru DAULTON
- **Image Processing with %{color: purple}Python% and %{color: green}OpenCV%**: We use %{color: purple}Python% in combination with **%{color: green}OpenCV%**, a comprehensive image processing library, to handle complex image analysis and processing tasks efficiently.
24
  
25
- **Structured Design with %{color: red}UML%**: We apply **%{color: red}Unified Modeling Language% (%{color: red}UML%)** to create a clear and structured design for our project. **%{color: red}UML%** allows us to visually represent the system's architecture and workflows, making the design easy to understand and follow.
26
  
27
- **Thorough Documentation with %{color: blue}Doxygen%**: Our code is meticulously documented using **%{color: blue}Doxygen%**, ensuring that it is clear, maintainable, and adaptable for future use.
28
29 4 Ty Hikaru DAULTON
- **Project Management with Redmine**: We use Redmine to manage and track project progress, coordinate tasks, and facilitate team collaboration. This tool helps keep the project organized and on schedule.
30
31
32
33
34
table{width: 100%}.
35
|={width: 30%; background-color: #aaf;}. **Synopsis of Technology** |
36
37
!2Projector1Image.png!
38
39 12 Dylan WIDJAJA
Our project's **objective** is to produce a single, large, and **distinct image** on a flat screen using **two projectors**. The setup involves a flat screen and **two laptops**, with the projectors directly aimed at the screen. To improve **image quality**, we utilize the **alpha blending** technique.
40 4 Ty Hikaru DAULTON
41 12 Dylan WIDJAJA
Our project works with **variable screen widths** where the two projectors are positioned at an **arbitrary distance** from the canvas and each other. Our project allows the users to **define** the **projected image** and **overlapping region** in pixels. Based on selected overlap region, the project ensures **seamless blending** of the two images, assuming optimal projector configuration. 
42 1 Ty Hikaru DAULTON
43
table{width: 100%}.
44 5 Ty Hikaru DAULTON
|={width: 30%; background-color: #aaf;}. **Alpha Blending Method** |
45 8 Ty Hikaru DAULTON
46 1 Ty Hikaru DAULTON
!AlphaBlending.png!
47
48 10 Ty Hikaru DAULTON
49
This is a **technique** employed in **computer graphics** when layering graphics, where single or multiple objects contain a level of **transparency**. It ensures that the **visible pixels** of the graphic underneath a transparent area have their **color** or **brightness** adjusted based on the transparency level of the upper object. An **alpha channel** acts as a mask that controls how much of the **lower-lying graphics** is displayed.
50
51
The method performs **alpha blending** particularly on the **edges** of an image. It involves combining an image with a background to create the appearance of **partial** or **full transparency**. Typically, this is used to blend two images. The blending behavior depends on the value of **image_side**:
52
53
- **If image_side is 1**, the method blends the **left edge** of the image.
54
- **If image_side is 0**, it blends the **right edge** of the image.
55
56 12 Dylan WIDJAJA
Blending occurs by mixing two types of images: the **upper-layer image** and the **lower-layer image**. This is done using an **alpha value** that varies along the mask width (**mask**), resulting in a significant **transition** between the two images.
57 13 Dylan WIDJAJA
58
Provided below is an example of an a left and right image that can be combined to produce a larger image. 
59
60 17 Dylan WIDJAJA
!{width:50%}original.png!
61 13 Dylan WIDJAJA
62
When combined, the brightness of the overlapping region creates an unnatural and striking blend that massively deteriorates the quality of the larger image
63
64 17 Dylan WIDJAJA
!{width:50%}badblend.png!
65 13 Dylan WIDJAJA
66
Alpha blending is used to create a linear transparency mask that is applied to overlapping region of each image. If the overlapping region of the left image is applied an alpha value of **a**, the overlapping region of the right image is applied an alpha value of **1-a** to retain the original brightness of the image when combined. 
67
68 17 Dylan WIDJAJA
!{width:50%}separateblend.png!
69 13 Dylan WIDJAJA
70
The resultant combined image is a larger version of the original images that blends seamlessly and retains the brightness of the original image even in the overlapped regions. 
71
72 17 Dylan WIDJAJA
!{width:50%}goodblend.png!