Ub SchoolofEngineering ProjectReport15
Ub SchoolofEngineering ProjectReport15
1
Image Morphing
Acknowledgement
2
Image Morphing
Table of Content
Introduction
Warping
Morphing Techniques
Image Morphing
Problem Statement
Entity-Relationship Diagram
Platform Selected
Language Selected
System Design
Modular Description
Testing Objective
Snapshots
Applications
Conclusion
3
Image Morphing
INTRODUCTION
Significance of Topic
4
Image Morphing
Discussion of Topic
What is Morphing?
5
Image Morphing
The process of morphing is not all that complex, but like rendering , it
takes a lot of processing horsepower to accomplish. To morph between two
images, we have to first digitize the “ before” and “after” pictures into the
computer. Next, we have to choose series of sequences points on the before
picture. Then we have to mark the same number of pints on the after picture so
that each point directly corresponds to a point placed on the before picture.
Decisions is to be taken about how many intermediate pictures is to be make and
computer does the rest once the process is complete, you have a series of
images that create a illusion of motion. The points can be moved, edited, deleted
or added whatever it takes to create final realistic series of images.
6
Image Morphing
WARPING
1) FORWARD WARPING:
POINT WARPING
2) REVERSE MAPPING
This method goes trough each pixel in the destination image and
samples an appropriate source image pixel. Thus all destinations image pixels
7
Image Morphing
are mapped to some source image pixels. This mapping has been used in the
line morphing method.
In either case, the problem is to determine the way in which the pixels
in one image should be mapped to the pixels in the other image. So we need to
specify how each pixel moves between the two images. Specifying the mapping
for a few important pixels could do this. The motion of the other pixels could be
obtained by appropriately corresponding the information specified for the control
pixels. These sets of control pixels can be specified as points mapping to points.
8
Image Morphing
Morphing Techniques
In morphing the most difficult task is the warping of one image into another
image (Claypoole et.al.). It is the stretching and pulling of the images that makes
the morphing effect so realistic. The actual morphing of the image can be
accomplished either by using morph points or morph lines. Morph points are the
markers that you set up on the start image and the end image. The morphing
program then uses these markers to calculate how the initial image should
bend/warp to match the shape of the final image. The second method uses lines
(edges) instead of individual points. Both methods produce very realistic
morphing effects. One of the most time consuming tasks in morphing is selecting
the points or lines in the initial and final image so that the metamorphosis is
smooth and natural. There are several useful tips to remember when morphing
objects. The first is to choose carefully those pictures to morph (Morphing
Software). For example, if you wish to morph two animals, it is best to use
pictures that have the same general size and outline.
If one picture of the animal is a close up of the head then the other picture
should also be a close up of the head to obtain successful results. A second tip is
to carefully select the background (Morphing Software). If a single color
background is used, the morphing effect focuses on the object. Ideally, it is best
to use the same background.
9
Image Morphing
Figure 1: View morphing between two images of an object taken from two
different viewpoints produces the illusion of physically moving a virtual camera.
10
Image Morphing
Linearly interpolating two perspective views of a clock (far left and far
right) causes a geometric bending effect in the in-between images. The dashed
line shows the linear path of one feature during the course of the transformation.
This example is indicative of the types of distortions that can arise with image
morphing techniques. This not require knowledge of 3D shape, thereby allowing
virtual manipulations of unknown objects or scenes given only as drawings or
photographs. In terms of its ability to achieve changes in viewpoint, view
morphing is related to previous view-based techniques such as viewsynthesis [3,
7, 11, 12] and mosaics [10, 2, 14, 6]. However, this paper focuses on creating
natural transitions between images rather than on synthesizing arbitrary views of
an object or scene. This distinction has a number of important consequences.
First, in computing the transition between two perspective views, we are free to
choose a natural camera path. By choosing this path along the line connecting
the two optical centers, we show that the formulation and implementation is
greatly simplified. second, our approach is general in that it can be used to
compute transitions between any two images, thereby encompassing both rigid
and nonrigid transformations.
11
Image Morphing
already in widespread use, for part of the computation. Existing image morphing
tools may be easily extended to produce viewmorphs by adding the image
prewarping and postwarping steps.
12
Image Morphing
IMAGE MORPHING
Image morphing, or metamorphosis, is a popular class of techniques for
producing transitions between images. There are a variety of morphing methods
in the literature, all based on interpolating the positions and colors of pixels in two
images. At present, there appears to be no universal criterion for evaluating the
quality or realism of a morph, let alone of a morphing method. A natural question
to ask, however, is does the method preserve 3D shape. That is, does a morph
between two different views of an object produce new views of the same object?
Our investigation indicates that unless special care is taken, morphing between
images of similar 3D shapes often results in shapes that are mathematically
quite different, leading to surprisingly complex and unnatural image transitions.
These observations motivate view morphing, introduced in the next section,
which preserves 3D shape under interpolation. We write vectors and matrices in
bold face and scalars in roman. Scene and image quantities are written in
capitals and lowercase respectively. When possible, we also write corresponding
image and scene quantities using the same letter. Images, I, and 3D shapes or
scenes, S, are expressed as point sets. For example, an image point
(x; y) = p 2
is the projection of a scene point
(X; Y;Z) = P 2 S.
13
Image Morphing
Changes in Visibility
14
Image Morphing
s = [H s j
_ H s
C s]
D = N0 _N1
_ = cos_1(N0 _ N1)
15
Image Morphing
process: first, four control points bounding a quadrilateral region of 0:5 are
selected, determining corresponding quadrilaterals in I0 and I1. Second, the
control points are interactively moved to their desired positions in I0:5, implicitly
specifying the postwarp transformation and thus determining the entire image
I0:5. The postwarps of other in-between images are then determined by
interpolating the control points. The positions of the control points in Is and ^Is
specify a linear system of equations whose solution yields Hs [15]. The four
curves traced out by the control points may also be manually edited for finer
control of the interpolation parameters. The use of image control points bears
resemblance to the view synthesis work of Laveau and Faugeras [7], who used
five pairs of corresponding image points to specify projection parameters.
However, in their case, the points represented the projection of a new image
plane and optical center and were specified only in the original 2Care should be
taken to ensure that no three of the control points are colinear in any image. In
our approach, the control points are specified in the in between image(s),
providing more direct control over image appearance.
In each case, view morphing captures the change in facial pose between original
images I0 and I1, conveying a natural 3D rotation.
16
Image Morphing
17
Image Morphing
Image morphing has been the subject of much attention in recent years. It
has proven to be a powerful visual effects tool in film and television, depicting the
fluid transformation of one digital image into another. This paper reviews the
growth of this field and describes recent advances in image morphing in terms of
three areas: feature specification, warp generation methods, and transition
control. These areas relate to the ease of use and quality of results. I will
describe the role of radial basis functions, thin plate splines, energy minimization,
and multilevel free-form deformations in advancing the state-of-the-art in image
morphing. Recent work on a generalized framework for morphing among multiple
images will be described.
18
Image Morphing
Figure : Cross-dissolve
Morphing Algorithms
Fig. depicts this process applied over five frames. The result is poor,
owing to the double-expos re effect apparent in misaligned regions. This problem
is particularly apparent in the middle frame, where both input images contribute
equally to the output. Morphing achieves a fluid transformation by incorporating
warping to maintain geometric alignment throughout the cross-dissolve process.
In this section we review several morphing algorithms, including those based on
mesh warping, field morphing, radial basis functions, thin plate splines, energy
minimization, and multilevel free-form deformations. This review is intended to
motivate the discussion of progress in feature specification, warp generation, and
transition control.
19
Image Morphing
Mesh Warping
20
Image Morphing
Field Morphing
21
Image Morphing
Transition Control
Note that the examples shown thus far all used a uniform transition
function, whereby the positions of the source features steadily moved to their
corresponding target positions at a constant rate.
22
Image Morphing
Figures above show examples of the use of uniform and nonuniform transition
functions, respectively. The upper left and lower right images of Fig. are the
source and target images, respectively. The features used to define the warp
functions are shown overlaid on the two images. The top and bottom rows depict
a uniform transition rate applied to the warping of the source and target images,
respectively. Notice, for instance, that all points in the source and target images
are moving at a uniform rate to their final positions. Those two rows of warped
imagery are attenuated by the same transition functions and added together to
23
Image Morphing
yield the middle row of in between images. Note that geometric alignment is
maintained among the two sets of warped in between images before color
blending merges them into the final morph sequence.
24
Image Morphing
25
Image Morphing
Problem Statement
The implementation of the project involves two images which are first
digitized. These digital images then need to be converted to compatible equal
frame dimensions and are processed to show the transformations from one to
the another step by step or phase by phase to show clearly the mapping from the
features of one into the individual feature of the other.
Animation Movies
Medical Application Simulations
Films
Machine Designing.
26
Image Morphing
Planning Phase
27
Image Morphing
Design Phase
28
Image Morphing
Development Phase
29
Image Morphing
participate in acceptance testing to confirm that the developed system meets all
user requirements as stated in the problem statements. Acceptance testing shall
be done in a simulated “real” user environment with the user using simulated or
real target platforms and infrastructures.
Implementation Phase
30
Image Morphing
31
Image Morphing
32
Image Morphing
statements have been tested, and all the functional externals - that is,
conducting tests to uncover errors and ensure that defined input will produce
actual results which agree with required results.
SYSTEM ANALYSIS
33
Image Morphing
IMAGE 1
DIGITI
ZATIO
N
IMAGE 2
MAPPI
-NG
DISPLAY
PHASES
34
Image Morphing
Data Object : A data object, the arrowhead indicates the direction of data flow. It
is represented as:
DATA
OBJECT
Data Stores : A repository of data that is to be stored for use by one or more
processes; Maybe as simple as a buffer or queue or as sophisticated as a
relational database. It is represented as:
35
Image Morphing
Image 1 Image 2
digitized digitized
Digitized Digitized
Image 1 Morph Image 2
to
36
Image Morphing
37
Image Morphing
38
Image Morphing
PLATFORM SELECTED
The topic is based on platform selected i.e.windows for the thesis IMAGE
MORPHING. Windows is special graphics screen based software developed by
Microsoft.we have particularly used windows 98,which is an operating system.
Windows owes it‟s name to the fact that it runs each program inside a separate
window. A window has a box or a frame on the screen. You can have numerous
windows on the screen at a time,each containing it‟s own program. You can then
easily switch between the program without having to close one down and open
the next. The question always may arise that why we have used windows?
Because it has many advantages over MS-DOS. The switching over from MS-
DOS to windows operating system involves graphical user interface from the
typical text interface that the MS-DOS offers.
Windows programs deal with the input device like keyboard and mouse
that is directed to numerous interface objects such as menus and buttons, which
at anytime can call anyone of the functions. This means that it has an advantage
on the sequence driven nature of DOS program. The windows program is driven
by the events that takes place during the execution of the program.
39
Image Morphing
Input
queue.
40
Image Morphing
2) The windows environment has built in support for all the basic hardware such
as video display, memory, mouse, keyboard and printers. Microsoft takes
care of worrying about all of the latest hardware freeing you to create
application. Programmers spend their time learning and using the 600
windows functions, rather than writing their own code to support multiple
printers, video cards etc.
3) Windows moves programs and data around in memory to make a room for
other program pieces and data. This movement allows many programs to co-
exist in a fairly limited amount of memory, but it all means that the
programmer cannot assume that anything will stay put for long. Windows
gives you all of the tools you need to deal with movable memory, but it takes
little getting used to.
The EXE mode in windows is remarkably small conserving that you have
a resizable graphics window icon and many functions built in and full mouse
support. The secret to the small size is that window program do not contain ever
traction of the program code needed to do all of these operations. The program
you create makes use of a larger collections of functions that are part of the
windows environment when windows is running on your computer. Every
windows program share these working libraries of functions of control of the
screen, printers, keyboards, mouse, menus, bitmaps and a long list of other
functions.
41
Image Morphing
This part of windows 95 provides support for the lower level functions
that an application needs to run. For example, every time your application
needs memory, it runs to the windows kernel to get it. This component does
not deal with either the interface or devices: it interacts only with windows
itself.
3 ) USER.EXE:
42
Image Morphing
LANGUAGE SELECTED
There are several reasons why we use windows for developing any
application.
Windows lets you write device independent program. This means that
while you are writing the application, you do not concern yourself with what type
of printers, mouse monitors, keyboard, sound card, CD-ROM, device or other
device your user own. Your application will work fine , no matter what hard ware
your user have.
2. Pre-Installed Code:
The user interface mechanism is the same for all windows application.
Without reading your applications documentation, user know how to execute your
application, they can use the icon on the corner of the application window to
minimize or maximize the window, they know the meaning of OK and CANCEL
button, they know what about the dialog box is and they understand many other
features of your program before you even start writing it.
These are the reasons for using windows for developing a particular
application. There are various programming languages for developing a window
and application such as Microsoft Access, Visual Basic and Visual C++.
43
Image Morphing
Why VC++?
In VC++ we use C and C++ for writing code. Therefore the meaning of
C++ in Visual C++ is understood. What does visual mean? It means you will
accomplish many of your programming task by using the keyboard and mouse
to visually design and write your applications. You will select controls such as
push buttons, radio buttons and scroll bars with the mouse, drag them to your
application windows as you build it(this is called design time).
In other words you will be able to see what your application will look like
before you execute it. This is a great advantage because it will save your
considerable time and you can see your application with completing linking it and
you can change your mind about placement and size of edit boxes, pull buttons
and other objects simply by using the mouse.
The fundamental parts of VC++ provided as part of IDE are the editor, the
compiler, the linker and the libraries(these are the basic tools of C++).
THE EDITOR:
THE COMPILER:
As usual the compiler converts your source code into machine language.
The output from compiler is known as object code and stored in files called object
files, with extension object.
44
Image Morphing
THE LINKER:
The linker combines the various modules generated by the compiler from
source code files, adds required code modules from program libraries supplied
as a part of C++ and welds everything into an executable whole. The linker can
also detect and report errors. For example- if part of your program is missing or a
non existent library.
THE LIBRARIES:
The Active Template Library (i.e. ATL) provides structures for writing
specialized windows program. Finally object linking and embedding database
template library(OLE DB) comes into play when working databases.
The important tools other than editor, linker, compiler of VC++ are
AppWizard and class Wizard. They are not essential to the process of writing
windows program, but provides such immense advantages in simplifying the
development process, reducing the incidence of errors and shorting the time of
computing the program.
1) Class Wizard:
The most powerful feature of VC++ is Wizard called Class Wizard. Class
wizard writes code for you. Off course, Class Wizard is not a magic program. You
have to tell it what you want to write for you. Suppose you need a new class ,
new virtual function as a new message handler function, class wizard writes the
prototype to the function bodies and (if necessary the code to link the window)
45
Image Morphing
message to the function in MFC support. Note that the class wizard neither
recognizes nor deals with classes that are not based on MFC classes.
2) AppWizard:
Features Of VC++
Application Framework:
46
Image Morphing
The code which is written i.e. document class is responsible for sharing
document (the program data). This code will enable you to save the program
data into a file and lead data from previous saved files.
The code which is written in view class is responsible for what you see on
screen.
Types Of Application :
As its name implies SDI application let you work with single document . in
an SDI program you can work on only one document at any time. You cannot
open several documents simultaneously. An example of SDI program is the
notepad program.
MDI program also enables you to work with documents. However an MDI
program lets you work on an open several documents simultaneously. Microsoft
Word is an example of MDI program.
47
Image Morphing
System Design
At each stage, software design work products are reviewed for clarity,
correctness, completeness and consistency with the requirements and with one
another.
Designing the software means to plan how the various parts of the
software are going to meet the desired goals. Various input and output screens
have been designed using C++ graphics. According to the choice made by the
user, the screen changes its appearance, displaying various new attributes.
48
Image Morphing
1) Image Acquisition
2) Image Storage
3) Image Processing
4) Display
1) Image Acquisition
2) Image Storage
Digital storage of for image morphing application falls into three principal
categories:
Short term storage for use during morphing.
On line storage for fast recall.
Archival storage for infrequent access.
49
Image Morphing
3) Image Processing
50
Image Morphing
and software for word processing and report generation facilitate presentation of
results.
4) Display
Printing image display are useful primarily for low resolution image
processing works. One simple approach for generating grey-tone images directly
on paper is to use the overstrike capability of a standard line printer. Other
common means of recording an image directly on pare includes laser printers,
heat sensitive paper devices and ink-spray systems. Thus we are using
monochrome and colour T.V. monitor and printers in our thesis.
51
Image Morphing
The software in this thesis deals with tagged image file format. The tag
image file format was designed to promote the interchange of digital image data.
Aldus (of page marker frame), Microsoft and several other computer
and scanner companies decided to write an industry standard for digital image
data communication. Their collaboration results in the TIFF specifications. It is
natural for PC based processing, because most scanner manufacturers support
the standard in their PC products.
Tag directories have no set length or number, since pointers lead from
one directory to another. The result is a flexible file format that can grow and
service in the future.
52
Image Morphing
Tag = 255(FF)
Indicates the kind of data in the sub file.
Tag = 256(100)
The width (x or horizontal) of the image in the pixels.
Tag = 257(101)
The length (y or height or vertical) of image in pixels.
Tag = 258(102)
The no. of bits per sample
Tag = 273(111)
The byte offset for each strip.
Tag = 279(117)
The no. of bytes in each strip.
Tag = 277(115)
The no. of samples per pixels.
Tag = 278(116)
53
Image Morphing
Bilevel image: -
A bilevel image is a one bit per pixel image that can be interpreted as
either black on white (i.e. white = 0) or white on black (i.e. white = 1).
This type image data is somewhat complex. In this each pixel takes on a
value between zero and the number of gray scales or gray levels that scanner
can record. These images appear like black and white photograph. They are
black and white and shades of gray, while some 256 shades of gray. Since a
person can distinguish about 40 shades of gray, a 16 shade image may appear
rough, while a 256 shade image looks like a photograph.
Colour mapped images are also referred to as palette based images. The
image type requires a palette containing color definitions. Pixels values are
interpreted or indexed into palette. The image type is a natural choice for all 16
colour & 256 colour VGA modes.
54
Image Morphing
This type is most complex type. It is used for 15 bit and 24 bit colour
images among others. In most cases, images of this type specify 8 bits per
sample & 3 for samples per pixels.
We can obtain TIFF mages by using a desktop scanner & our own
photograph colour photographs work well but black and white photos are better.
While scanning the biggest problem is file size. The scanner can 300
dots per inch (dpi) so, 3*5 inch photo at a 300 dpi provides 900*15000 pixels. At
a eight bits per pixel (256 shades of gray). The image file comes to over
13,15,000 bytes. This is not practical for many applications so, select a one or
two inch square in photo & work with it.
55
Image Morphing
TIFF Specifications
Table 1:-
Table 2:-
56
Image Morphing
X
Tag
0 Bytes order x+2
Type
2 Version x+4
Length
x+8
Value of
6 Offset to 0 th IFD
offset
IFD:-
A Entry
A+2 Directory entry 0
57
Image Morphing
Fig a shows the structure of TIFF i.e. Tag Image file format. The
first eight bytes are the header. These have same format on all TIFF files. These
are the only items set in concrete for TIFF files. The remainder of the file differs
from image to image. The image file directory i.e. IFD contains the number of
directory entries and the directory entries themselves. The R.H.S. of the fig.
shows the structure of each directory entry. Each directory entry contains a tag,
that indicates the type of information the file holds, then it contains the data type
of the information, the lengthy of the information, and a pointer to the information
or the information itself.
Fig. b shows the beginning of TIFF file. The addresses are loaded
on the left side in decimal and their bytes and their values are in the table in hex.
The first eight bytes are the header. Bytes zero and one tell
whether the file stores a number with the most significant byte (MSB) first or least
significant byte (LSB) first. If bytes zero and one are II (hex 4949 ) then the least
significant byte is first, if the value is MM (hex 4d4d), then the most significant
byte is the first. The example in fig. shows LSB first. Byte two and three give the
tiff version, which should be 42(hex 2A) in all TIFF images. Bytes four to seven
gives the offset to the first IFD. All offsets in TIFF indicate the location with
respect to the beginning of the file. The offset in the fig. is 8, so the IFD begins in
byte eight of the file.
THE IFD
The first two byte of the IFD gives the entry count. The content of
the address eight is 27 (hex 1B). This indicates that the file has 27, twelve byte
directory entries. The first two bytes of the entry contains the lag, which tells the
type of information the entry contain. The directory entry 0 contains tag=255. This
tag tells the sub file type as per table 1. The next two bytes of the entry give the
data type of the information as per table 2. Directory entry 0 is type=3, i.e. a short
which is two byte unsigned integer. The next four bytes of the entry give the
length of the information. This length is not in bytes, but rather in multiples of the
data types. If data type is short and length is one, then the length of the
information is short i.e. two bytes. An entries final four bytes give either the value
of the information or a pointer or a pointer to the value. If length of information is
four bytes or less, then the information is stored here. If it is longer than four
bytes, then a pointer to it is stored. The information in directory entry 0 is two
bytes long and is stored here with a value 1.
58
Image Morphing
As for the next two entries, the entry 1 has tag =256. This is the
image width of the image in number of columns. The type is short and length of
the value is one short or two bytes. The value 600 means that there are 600
columns in the image. The entry 2 has tag=257. This is the image length or
height of image in number of rows. The type is short, the length is one short and
the value is 602. Meaning that the image has 602 rows.
You continue through directory entries until you reach the offset to
the next IFD. If this offset is 0, as in fig b, then no more IFD follows in the file.
ADDRESS CONTENTS
(decimal) (hex)
Header
0 49 49
2 2A 00
4 08 00 00 00
8 1B 00
th
0 Directory entry
10 FF 00 tag225
12 03 00
type=3(short)
14 01 00 00 00
length=1
18 01 00 00 00
value=1
59
Image Morphing
.
Offset to next IFD
334 00 00 00 00 (no
more IFD)
START
SELECT
SOURCE &
DESTINATION
IMAGE
SELECT A
POINT ON THE
SOURCE
IMAGE
IS Pt OF THE
SAME
COLOR?
CHECK THE SAME Pt IN
THE SURROUNDING Pts OF
THE DESTINATION POINT
60
Image Morphing
SELECT THE
NUMBER OF THE
INTERMEDIATE
STEPS
FINAL IMAGE
IN
DESTINATION
IMAGE
STOP
61
Image Morphing
3. PLOT: - With the help of this function actual morphing steps will take place.
If user wants morphing effects in total number of the shades he had passed,
he will get that effect displayed on the specified area of the screen by
passing the total number of steps on line only.
In this way, we have used features of VC++ for our thesis – Image
Morphing.
62
Image Morphing
Testing Objective
Once the source code has been generated, software must be tested to
uncover and correct as many errors as possible before delivery to the customer.
In this thesis the testing methodology made use of is „Black Box Testing‟.
Limitation: The limitation is that the pictures need to be 16bit bmp to have good
results.
63
Image Morphing
Snapshots
1. This is to show the effect of shape on morphing. Initial setup brings up two
windows for source and destination images.The Source Image is selected
by browsing to the appropriate location. The image comes up in the top-
left window. Similarly the destination image is selected which also comes
up in the top-left window next to the source image. The field for
intermediate stages is selected (ideally to 14) to see the intermediate
stages of the morphed image. The final intermediate image (along with the
transforming stages) can be seen in the top center window. On clicking
“MORPH!”, the image gets morphed displaying the intermediate images
and the final image at the top.
64
Image Morphing
2. This is to show the rotation effect on morphing. Initial setup brings up two
windows for source and destination images. The Source Image is selected
by browsing to the appropriate location. The image comes up in the top-
left window. Similarly the destination image is selected which also comes
up in the top-left window next to the source image. The field for
intermediate stages is selected (ideally to 14) to see the intermediate
stages of the morphed image. The final intermediate image (along with the
transforming stages) can be seen in the top center window. On clicking
“MORPH!”, the image gets morphed displaying the intermediate images
and the final image at the top.
65
Image Morphing
3. This is to show the effect of rotation of objects. Initial setup brings up two
windows for source and destination images. The Source Image is selected
by browsing to the appropriate location. The image comes up in the top-
left window. Similarly the destination image is selected which also comes
up in the top-left window next to the source image. The field for
intermediate stages is selected (ideally to 14) to see the intermediate
stages of the morphed image. The final intermediate image (along with the
transforming stages) can be seen in the top center window. On clicking
“MORPH!”, the image gets morphed displaying the intermediate images
and the final image at the top.
66
Image Morphing
4.
67
Image Morphing
5.
68
Image Morphing
6.
69
Image Morphing
APPLICATIONS:
The most famous usage ( so far ) and the once that started the morphing
craze was in the movie Terminator 2 in which the futuristic assassin turns
molecule metal, human being or whatever he work.
Using the morphing program, you can not only change a man into
woman or a dog into a cat but you can also make an old person young again or a
young person old.
Morphing programs can also be used to create time sequence effects. For
instance, in a multimedia sequence, you could morph a small tree into a large
tree to show effects of time. Most programs that allows you to morph also allow
you to warp or bend images to create unusual or even frightening effects.
There is no doubt that all Doctors desire a quick convenient and accurate
means of showing the patient of post-operative result. There are many existing
ways to perform morphing but some systems have cumbersome, difficult and
outdating morphing software. The Niamtu Imaging system has gone through
grade length to provide user friendly, accurate and technologically advanced
morphing application. Software will be automatically redraw your changes and
the color, shadow and contrast will be calculated automatically. Most morphing
applications take only seconds. Simply move the control points and the images is
redraw in real time. Morphing can be done on any anatomical unit.
You may also zoom in one specific body part such as nose, chin,
etc. and isolate the structure which give you mare control points and more
precise changes without disturbing the rest of anatomy.
70
Image Morphing
71
Image Morphing
CONCLUSION
I have also come to the conclusion that the Visual C++ programming
language is one of the most stable programming languages and has a vast
expanse and a very good scope for future software development.
72