SlideShare a Scribd company logo
1 of 34
PREFACE 
The idea behind AKS image 
editing and processing software 
(IEPS) was to design a replica of 
a software which is synonymous 
to image editing, a software 
that can make impossible 
possible and the real unreal. 
Yes, it has been inspired from 
ADOBE PHOTOSHOP. In fact AKS inherits a major portion of 
its interface from this magical IPES. Though we may never be 
able to replicate PHOTOSHOP completely, but we intend to get 
a glimpse of the underlying processes that enables it to create 
magic.
INTRODUCTION 
Before we start delving 
deep into image 
processing, we must 
first know, what exactly 
is a digital image. A 
digital image is a 2- 
Dimensional Matrix of 
digital color units called 
Pixels.
PIXEL 
Depending on the image type, 
different formats of Pixel are 
used to represent them. A 
few of them are mentioned 
here. For example, 
MONOCHROME is used to 
represent Black and White 
images, RGB for color 
images and CMYK is used 
for printing purposes. ARGB 
is an advanced form of RGB 
which also supports ALPHA 
or TRANSPERENCY values.
AKS 
AKS, like many other image editing software, 
has a variety of Image Processing filters to 
enhance the image provided. These filters 
include Brightness, Contrast, Negative, 
Grayscale, Monochrome, Color Balance etc. 
But along with these, it also has the capability 
of editing multiple images at a time. It can also 
handle multiple layers. It can erase a portion of 
the image and can also paint them. Lets start 
with the basic tools…
BASIC IMAGE EDITING 
TOOLS 
AKS has a list of basic 
image editing tools, 
which can be pretty 
handy while editing 
images. These include, 
paint brush, eraser, fill 
tool, rotator, zoom, 
color picker etc.
PAINT BRUSH 
Paint brush is one of the 
most basic tools which 
is also one of the most 
useful one. In AKS we 
have implemented a 
variable size brush 
which can color 
images with millions of 
colors.
ZOOM 
We don’t need an introduction to this tool. This quite popular 
tool comes loaded with the capability to zoom from 1% to 
500%
ERASER 
Eraser is another basic 
tool and is as useful 
as the paint brush. 
This too has a variable 
size brush and can 
remove portions of 
images when needed. 
Let’s see the effect of 
variable size eraser on 
the image drawn in 
the previous page.
FILTER : BRIGHTNESS 
The brightness filter is one of the easiest filter 
that can be implemented. In this filter we 
add a certain value (say br) to each of R, G 
and B channel. This way the luminosity of 
the image increases. 
LOOP X: 0 to ImgHeight 
LOOP Y: 0 to ImgWidth 
PIXEL(x,y) = COL(R + br, G + br, B +br)
EFFECT : BRIGHTNESS 
Original Image Brightness enhanced by 15 units
FILTER : GRAYSCALE 
This filter averages the values of all three 
RGB channels to calculates the brightness 
of the specified PIXEL. On RGB scale, this 
level of GRAY can be represented by 
assigning the same value to all three RGB 
channels. 
LOOP X: 0 to ImgHeight 
LOOP Y: 0 to ImgWidth 
g = (R + G + B) / 3 
PIXEL(x,y) = g
EFFECT : GRAYSCALE 
Original Image After Gray scaling
FILTER : NEGATIVE 
Remember the film camera roll, sometimes also 
called the NEGATIVE. We too can create the 
same effect by using the NEGATIVE filter. To 
get things done we need to subtract the value of 
each channel from 255 (i.e the max. value) 
which will yield the negative value of the 
respective channel. 
LOOP X: 0 to ImgHeight 
LOOP Y: 0 to ImgWidth 
R = 255 – R 
G = 255 – G 
B = 255 – B 
PIXEL(x,y) = COLOR(R, G, B)
EFFECT : NEGATIVE 
Original Image After Applying Negative Filter
FILTER : MONOCHROME 
Monochrome Images have only 2 colors, 
the foreground and the background color. 
To get this type of effect first we need to 
get the grayscale value of each pixel. 
Then we check them if they are above the 
threshold value or not. If they are, then the 
corresponding monochrome pixel will have 
foreground color, else it’ll be of 
background color. In AKS, the threshold 
value is provided by the user.
MONOCHROME : ALGORITHM 
LOOP X: 0 to ImgHeight 
LOOP Y: 0 to ImgWidth 
g = toGray( pixel( X,Y ) ) 
IF( g > threshold) 
pixel(X,Y) = 1 
ELSE pixel(X,Y) = 0
EFFECT : MONOCHROME 
Original Image 
After Applying 
Level 24 
Monochrome Filter
FILTER : COLOR BALANCE 
This filter is almost same as the brightness 
filter, just that, it has the capability to modify 
individual color channels. 
LOOP X: 0 to ImgHeight 
LOOP Y: 0 to ImgWidth 
Col = pixel( X, Y ) 
pixel (X,Y) = COLOR (Col.R + inpR, 
Col.G + inpG, Col.B + inpB)
EFFECT : COLOR BALANCE
FILTER : CONTRAST 
Contrast is determined by the difference in 
the color and brightness of the object and 
other objects within the same field of view. 
This filter first checks the brightness of each 
channels of each Pixel, depending on which 
it decides whether it will be darkened or 
brightened. Then according to the contrast 
value, we can increase or decrease the 
brightness of each and every channel of all 
the pixels available.
CONTRAST ALGORITHM for 1 
channel 
contrast = (100.0 + nContrast) / 100.0 
LOOP X: 0 to ImgHeight 
LOOP Y: 0 to ImgWidth 
channel = channel – 127 
channel = channel * contrast 
channel = channel + 127 
IF(channel < 0) THEN channel = 0 
IF (channel > 255) THEN channel = 255
EFFECT : CONTRAST 
Original Image After enhancing Contrast by 10
CONTRAST vs. BRIGHTNESS 
So, Which one works better? Well actually, for the right 
amount of enhancement, as shown below we need both. 
Original 
Contrast 
Enhanced 
Contrast 
increased by 
10 
Brightness 
enhanced 
brightness 
increased by 10 
Both 
Contrast 
and 
Brightness 
enhanced 
Brightness and 
contrast 
enhanced by 10 
each
FILTER : BLUR 
Blur filter is a slightly complex filter which a 
filtered pixel, instead of depending on its own 
value, depends on the neighboring pixels. We 
have to take the average of each channel 
from all the neighboring pixels. The radius of 
the neighbors considered determines the 
amount of blur. Alternatively, one can iterate 
again and again on fixed blurring radius to 
obtain variable blur amounts.
BLUR : ALGORITHM (for radius 
3R) = 0 
G = 0 
B = 0 
LOOP X: 0 to ImgHeight 
LOOP Y: 0 to ImgWidth 
LOOP i: -1 to 1 
LOOP j: -1 to 1 
R = R + pixel (X+i, Y+j).R 
G = G + pixel (X+i, Y+j).R 
G = G + pixel (X+i, Y+j).R 
R = R / 9 
G = G/9 
B = B / 9 
pixel (X, Y) = color (R, G, B)
EFFECT : BLUR 
Original Image 
After 4th Iteration 
Of Blur Filter
FILTER : EDGE DETECTION 
So far, so good… but what about Edge Detection. 
Edge detection is the technique we use to find 
out the edges in an image. These type of filters, 
along with others, are used by computers for 
image recognition. Like BLUR filter, this filter too 
depends on its neighboring pixels. Before 
detecting edge, we need to convert the image 
into grayscale. Once converted, we can 
compare the values of its neighboring pixels, 
which would indicate an edge if its greater than 
a certain value. This value should be large 
enough to ignore the gradient and detect the 
edges. This scan can be done horizontally and 
vertically. All of the edges will be visible if both 
are done.
EDGE DETECTION (HORIZONTAL) : 
ALGORITHM 
LOOP X: 0 to ImgHeight 
LOOP Y: 0 to ImgWidth 
gl = toGray( pixel( X - 1,Y ) ) 
gr = toGray( pixel( X + 1, Y) ) 
diff = gl – gr 
IF( diff > -10 AND diff < 10) 
pixel(X,Y) = 0 
ELSE pixel(X,Y) = 1
EFFECT : EDGE DETECTION 
Vertical Edge Detection Original Image Horizontal Edge Detection
EFFECT : EDGE DETECTION 
after changing Brightness and contrast 
Original Image Vertical Edge Detection BC enhanced Edge Detection
EFFECT : EDGE DETECTION 
after a Bit of Blurring 
Original Image Vertical Edge Detection Blurred Edge Detection
REFERENCE 
Contrast and Other Filters 
http://www.codeproject.com/cs/media/csharpgraphicfilters11.asp 
Hue Saturation 
http://www.ncsu.edu/scivis/lessons/colormodels/color_models2.html 
C# Tutorials 
WROX PUBLICATION’S BEGINNING VISUAL C#
THANK YOU

More Related Content

What's hot

04 image enhancement edge detection
04 image enhancement edge detection04 image enhancement edge detection
04 image enhancement edge detectionRumah Belajar
 
CS 354 Lighting
CS 354 LightingCS 354 Lighting
CS 354 LightingMark Kilgard
 
GRPHICS05 - Rendering (2)
GRPHICS05 - Rendering (2)GRPHICS05 - Rendering (2)
GRPHICS05 - Rendering (2)Michael Heron
 
Canny edge detection
Canny edge detectionCanny edge detection
Canny edge detectionahmedkhaledfayez
 
Histogram based enhancement
Histogram based enhancementHistogram based enhancement
Histogram based enhancementliba manopriya.J
 
Edge detection of video using matlab code
Edge detection of video using matlab codeEdge detection of video using matlab code
Edge detection of video using matlab codeBhushan Deore
 
Hidden surface removal
Hidden surface removalHidden surface removal
Hidden surface removalPunyajoy Saha
 
Diagonal Pixel Report
Diagonal Pixel ReportDiagonal Pixel Report
Diagonal Pixel ReportSan Man
 
CG OpenGL surface detection+illumination+rendering models-course 9
CG OpenGL surface detection+illumination+rendering models-course 9CG OpenGL surface detection+illumination+rendering models-course 9
CG OpenGL surface detection+illumination+rendering models-course 9fungfung Chen
 
Hidden surfaces
Hidden surfacesHidden surfaces
Hidden surfacesMohd Arif
 
WEB I - 08 - Digital Media
WEB I - 08 - Digital MediaWEB I - 08 - Digital Media
WEB I - 08 - Digital MediaRandy Connolly
 
Comparative study of Salt & Pepper filters and Gaussian filters
Comparative study of Salt & Pepper filters and Gaussian filtersComparative study of Salt & Pepper filters and Gaussian filters
Comparative study of Salt & Pepper filters and Gaussian filtersAnkush Srivastava
 
Lighting and shading
Lighting and shadingLighting and shading
Lighting and shadingeshveeen
 
Image processing3 imageenhancement(histogramprocessing)
Image processing3 imageenhancement(histogramprocessing)Image processing3 imageenhancement(histogramprocessing)
Image processing3 imageenhancement(histogramprocessing)John Williams
 
Spatial and tonal resolution
Spatial and tonal resolutionSpatial and tonal resolution
Spatial and tonal resolutionSIES GST
 
Noise filtering
Noise filteringNoise filtering
Noise filteringAlaa Ahmed
 

What's hot (20)

04 image enhancement edge detection
04 image enhancement edge detection04 image enhancement edge detection
04 image enhancement edge detection
 
Edges and lines
Edges and linesEdges and lines
Edges and lines
 
color image processing
color image processingcolor image processing
color image processing
 
CS 354 Lighting
CS 354 LightingCS 354 Lighting
CS 354 Lighting
 
GRPHICS05 - Rendering (2)
GRPHICS05 - Rendering (2)GRPHICS05 - Rendering (2)
GRPHICS05 - Rendering (2)
 
Canny edge detection
Canny edge detectionCanny edge detection
Canny edge detection
 
Depth Buffer Method
Depth Buffer MethodDepth Buffer Method
Depth Buffer Method
 
Histogram based enhancement
Histogram based enhancementHistogram based enhancement
Histogram based enhancement
 
Edge detection of video using matlab code
Edge detection of video using matlab codeEdge detection of video using matlab code
Edge detection of video using matlab code
 
Hidden surface removal
Hidden surface removalHidden surface removal
Hidden surface removal
 
Diagonal Pixel Report
Diagonal Pixel ReportDiagonal Pixel Report
Diagonal Pixel Report
 
EDGE DETECTION
EDGE DETECTIONEDGE DETECTION
EDGE DETECTION
 
CG OpenGL surface detection+illumination+rendering models-course 9
CG OpenGL surface detection+illumination+rendering models-course 9CG OpenGL surface detection+illumination+rendering models-course 9
CG OpenGL surface detection+illumination+rendering models-course 9
 
Hidden surfaces
Hidden surfacesHidden surfaces
Hidden surfaces
 
WEB I - 08 - Digital Media
WEB I - 08 - Digital MediaWEB I - 08 - Digital Media
WEB I - 08 - Digital Media
 
Comparative study of Salt & Pepper filters and Gaussian filters
Comparative study of Salt & Pepper filters and Gaussian filtersComparative study of Salt & Pepper filters and Gaussian filters
Comparative study of Salt & Pepper filters and Gaussian filters
 
Lighting and shading
Lighting and shadingLighting and shading
Lighting and shading
 
Image processing3 imageenhancement(histogramprocessing)
Image processing3 imageenhancement(histogramprocessing)Image processing3 imageenhancement(histogramprocessing)
Image processing3 imageenhancement(histogramprocessing)
 
Spatial and tonal resolution
Spatial and tonal resolutionSpatial and tonal resolution
Spatial and tonal resolution
 
Noise filtering
Noise filteringNoise filtering
Noise filtering
 

Similar to AKS: Image Enhancement Software

Lec_2_Digital Image Fundamentals.pdf
Lec_2_Digital Image Fundamentals.pdfLec_2_Digital Image Fundamentals.pdf
Lec_2_Digital Image Fundamentals.pdfnagwaAboElenein
 
Image processing sw & hw
Image processing sw & hwImage processing sw & hw
Image processing sw & hwamalalhait
 
Digital image processing - Image Enhancement (MATERIAL)
Digital image processing  - Image Enhancement (MATERIAL)Digital image processing  - Image Enhancement (MATERIAL)
Digital image processing - Image Enhancement (MATERIAL)Mathankumar S
 
Digital Image Processing - Image Enhancement
Digital Image Processing  - Image EnhancementDigital Image Processing  - Image Enhancement
Digital Image Processing - Image EnhancementMathankumar S
 
Digital image processing Tool presentation
Digital image processing Tool presentationDigital image processing Tool presentation
Digital image processing Tool presentationdikshabehl5392
 
DSP presentation_latest
DSP presentation_latestDSP presentation_latest
DSP presentation_latestHaowei Jiang
 
Image_processing_unit2_SPPU_Syllabus.pptx
Image_processing_unit2_SPPU_Syllabus.pptxImage_processing_unit2_SPPU_Syllabus.pptx
Image_processing_unit2_SPPU_Syllabus.pptxMayuri Narkhede
 
IMAGE ENHANCEMENT IN CASE OF UNEVEN ILLUMINATION USING VARIABLE THRESHOLDING ...
IMAGE ENHANCEMENT IN CASE OF UNEVEN ILLUMINATION USING VARIABLE THRESHOLDING ...IMAGE ENHANCEMENT IN CASE OF UNEVEN ILLUMINATION USING VARIABLE THRESHOLDING ...
IMAGE ENHANCEMENT IN CASE OF UNEVEN ILLUMINATION USING VARIABLE THRESHOLDING ...ijsrd.com
 
4 image enhancement in spatial domain
4 image enhancement in spatial domain4 image enhancement in spatial domain
4 image enhancement in spatial domainProf. Dr. Subhasis Bose
 
Simple concepts of Image Processing.pptx
Simple concepts of Image Processing.pptxSimple concepts of Image Processing.pptx
Simple concepts of Image Processing.pptxcscv1
 
project presentation-90-MCS-200003.pptx
project presentation-90-MCS-200003.pptxproject presentation-90-MCS-200003.pptx
project presentation-90-MCS-200003.pptxNiladriBhattacharjee10
 
Image processing
Image processingImage processing
Image processingindiaismylove
 
quantization and sampling presentation ppt
quantization and sampling presentation pptquantization and sampling presentation ppt
quantization and sampling presentation pptKNaveenKumarECE
 
Lecture 6-2023.pdf
Lecture 6-2023.pdfLecture 6-2023.pdf
Lecture 6-2023.pdfssuserff72e4
 
Color
ColorColor
ColorFNian
 
Image processing
Image processingImage processing
Image processingmaheshpene
 
Unit3 dip
Unit3 dipUnit3 dip
Unit3 dipImran Khan
 
Digital image processing
Digital image processingDigital image processing
Digital image processingABIRAMI M
 

Similar to AKS: Image Enhancement Software (20)

Lec_2_Digital Image Fundamentals.pdf
Lec_2_Digital Image Fundamentals.pdfLec_2_Digital Image Fundamentals.pdf
Lec_2_Digital Image Fundamentals.pdf
 
Image processing sw & hw
Image processing sw & hwImage processing sw & hw
Image processing sw & hw
 
Digital image processing - Image Enhancement (MATERIAL)
Digital image processing  - Image Enhancement (MATERIAL)Digital image processing  - Image Enhancement (MATERIAL)
Digital image processing - Image Enhancement (MATERIAL)
 
Digital Image Processing - Image Enhancement
Digital Image Processing  - Image EnhancementDigital Image Processing  - Image Enhancement
Digital Image Processing - Image Enhancement
 
Digital image processing Tool presentation
Digital image processing Tool presentationDigital image processing Tool presentation
Digital image processing Tool presentation
 
DSP presentation_latest
DSP presentation_latestDSP presentation_latest
DSP presentation_latest
 
Image_processing_unit2_SPPU_Syllabus.pptx
Image_processing_unit2_SPPU_Syllabus.pptxImage_processing_unit2_SPPU_Syllabus.pptx
Image_processing_unit2_SPPU_Syllabus.pptx
 
IMAGE ENHANCEMENT IN CASE OF UNEVEN ILLUMINATION USING VARIABLE THRESHOLDING ...
IMAGE ENHANCEMENT IN CASE OF UNEVEN ILLUMINATION USING VARIABLE THRESHOLDING ...IMAGE ENHANCEMENT IN CASE OF UNEVEN ILLUMINATION USING VARIABLE THRESHOLDING ...
IMAGE ENHANCEMENT IN CASE OF UNEVEN ILLUMINATION USING VARIABLE THRESHOLDING ...
 
4 image enhancement in spatial domain
4 image enhancement in spatial domain4 image enhancement in spatial domain
4 image enhancement in spatial domain
 
Simple concepts of Image Processing.pptx
Simple concepts of Image Processing.pptxSimple concepts of Image Processing.pptx
Simple concepts of Image Processing.pptx
 
PID3474431
PID3474431PID3474431
PID3474431
 
project presentation-90-MCS-200003.pptx
project presentation-90-MCS-200003.pptxproject presentation-90-MCS-200003.pptx
project presentation-90-MCS-200003.pptx
 
Image processing
Image processingImage processing
Image processing
 
DIP Lecture 7-9.pdf
DIP Lecture 7-9.pdfDIP Lecture 7-9.pdf
DIP Lecture 7-9.pdf
 
quantization and sampling presentation ppt
quantization and sampling presentation pptquantization and sampling presentation ppt
quantization and sampling presentation ppt
 
Lecture 6-2023.pdf
Lecture 6-2023.pdfLecture 6-2023.pdf
Lecture 6-2023.pdf
 
Color
ColorColor
Color
 
Image processing
Image processingImage processing
Image processing
 
Unit3 dip
Unit3 dipUnit3 dip
Unit3 dip
 
Digital image processing
Digital image processingDigital image processing
Digital image processing
 

Recently uploaded

mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 đź’ž Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 đź’ž Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 đź’ž Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 đź’ž Full Nigh...Pooja Nehwal
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 

Recently uploaded (20)

mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 đź’ž Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 đź’ž Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 đź’ž Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 đź’ž Full Nigh...
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
CĂłdigo Creativo y Arte de Software | Unidad 1
CĂłdigo Creativo y Arte de Software | Unidad 1CĂłdigo Creativo y Arte de Software | Unidad 1
CĂłdigo Creativo y Arte de Software | Unidad 1
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 

AKS: Image Enhancement Software

  • 1.
  • 2. PREFACE The idea behind AKS image editing and processing software (IEPS) was to design a replica of a software which is synonymous to image editing, a software that can make impossible possible and the real unreal. Yes, it has been inspired from ADOBE PHOTOSHOP. In fact AKS inherits a major portion of its interface from this magical IPES. Though we may never be able to replicate PHOTOSHOP completely, but we intend to get a glimpse of the underlying processes that enables it to create magic.
  • 3. INTRODUCTION Before we start delving deep into image processing, we must first know, what exactly is a digital image. A digital image is a 2- Dimensional Matrix of digital color units called Pixels.
  • 4. PIXEL Depending on the image type, different formats of Pixel are used to represent them. A few of them are mentioned here. For example, MONOCHROME is used to represent Black and White images, RGB for color images and CMYK is used for printing purposes. ARGB is an advanced form of RGB which also supports ALPHA or TRANSPERENCY values.
  • 5. AKS AKS, like many other image editing software, has a variety of Image Processing filters to enhance the image provided. These filters include Brightness, Contrast, Negative, Grayscale, Monochrome, Color Balance etc. But along with these, it also has the capability of editing multiple images at a time. It can also handle multiple layers. It can erase a portion of the image and can also paint them. Lets start with the basic tools…
  • 6. BASIC IMAGE EDITING TOOLS AKS has a list of basic image editing tools, which can be pretty handy while editing images. These include, paint brush, eraser, fill tool, rotator, zoom, color picker etc.
  • 7. PAINT BRUSH Paint brush is one of the most basic tools which is also one of the most useful one. In AKS we have implemented a variable size brush which can color images with millions of colors.
  • 8. ZOOM We don’t need an introduction to this tool. This quite popular tool comes loaded with the capability to zoom from 1% to 500%
  • 9. ERASER Eraser is another basic tool and is as useful as the paint brush. This too has a variable size brush and can remove portions of images when needed. Let’s see the effect of variable size eraser on the image drawn in the previous page.
  • 10. FILTER : BRIGHTNESS The brightness filter is one of the easiest filter that can be implemented. In this filter we add a certain value (say br) to each of R, G and B channel. This way the luminosity of the image increases. LOOP X: 0 to ImgHeight LOOP Y: 0 to ImgWidth PIXEL(x,y) = COL(R + br, G + br, B +br)
  • 11. EFFECT : BRIGHTNESS Original Image Brightness enhanced by 15 units
  • 12. FILTER : GRAYSCALE This filter averages the values of all three RGB channels to calculates the brightness of the specified PIXEL. On RGB scale, this level of GRAY can be represented by assigning the same value to all three RGB channels. LOOP X: 0 to ImgHeight LOOP Y: 0 to ImgWidth g = (R + G + B) / 3 PIXEL(x,y) = g
  • 13. EFFECT : GRAYSCALE Original Image After Gray scaling
  • 14. FILTER : NEGATIVE Remember the film camera roll, sometimes also called the NEGATIVE. We too can create the same effect by using the NEGATIVE filter. To get things done we need to subtract the value of each channel from 255 (i.e the max. value) which will yield the negative value of the respective channel. LOOP X: 0 to ImgHeight LOOP Y: 0 to ImgWidth R = 255 – R G = 255 – G B = 255 – B PIXEL(x,y) = COLOR(R, G, B)
  • 15. EFFECT : NEGATIVE Original Image After Applying Negative Filter
  • 16. FILTER : MONOCHROME Monochrome Images have only 2 colors, the foreground and the background color. To get this type of effect first we need to get the grayscale value of each pixel. Then we check them if they are above the threshold value or not. If they are, then the corresponding monochrome pixel will have foreground color, else it’ll be of background color. In AKS, the threshold value is provided by the user.
  • 17. MONOCHROME : ALGORITHM LOOP X: 0 to ImgHeight LOOP Y: 0 to ImgWidth g = toGray( pixel( X,Y ) ) IF( g > threshold) pixel(X,Y) = 1 ELSE pixel(X,Y) = 0
  • 18. EFFECT : MONOCHROME Original Image After Applying Level 24 Monochrome Filter
  • 19. FILTER : COLOR BALANCE This filter is almost same as the brightness filter, just that, it has the capability to modify individual color channels. LOOP X: 0 to ImgHeight LOOP Y: 0 to ImgWidth Col = pixel( X, Y ) pixel (X,Y) = COLOR (Col.R + inpR, Col.G + inpG, Col.B + inpB)
  • 20. EFFECT : COLOR BALANCE
  • 21. FILTER : CONTRAST Contrast is determined by the difference in the color and brightness of the object and other objects within the same field of view. This filter first checks the brightness of each channels of each Pixel, depending on which it decides whether it will be darkened or brightened. Then according to the contrast value, we can increase or decrease the brightness of each and every channel of all the pixels available.
  • 22. CONTRAST ALGORITHM for 1 channel contrast = (100.0 + nContrast) / 100.0 LOOP X: 0 to ImgHeight LOOP Y: 0 to ImgWidth channel = channel – 127 channel = channel * contrast channel = channel + 127 IF(channel < 0) THEN channel = 0 IF (channel > 255) THEN channel = 255
  • 23. EFFECT : CONTRAST Original Image After enhancing Contrast by 10
  • 24. CONTRAST vs. BRIGHTNESS So, Which one works better? Well actually, for the right amount of enhancement, as shown below we need both. Original Contrast Enhanced Contrast increased by 10 Brightness enhanced brightness increased by 10 Both Contrast and Brightness enhanced Brightness and contrast enhanced by 10 each
  • 25. FILTER : BLUR Blur filter is a slightly complex filter which a filtered pixel, instead of depending on its own value, depends on the neighboring pixels. We have to take the average of each channel from all the neighboring pixels. The radius of the neighbors considered determines the amount of blur. Alternatively, one can iterate again and again on fixed blurring radius to obtain variable blur amounts.
  • 26. BLUR : ALGORITHM (for radius 3R) = 0 G = 0 B = 0 LOOP X: 0 to ImgHeight LOOP Y: 0 to ImgWidth LOOP i: -1 to 1 LOOP j: -1 to 1 R = R + pixel (X+i, Y+j).R G = G + pixel (X+i, Y+j).R G = G + pixel (X+i, Y+j).R R = R / 9 G = G/9 B = B / 9 pixel (X, Y) = color (R, G, B)
  • 27. EFFECT : BLUR Original Image After 4th Iteration Of Blur Filter
  • 28. FILTER : EDGE DETECTION So far, so good… but what about Edge Detection. Edge detection is the technique we use to find out the edges in an image. These type of filters, along with others, are used by computers for image recognition. Like BLUR filter, this filter too depends on its neighboring pixels. Before detecting edge, we need to convert the image into grayscale. Once converted, we can compare the values of its neighboring pixels, which would indicate an edge if its greater than a certain value. This value should be large enough to ignore the gradient and detect the edges. This scan can be done horizontally and vertically. All of the edges will be visible if both are done.
  • 29. EDGE DETECTION (HORIZONTAL) : ALGORITHM LOOP X: 0 to ImgHeight LOOP Y: 0 to ImgWidth gl = toGray( pixel( X - 1,Y ) ) gr = toGray( pixel( X + 1, Y) ) diff = gl – gr IF( diff > -10 AND diff < 10) pixel(X,Y) = 0 ELSE pixel(X,Y) = 1
  • 30. EFFECT : EDGE DETECTION Vertical Edge Detection Original Image Horizontal Edge Detection
  • 31. EFFECT : EDGE DETECTION after changing Brightness and contrast Original Image Vertical Edge Detection BC enhanced Edge Detection
  • 32. EFFECT : EDGE DETECTION after a Bit of Blurring Original Image Vertical Edge Detection Blurred Edge Detection
  • 33. REFERENCE Contrast and Other Filters http://www.codeproject.com/cs/media/csharpgraphicfilters11.asp Hue Saturation http://www.ncsu.edu/scivis/lessons/colormodels/color_models2.html C# Tutorials WROX PUBLICATION’S BEGINNING VISUAL C#