Project

General

Profile

About Project » History » Version 17

Yaroslav MAYDEBURA, 11/06/2025 02:47 PM

1 5 Yaroslav MAYDEBURA
h1. đź’ˇ About Project
2 1 Pratama Kwee BRANDON
3 3 Yaroslav MAYDEBURA
---
4 1 Pratama Kwee BRANDON
5 5 Yaroslav MAYDEBURA
h2. I. Project Overview
6 4 Yaroslav MAYDEBURA
7 15 Sandeep GANESAN
Our project focuses on developing a high-quality image composition system capable of seamlessly merging two or more projected images into a single, visually uniform display. The goal is to ensure that the combined image appears continuous and free from visible seams, color shifts, or brightness inconsistencies.
8 1 Pratama Kwee BRANDON
9 15 Sandeep GANESAN
Built using Python and OpenCV, the system applies a series of advanced image-processing techniques including gamma correction, alpha blending, and intensity adjustment to harmonize overlapping areas. These methods allow us to dynamically compensate for lighting variations and surface irregularities, resulting in a more accurate and visually pleasing projection output.
10 1 Pratama Kwee BRANDON
11 15 Sandeep GANESAN
The project team is divided into multiple sub-groups, each focusing on specific responsibilities such as software development, UML design, testing, and wiki management. This structure encourages effective collaboration, clear communication, and consistent progress across all development phases.
12 4 Yaroslav MAYDEBURA
13 15 Sandeep GANESAN
To maintain transparency and ensure reproducibility, we integrate Doxygen for detailed source-code documentation and Redmine for structured task tracking and project coordination. Together, these tools support a development environment that prioritizes scalability, maintainability, and long-term usability.
14
15
Ultimately, the project aims to deliver a robust framework for real-time image correction and blending, serving as a foundation for future extensions in projection mapping, interactive displays, and multi-screen visualization systems.
16 3 Yaroslav MAYDEBURA
17 1 Pratama Kwee BRANDON
---
18 3 Yaroslav MAYDEBURA
19 5 Yaroslav MAYDEBURA
h2. II. Motivation & Problem Statement
20 1 Pratama Kwee BRANDON
21 5 Yaroslav MAYDEBURA
When using multiple projectors to display a single image, visible seams or brightness inconsistencies often occur in overlapping regions. These inconsistencies degrade image quality and make the final projection appear uneven.  
22 3 Yaroslav MAYDEBURA
23 5 Yaroslav MAYDEBURA
Manual calibration methods are time-consuming and prone to human error.  
24 3 Yaroslav MAYDEBURA
25 5 Yaroslav MAYDEBURA
Our motivation is to develop a software-based approach that automates the alignment and blending process, ensuring seamless image projection.  
26 1 Pratama Kwee BRANDON
27 5 Yaroslav MAYDEBURA
By leveraging the **OpenCV** library, the system can detect overlapping areas, apply brightness corrections, and blend images smoothly — eliminating the need for costly hardware-based calibration systems.
28 1 Pratama Kwee BRANDON
29
---
30 3 Yaroslav MAYDEBURA
31 5 Yaroslav MAYDEBURA
h2. III. Objectives
32 3 Yaroslav MAYDEBURA
33 5 Yaroslav MAYDEBURA
* To develop an automated image blending system capable of merging two or more projections into a single seamless image.  
34
* To apply *gamma correction* and *intensity modification* techniques to balance color and brightness across overlapping regions.  
35
* To implement *alpha blending* for smooth transitions between images.  
36
* To design and visualize the system architecture using **UML diagrams**.  
37
* To document the entire project using **Doxygen** and manage tasks via **Redmine**.
38 3 Yaroslav MAYDEBURA
39
---
40
41 5 Yaroslav MAYDEBURA
h2. IV. Key Features
42 9 Pratama Kwee BRANDON
43 7 Pratama Kwee BRANDON
*1. Automated Image Blending*
44
Uses OpenCV and user-defined parameters to automatically blend two projected images, ensuring accurate overlap and alignment.
45 8 Pratama Kwee BRANDON
46 7 Pratama Kwee BRANDON
*2. Gamma Correction and Intensity Adjustment*
47
Employs advanced color and brightness correction algorithms to maintain consistent luminance across blended areas, effectively removing visible seams and mismatches.
48 8 Pratama Kwee BRANDON
49 7 Pratama Kwee BRANDON
*3. Video Blending*
50
Leverages GPU acceleration through PyTorch to calculate per-pixel brightness for video streams, enabling real-time blending and correction.
51 8 Pratama Kwee BRANDON
52 7 Pratama Kwee BRANDON
*4. User-Friendly Graphical Interface*
53
Provides an intuitive GUI that allows users to select interpolation modes, specify overlap pixels, and control blending parameters easily.
54 8 Pratama Kwee BRANDON
55 7 Pratama Kwee BRANDON
*5. Modular System Architecture*
56
Designed using UML-based class structures that divide the project into smaller, manageable components, improving scalability and ease of feature expansion.
57 8 Pratama Kwee BRANDON
58 7 Pratama Kwee BRANDON
*6. Comprehensive Documentation and Project Management*
59 1 Pratama Kwee BRANDON
Integrates Doxygen for automated code documentation and Redmine for task tracking, ensuring transparent collaboration and efficient workflow management.
60 12 Pratama Kwee BRANDON
61 7 Pratama Kwee BRANDON
---
62 11 Pratama Kwee BRANDON
63 10 Pratama Kwee BRANDON
h2. V. Algorithm and Theoretical Framework
64 13 Pratama Kwee BRANDON
_(Add later)_
65
66
---
67 3 Yaroslav MAYDEBURA
68 10 Pratama Kwee BRANDON
h2. VI. System Architecture
69 5 Yaroslav MAYDEBURA
_(Add later)_
70 1 Pratama Kwee BRANDON
71 3 Yaroslav MAYDEBURA
---
72
73 14 Pratama Kwee BRANDON
h2. VII. Requirement Analysis
74
75
This defines the functional requirement of the project and outlining what the system needs to accomplish 
76
77
*- Image Input and Processing*
78
-The system must accept image files and video files as input.
79
-The system must split a given image into two sub-images (left and right) with a specific overlap region
80
-The system must allow users to choose a one out of the three blending mode (linear, quadratic, or gaussian).
81
-The system must apply blending algorithms using OpenCV and PyTorch for GPU-accelerated computation for videos.
82
-The system must save the blended images (left.png, right.png) locally after processing.
83
84
*- Video Frame Blending*
85
-The system must be able to process individual video frames sequentially for real-time blending.
86
-The system must output a smooth blended video stream without visible seams.
87
88
*- Graphical User Interface (GUI)*
89
-The system must let the user select the overlap pixel value from the GUI.
90
-The system must let the user choose the blending algorithm from the GUI.
91
-The system must be able to run both image and video blending modes in the GUI.
92
-The system must let the user view the original, left, and right images in real-time in the GUI.
93
-The system must be able display the blended outputs in fullscreen mode from the GUI.
94
95
*- Error Handling and Feedback*
96
-The system must handle missing files and display warnings or error messages appropriately.
97
-The GUI must handle invalid user input without crashing the program.
98 3 Yaroslav MAYDEBURA
99
---
100
101 10 Pratama Kwee BRANDON
h2. VIII. Technology Stack
102 3 Yaroslav MAYDEBURA
103 16 Yaroslav MAYDEBURA
Our project combines a number of strong tools and technologies to make *image blending, documentation, and management* faster and more reliable.  
104
Each stack has a specific job to do to help the development workflow and keep the system working and easy to maintain.
105
106 17 Yaroslav MAYDEBURA
h3.  Python (OpenCV, NumPy)
107 16 Yaroslav MAYDEBURA
108
The major programming language we utilize to build our image-processing system is *Python*.  
109
It is flexible, easy to read, and has a large number of libraries that are good for scientific computing and computer vision.  
110
111
The *OpenCV* library is the heart of our picture blending technique. It has functions for filtering, correcting colors, and changing gamma.  
112
*NumPy* works with OpenCV to speed up calculations and make it easier to work with data by adding numerical and matrix-based operations.  
113 1 Pratama Kwee BRANDON
114 16 Yaroslav MAYDEBURA
They work together to let us effortlessly combine several projected images, change brightness and contrast, and calibrate automatically with great accuracy.
115
116 17 Yaroslav MAYDEBURA
h3.  Doxygen
117 16 Yaroslav MAYDEBURA
118 1 Pratama Kwee BRANDON
You can use *Doxygen* to make structured and easy-to-read documentation right from the codebase.  
119 16 Yaroslav MAYDEBURA
It makes sure that our functions, variables, and logic are all linked and defined correctly, which makes it easy for future developers to understand and add to the system.  
120
121
Doxygen makes our source code more open, easier to maintain, and more consistent.
122
123
124 17 Yaroslav MAYDEBURA
h3. Redmine
125 16 Yaroslav MAYDEBURA
126
*Redmine* is the main tool we use for project management and collaboration.  
127
It enables effective tracking of tasks, deadlines, and issues while maintaining clear communication among team members.  
128
129
Redmine makes sure that everyone in the team is on the same page about goals, progress, and deliverables by using Wiki pages, ticket tracking, and file sharing.  
130
It also lets you visualize project progress with *Gantt charts* and integrates version control.
131
132 17 Yaroslav MAYDEBURA
h3. Astah
133 16 Yaroslav MAYDEBURA
134
You can use *Astah* to make UML diagrams such as class diagrams, use case diagrams, and sequence diagrams.  
135
These diagrams show the system's architecture, how components interact with each other, and how data flows across the system.  
136
137
This makes it easier to grasp complicated software systems.  
138
Astah helps people work together by making it easier to go from conceptual design to actual implementation.
139
140
These tools work together to create a *complete ecosystem* that helps with every step of development — from planning and building to writing documentation and managing projects.  
141
With this integrated technology stack, our team can create a strong, well-organized, and scalable system for combining images in real time.
142
143 3 Yaroslav MAYDEBURA
144
---
145 1 Pratama Kwee BRANDON
146 10 Pratama Kwee BRANDON
h2. IX. Application & Impact
147 5 Yaroslav MAYDEBURA
_(Add later)_
148 3 Yaroslav MAYDEBURA
149
---
150
151 10 Pratama Kwee BRANDON
h2. X. Limitation & Future Enhancements
152 5 Yaroslav MAYDEBURA
_(Add later)_
153 3 Yaroslav MAYDEBURA
154
---
155
156 5 Yaroslav MAYDEBURA
!https://media.tenor.com/Q14Y3rSxX5wAAAAM/plan-roadmap.gif!