Project

General

Profile

About our project » History » Revision 7

Revision 2 (HNIN Ei Shwe Yee, 10/29/2025 12:08 AM) → Revision 7/25 (HNIN Ei Shwe Yee, 10/29/2025 11:17 AM)

h1. About the Project 

 h2. Overview 

 The goal of this project is to create a unified display by merging two projector images into one.   
 To achieve this, we employed techniques such as *gamma correction*, *alpha blending*, and *intensity adjustments* to refine the final output. 

 The project team is organized into several roles: 
 * Project Manager 
 * Team Leader 
 * Doxygen Documentation Team 
 * Wiki Team 
 * Coding Team 
 * UML Design Team 



 


 --- 

 h2. Software and Tools Objectives 

 * *Redmine* – Used to manage project tasks, track progress, and organize team activities. To implement an efficient alpha-blending pipeline for overlapping projector images. 
 * *Python / OpenCV* – Utilized for image processing operations such as blending, To apply gamma correction, and intensity adjustments. 
 * *Doxygen* – Employed correction to generate detailed code documentation automatically. balance brightness differences between projectors. 
 * *Astah* – Used to design and visualize UML diagrams representing To evaluate the system’s structure output and workflow. 


 h2. Technology ensure no visible seam or luminance mismatch remains. 

 We plan to use a single flat-screen display illuminated by two projectors connected to separate computers, allowing both images to be *Success criterion:* The final projected simultaneously image should appear uniform and combined into one seamless image. continuous when viewed under normal lighting conditions. 

 To accomplish this, we will apply: 
 * Gamma correction method 
 * Alpha blending 
 * Intensity modification --- 

 p=. !{width:800px}car.png! 

 h2. Alpha Blending Method Methodology 

 Alpha blending merges # Load two images using a specific *alpha value* that determines transparency levels.   
 This process is crucial in rendering (left and game development right) for combining visual elements smoothly and reducing jagged edges. 

 Our program uses: each projector. 
 * *Tkinter* – for # Identify the graphical interface   
 * *OpenCV* – for image manipulation   
 * *PIL* – for image rendering   

 Users can load configuration files, apply gamma correction and alpha blending, and view/save the processed overlapping region between both images. 
 !blendingexmaple.jpg! # *...TBC* 

 External reference:   
 [https://takinginitiative.net/2010/04/09/directx-10-tutorial-6-transparency-and-alpha-blending/] 


 --- 

 h2. Gamma Correction Method Tools and Software 

 This project uses a technique known as *gamma correction* , which modifies an image’s brightness by adjusting the luminance of each pixel in a *non-linear* way. This method aligns image brightness with *human visual perception* , as the human eye is more sensitive to variations in darker tones than in brighter ones. This biological adaptation allows us to see effectively across a wide range of lighting conditions. Gamma correction applies a *power-law transformation* to pixel values, as represented by the following equation: * *Astah* – UML diagram design and system visualization. 
 !{width:800px}equation.png! 

 When the gamma value (γ) is greater than 1, the image appears darker; when it is less than 1, the image appears brighter. * *Doxygen* – Automatic code documentation generation. 
 Note: Since pixel intensity values range between 0 * *Redmine* – Task tracking, collaboration, and 255, the process involves first normalizing the image (dividing by 255), then applying the power function using the specified gamma value, and finally scaling the result back to the original 0–255 range. 

 *[Case1: γ=1.0(Before Gamma Correction)]* 

 p=. !{width:800px}before.png! version control. 
 External reference:   
 [http://rs.aoyaman.com/seminar/about10.html] * *TBA* 

 *[Case2: γ=0.8(After Gamma Correction)]* --- 

 p=. !{width:800px}after.png! 
 External reference:   
 [http://rs.aoyaman.com/seminar/about10.html] 

 *[Case3: γ=2.0(After Gamma Correction)]* 

 p=. !{width:800px}after2.png! 
 External reference: 
 [http://rs.aoyaman.com/seminar/about10.html] 

 h2. Intensity Modification Expected Results 

 This method adjusts By calibrating projector brightness at image edges using gamma correction and alpha blending depending on *image_side* value: overlapping regions, the system should produce: 
 * image_side = 1 → intensity decreases toward the left edge A seamless image without visible seams.   
 * image_side = 0 → intensity decreases toward the right edge Balanced brightness across both projections.   
 By combining gamma correction and alpha blending, the method produces a smooth fading effect along the edges, allowing the image to blend seamlessly with the background * Minimal distortion or another image. 

 h2. Transparency 

 h3. Gradient Mask Creation 

 * The *create_mask()* method (in *MaskCreator* class) generates a smooth transparency gradient using the *smoothstep* function. 
 * This gradient determines the transparency level across the masked region, providing a non-linear transition from fully transparent to fully opaque (or vice versa). 
 * The smoothstep function is used to ensure a gradual and visually smooth change brightness inconsistencies in opacity, minimizing harsh edges. 

 h3. Transparency Factor 

 * The *transparency_factor* parameter scales the gradient values, directly influencing overall transparency. 


 * Lower values = more transparent; values closer to 1 = higher opacity. 

 h3. Alpha Blending 

 * The *alpha_blending()* method applies the alpha gradient to the image within a defined *Region of Interest (ROI)*. 
 * Blending follows the equation: 

 p=. *blended = (α × ROI) + (1 − α) × background* 

 where: 
 (α × ROI): applies the transparency gradient to the image 
 (1 − α) × background : ensures a gradual transition into the black background. 

 h3. Transparency Side Control 

 * The direction of the gradient depends on *image_side*: 
   *Right side* → gradient applied as-is 
   *Left side* → gradient reversed 

 By combining the smoothstep gradient, transparency factor scaling, and alpha blending, this method enables precise control of transparency on the desired side of 
 the image, producing a seamless blending effect. 
 overlap zone.