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!| |