| Image
Processing Articles
Index |
 |
| What
is Image Dissolving?
Basic DETAILS... |
| Image
dissolving is based
on Alpha Blending.
Lets have a look on
Alpha Blending first. |
 |
| Alpha
blending is a convex
combination of two
colors allowing for
transparency effects
in computer graphics.
The value of alpha
in the color code
ranges from 0.0 to
1.0, where 0.0 represents
a fully transparent
color, and 1.0 represents
a fully opaque color. |
 |
| The
value of the resulting
color when color Value1
is drawn over a background
of color Value0 is
given by: |
 |
| Value
= Image1(1.0 − alpha)
+ Image2(alpha) |
 |
| The
alpha component is
used to blend to red,
green and blue components
equally, as in 32-bit
RGBA, or, alternatively,
there are three alpha
values specified corresponding
to each of the primary
colors for spectral
color filtering. |
 |
| Alpha
blending is the process
of combining a translucent
foreground color with
a background color,
thereby producing
a new blended color.
The degree of the
foreground color's
translucency may range
from completely transparent
to completely opaque.
If the foreground
color is completely
transparent, the blended
color will be the
background color.
Conversely, if it
is completely opaque,
the blended color
will be the foreground
color. Of course,
the translucency can
range between these
extremes, in which
case the blended color
is computed as a weighted
average of the foreground
and background colors.
Fastgraph provides
alpha blending functions
that work on RGB color
values, on direct
color bitmaps, and
on direct color virtual
buffers. |
 |
In
texturing, it will
be used for blending
color components
In RGBA texturing,
the texture's alpha
value is sometimes
used to specify blending
In texturing, sometimes
the texture's RGB
color will be used
as 3 alpha values
to give spectral color
filtering |
 |
| Where
Alpha Blending is
Used: |
 |
| Alpha
blending can also
be used for drop shadows,
these are usually
seen on menus and
cursors. |
 |
| Basic
Algorithm Of Image
Averaging |
| Using
alpha blending, one
image was dissolved
into another. Essentially,
the value of each
pixel in the resulting
image is a weighted
average of the pixels
in the two originals.
The weight (usually
called alpha) varies
over time. This technique
was applied to each
of red, green, and
blue. Several output
frames were generated
with gradually increasing
values of alpha. Here
is how it works really: |
 |
for(double
alpha=1.0;alpha>0.0;alpha-=(1.0/((double)(nSteps))))
{ byte*
ptr1 = ( byte*
)data1.Scan0;
byte*
ptr2 = ( byte*
)data2.Scan0;
byte*
ptr3 = ( byte*
)data3.Scan0;
for(
int
i = 0 ; i < height
; i ++ )
{ for(
int
j = 0 ; j < width
* 3 ; j ++ )
{
ptr3[ 0 ] = (
byte )(alpha*ptr1[0]+(1-alpha)*ptr2[0]); |
 |
| Guidelines
for Use |
| To
understand the working
of the Image Averaging,
take the example of
the following images: |
 |
 |
 |
 |
| the
Resultant Image Obtained
by the Averaging of
the above images is
as: |
 |
 |
 |
| Sample
Project |
 |
| Please
Review other articles
based on Logical Operators
to get the better
understanding of the
project. The application
seems to be in this
GUI. |
 |
 |
 |
| Results: |
A
smooth transition
from the first image
to the second is seen
in the resultant image..
The project is a part
of the series of the
image processing articles
written just for the
prosperity and help
for the students searching
for Image Processing
free stuff. |
 |
Download
Project Files
 |
 |
| Image
Processing Articles
Index |