Project

General

Profile

About the Project » History » Revision 19

Revision 18 (Dylan WIDJAJA, 11/06/2024 04:12 PM) → Revision 19/21 (Dylan WIDJAJA, 11/06/2024 04:14 PM)

 



 ___ 

 %{color:blue}[[/|Home]]% | [[About Us]] | [[About the Project]] | [[UML Diagrams]] | [[Codes]] | [[Outcome]] 


 ___ 

 h1=. <pre>    About the Project 
 </pre> 



 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. 

 We primarily rely on **%{color: green}OpenCV%** and **%{color: purple}Python%** for our image processing. 

 h2. **Key Aspects of the Project:** 

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

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




 table{width: 100%}. 
 |={width: 30%; background-color: #aaf;}. **Synopsis of Technology** | 

 !2Projector1Image.png! 

 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. 

 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.  

 table{width: 100%}. 
 |={width: 30%; background-color: #aaf;}. **Alpha Blending Method** | 

 !AlphaBlending.png! 


 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. 

 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**: 

 - **If image_side is 1**, the method blends the **left edge** of the image. 
 - **If image_side is 0**, it blends the **right edge** of the image. 

 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. 

 Provided below is an example of an a left and right image that can be combined to produce a larger image.  

 !{width:50%}original.png! 

 When combined, the **brightness** brightness of the **overlapping region** overlapping region creates an **unnatural unnatural and striking blend** blend that massively **deteriorates** deteriorates the **quality** quality of the larger image 

 !{width:25%}badblend.png! 

 **Alpha blending** Alpha blending is used to create a **linear linear transparency mask** mask that is **applied** applied to **overlapping region** 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.  

 !{width:50%}separateblend.png! 

 The resultant combined image is a larger version of the original images that **blends seamlessly** blends seamlessly and **retains retains the brightness** brightness of the original image even in the overlapped regions.  

 !{width:25%}goodblend.png!