Project

General

Profile

Regarding Our Project » History » Version 62

Seongjoon BYEON , 01/12/2024 06:52 PM

1 29 Satya Sai Abhiram OGGU
2 50 Satya Sai Abhiram OGGU
h1=. <pre>
3
Our Project</pre>
4 38 Seongjoon BYEON
5 11 Satya Sai Abhiram OGGU
---
6 16 Satya Sai Abhiram OGGU
7 51 Satya Sai Abhiram OGGU
*[[Wiki]]*   |  *[[About Us]]*  |  *[[Regarding Our Project]]* |
8 38 Seongjoon BYEON
9
---
10
11 61 Satya Sai Abhiram OGGU
h2. *%{color:black}Overview%*
12 1 Seongjoon BYEON
13 61 Satya Sai Abhiram OGGU
Our project is responsible for delivering an end-product that creates a single span of an image that is made by overlapping images from two projects. The two component images have been processed using image processing techniques (which includes gamma correction, alpha blending, and modified intensity) to appropriate the look of the final image. Our team is divided into the project manager, leader, oxygen generator, and sub-teams dealing with wiki management, coding, commenting, and UML designing. 
14
15
We primarily focus on utilizing *%{color:blue}OpenCV%* for advanced image processing, supported by *%{color:green}Python%*. 
16 49 Seongjoon BYEON
This project utilizes *%{color:purple}Unified Modeling Language (UML)%* for clear, structured design and Python for efficient coding, enhanced with OpenCV libraries for advanced image processing. Our code is thoroughly documented with Doxygen for clarity and maintenance, while project management and monitoring are streamlined using *%{color:red}Redmine%*.
17 1 Seongjoon BYEON
18 48 Seongjoon BYEON
 # Image Processing with *%{color:green}Python%* and  *%{color:blue}OpenCV%*: We use *%{color:green}Python%*, a flexible programming language, together with *%{color:blue}OpenCV%*, a detailed library for image processing. This pair helps us effectively carry out complex image analysis and processing tasks.
19 45 Seongjoon BYEON
 # Structured Design with UML: We utilize *%{color:purple}Unified Modeling Language (UML)%* to create a clear and organized design. *%{color:purple}UML%* helps in visually representing the system's architecture and workflows, making it more accessible and easier to understand.
20 48 Seongjoon BYEON
 # Documentation with *Doxygen*: Our code is thoroughly documented using *Doxygen*. This approach ensures clarity and ease of maintenance, enhancing the long-term usability and adaptability of our project.
21 1 Seongjoon BYEON
 # Project Management with *%{color:red}Redmine%*: For effective tracking and management, we use *%{color:red}Redmine%*. This tool aids in monitoring project progress, task management, and team collaboration, keeping our project well organized and on schedule.
22 40 Seongjoon BYEON
23 1 Seongjoon BYEON
24 61 Satya Sai Abhiram OGGU
h2. *%{color:black}Image-Processing Technique%*
25 62 Seongjoon BYEON
 
26
h2=. !Project.jpg!
27 40 Seongjoon BYEON
28 61 Satya Sai Abhiram OGGU
Each component of the project, from image processing to project management, has been thoughtfully integrated to ensure optimal efficiency and usability.
29 62 Seongjoon BYEON
Our project's goal is to create one large, distinct image on a flat screen by using two projectors. We use a flat screen and two laptops, and the projectors aim directly at the screen. To enhance the image quality, we apply techniques like alpha blending and gamma correction in our process.
30
31
Assuming the screen size is 1280mm wide, the two projectors are positioned at a distance we call 'd', which is less than the width of the screen. To determine the size of the area where the images from both projectors overlap, we use the formula 'screen size - d = x'. This calculation helps us understand the relationship between the screen size, the distance between the projectors, and the size of the overlap area.
32 1 Seongjoon BYEON
33 56 Ayato KOTSUGI
*Gamma Correction Method*:
34 61 Satya Sai Abhiram OGGU
It applies gamma correction to a corresponding image. Its correction is used to adjust the luminance of an image. This particularly useful in correcting the brightness of an image or adjusting its contrast. It is a nonlinear adaptation that is applied to each value of the pixel.  In general, linear methods such as adding, subtracting, and multiplying are applied to all parts of pixels. Gamma correction is responsible for remodeling the saturation of the image by performing nonlinear methods on the input image's pixels. It is also necessary to maintain a stable gamma value, between too small or large. 
35 56 Ayato KOTSUGI
36
\text{gamma_corrected} = ( \text{image} / 255.0 )^\gamma \times 255
37
38
*Note*: gamma is the gamma value provided to the method. The original image (__image) is first normalized (divided by 255, as pixel values range from 0 to 255), then raised to the power of gamma, and finally rescaled back to the 0-255 range.
39 1 Seongjoon BYEON
40 60 Ayato KOTSUGI
*Alpha Blending Method*:
41 57 Ayato KOTSUGI
42
It is a technique used when computer graphics are laid on top of both layers and single or multiple objects contain some level of transparency portion. It ensures that the visible pixels of the graphic that are underneath a transparent area and their color or brightness are adjusted based on the transparency degree on the upper object. An alpha channel is a form of the mask that manages the amount of information to display from lower-lying graphics. 
43 56 Ayato KOTSUGI
44
It performs alpha blending on the edges of an image. It is a process of combining an image with a background, which is to create the appearance of transparency in a range of partial or full: typically used to blend two images. The method applies this blending in different way depending on the value of image_side:
45
46
*If image_side is 1, 
47
** blends the left edge of the image.
48
*If image_side is 0, 
49
** blends the right edge of the image.
50
51
The blending is done by mixing two types of images:  the gamma_corrected image and the current result_image using an alpha value (alpha) that varies along the mask width (__mask). 
52
This creates a significant change or transition between these images.
53
54 60 Ayato KOTSUGI
*Modify Intensity Method*:
55 56 Ayato KOTSUGI
This method adjusts the intensity of the edges of an image. Like in alphaBlending, the operation varies depending on image_side:
56
57
If image_side is 1, it reduces the intensity towards the left edge.
58
If image_side is 0, it reduces the intensity towards the right edge.
59
The intensity factor is calculated such that it decreases linearly towards the edge of the mask; This creates a fading effect on the edges of the image, where the edge gradually fades either into the background or into another image.
60
61 40 Seongjoon BYEON
62 30 Satya Sai Abhiram OGGU
h2. *%{color:black}IMAGES%*
63
64 32 Seongjoon BYEON
table{width: 100%}.
65
|={width: 100%; background-color: #aaf;}. *Original Image* |
66 23 Satya Sai Abhiram OGGU
67 32 Seongjoon BYEON
68
69 1 Seongjoon BYEON
|!ImageLeft0.png!|!ImageRight0.png!|
70 32 Seongjoon BYEON
|={width: 50%; background-color: #aaf;}. *Original Left Image* |={width: 50%;background-color: #aaf;}.*Original Right Image* |
71
72
73 34 Seongjoon BYEON
  
74
75
76
77
78
79
80
81
82
83
84
85
86 32 Seongjoon BYEON
table{width: 100%}.
87
|={width: 100%; background-color: #adff2f;}. *Final Image* |
88 36 Seongjoon BYEON
89 1 Seongjoon BYEON
|!correctedleft.png!|!correctedright.png!|
90 32 Seongjoon BYEON
|={width: 50%; background-color: #adff2f;}. *Final Left Image* |={width: 50%;background-color: #adff2f;}.*Final Right Image* |
91 33 Seongjoon BYEON
92
|={width: 100%; background-color: #90ee90;}. *End Goal* |
93 32 Seongjoon BYEON
|\2. !Whole.jpg!|