Escolar Documentos
Profissional Documentos
Cultura Documentos
Chapter 1
Introduction
1.1 Overview
Digital image manipulation software is now readily available on personal
computers. It is therefore very simple to tamper with any image and make it available
to others. Insuring digital image integrity has therefore become a major issue.
Watermarking has become a popular technique for copyright enforcement and image
authentication. The aim of this paper is to present an overview of emerging techniques
for detecting whether image tampering has taken place. Compared to the techniques
and protocols for security usually employed to perform this task, the majority of the
proposed methods based on watermarking, place a particular emphasis on the notion
of content authentication rather than strict integrity. In this paper, we introduce the
notion of image content authentication and the features required to design an effective
authentication scheme. We present some algorithms, and introduce frequently used
key techniques.
The answer has to do with how technology has affected a paradigm shift in
the methods used to take pictures. To comprehend how the fidelity of the photograph
has been forfeited, it is first necessary to understand the previous picture paradigm
and juxtapose it with the modern domain of digital images.
A) Traditional, Analog Photography
Traditional photography is an analog science. Light enters through a cameras
lens and the image the camera views is faithfully recorded onto a negative. This
negative is then printed into a recognizable image. Although the images represented
in the photograph have typically been faithful to the image seen by the camera,
photographic trickery and distortion have long existed.
Several variables affect how a photo turns out, all of which can either subtly or
drastically change the story a photo tells. A low-angle shot, for instance, can make a
human subject seem much taller than she is in reality. Spotting, cropping, color
balancing, brightness and contrast adjustment, burning, and dodging, and adjusting
exposure time are also very common ways to manipulate the story told by a
photograph.
For decades, books, newspapers, and magazines have used photographs to tell
fantastic and impossible stories, from self-propelled, flying men to proof of the
existence of jack elopes. And yet, analog photographs maintain their integrity because
alterations and manipulations to an analog print have always been very easy to detect.
In fact, by looking for four different types of clues density, shadows splice lines, and
image continuity it becomes simple to finger a fraudulent analog photograph.
Moreover, making alterations to analog photographs is a complicated and costly
ordeal.
When the Federal Rules of Evidence were enacted in 1975, the fidelity of
photographs was presumed, which did not present a problem because the ease with
which modifications and manipulations could be identified made it a very manageable
matter for courts to protect themselves from fraudulent photographs. Since then,
however, digital technology has permeated society, making it more costly for courts
to be cavalier about what images are considered authentic. In fact, today it may be
more accurate to say that a picture is worth a thousand lies.
Chapter 02
Literature Survey
2.1 Background
If we consider a digital image to be merely an ordinary bit stream on which no
medication is allowed, then there is not much difference between this problem and
other data cryptography problems. Two methods have been suggested for achieving
the authenticity of digital images: having a digital camera sign the image using a
digital signature, or embedding a secret code in the image. The first method uses an
encrypted digital \signature" which is generated in the capturing devices. A digital
signature is based on the method of Public Key Encryption. A private key is used to
encrypt a hashed version of the image. This encrypted message is called the signature
of the image, and it provides a way to ensure that this signature cannot be forged. This
signature then travels with the image. The authentication process of this image needs
an associated public key to decrypt the signature. The image received for
authentication is hashed and compared to the codes of the signature. If they match,
then the received image is authenticated.
Above methods have clear drawbacks. In their propositions, authenticity will
not be preserved unless every pixel of the images is unchanged.
There are several possible approaches for authenticating the source of a digital
image.
A) An Active Approach for Manipulation Detection:
Image can be authenticated by Digital watermarking. Various watermark
techniques, have been proposed in recent years, which can be used not only for
authentication, but also for being an evidence for the tamper detection. Wang et al.
and Lin et al. Both embedded watermarks consisting of the authentication data and
the recovery data into image blocks for image tamper detection and recovery in the
future. The drawback of watermark techniques is that one must embed a watermark
into the image first. Also a watermark must be inserted at the time of recording, which
would limit this approach to specially equipped digital cameras. Many other
techniques that work in the absence of any digital watermark or signature have been
proposed.
Chapter 03
Software Requirements Specification
A requirements specification for a software system, is a complete description
of the behavior of a system to be developed and may include a set of use cases that
describe interactions the users will have with the software. In addition it also contains
non-functional requirements. Non-functional requirements impose constraints on the
design or implementation (such as performance engineering requirements, quality
standards, or design constraints).
The software requirements specification document enlists all necessary
requirements that are required for the project development. To derive the
requirements we need to have clear and thorough understanding of the products to be
developed. This is prepared after detailed communications with the project team and
customer.
3.1. Introduction
The field of computer graphics is rapidly maturing to the point where human
subjects have difficulty distinguishing photorealistic computer generated images
(PRCG) from photographic images (PIM).As evidence of the proliferation of
computer generated imagery, one need look no further than Hollywood. According to
Wikipedia, the first feature-length computer animated film was Toy Story, in 1995. In
2007, a total of 14 computer animated films were released, several with stunningly
realistic imagery. In addition to computer animated films, computer graphics are
routinely used to create imagery in live action motion pictures that would otherwise
be nearly impossible to film. Partly because of the success of computer animation in
popular culture, it is well known by the general public that images can be manipulated
and are not necessarily a historical record of an actual event. When viewing movies
for entertainment, the audience is usually a willing participant when fooled into
believing computer generated images represent a fictional version of reality.
However, in other situations, it is extremely important to distinguish between PRCG
and PIM. In the mass media, there have been embarrassing instances of manipulated
images being presented as if they represent photo graphically captured events.
10
overcomes this limitation and supporting three image file format such as JPEG, GIF
and BMP. For the detection of manipulation there is not required a original image for
image authentication, simply required image as a input.
The in-camera processing (rather than the image content) distinguishes the
digital camera photographs from computer graphics. Our results show high reliability
one standard test set of JPEG compressed images from consumer digital cameras.
Further, we show the application of these ideas for accurately localizing forged
regions within digital camera images. Demosaicing acts as a type of passive
watermarking that leaves a trace embedded within the image signal. When traces of
demosaicing are detected, we surmise that the image is a photographic (rather than
computer generated) image. We document the performance of the algorithm on a
standard test set of 1600 images compressed with JPEG compression, and achieve
classification accuracy in the upper nineties. Further, we show the application of the
algorithm for accurately localizing forged image regions.
3.1.4 User classes and characteristics:
There are two main modules in this project
Image Authentication
Forgery detection
The Image Authentication module has four sub-modules listed below:
1.
Apply HP Filter
2.
3.
Apply DFT
4.
Peak Analysis
11
13
For example, in it is noted that PRCG contain unusually sharp edges and occlusion
boundaries. A reasonable explanation for this is that the imperfections such as dirt,
smudges, and nicks that are pervasive in real scenes are difficult to simulate. It is far
easier to construct a computer graphic of a gleamingly new office than the image of
that office after a decade of wear. In any case, as the field of computer graphics
matures with more realistic modeling of scene detail and more realistic lighting
models, it seems reasonable to assume that the statistical differences between real
scenes and computer generated scenes will diminish.
3.3 External Interfaces Requirement
3.3.1 User interfaces
The user interfaces provide various features like:
1. Browsing the images from the external devices
2. It authenticates the actual photographs from digital cameras and computer
generated images.
3. It provides the space for displaying the images.
The reports, option and screen formats will conform to the existing windows
conventions.
a.
b.
Browser testing and support for IE, NN, Mozila, and Firefox.
c.
d.
e.
As a consequence, we may have more than one user interface for a given use
case. The question now is, if there is a way to describe the user interface in a deviceindependent manner.
.However, things are not as easy as they look like in the first instance. We
realize this when we think about what we need to describe:
It certainly is quite a challenge to describe presentation behavior. There are
many aspects to presentation behavior. Just to give a few examples, we might have
relationships and dependencies between GUI elements, such as "if the user enters a
value in field A then input is disallowed in field E" or "the value in field C must
always be less than the value in field B" or "the value of field D is always the result of
a computation (eg. Price * quantity)". As we describe relationships and dependencies
we become aware that we also describe forms logic.
Also, Universal Interface Technologies, Inc., have developed an XML based
tag set for user interfaces which they named "User Interface Markup Language"
(UIML). It already does a good job of presentation description and an adequate job
on presentation events description. However, description of behaviour is not part of
their effort at the moment.
Describing a dialog window with UIML directly is quite cumbersome and
error-prone. We would need to learn the language which is not really what we want.
A point-and-click editor (like those that are part of an IDE) would be extremely
helpful. We would then be in the position to "draw" the dialog window right on the
screen just as we are used to doing by using a conventional IDE. Doing this the
modeler would produce UIML by using a generate function. A renderer then takes
the UIML file as input and generates Java code.
If this technology unfolds as expected, we could speed up user interface
design quite significantly. The extract from a process (see below) shows how GUI
prototyping may happen. It is assumed that we edit the generated Java code. However,
this would not be necessary if we were happy with what the GUI-IDE generates.
However, the very reason for doing prototyping at this early stage is to verify
that the customer's requirements are met.
If the customer demands changes we could easily apply the changes in the
specialized IDE, regenerate a UIML file and regenerate executable Java code from
there.
15
This would not only increase confidence that we design what the customer
really wants but also speed up the analysis and design process quite significantly. We
could regenerate many work products again and again from a single source and this
would help tremendously in our today's iterative and incremental approach.
3.3.2 Hardware Interfaces
The new functionality will run on all the standards hardware platform like Intel, and
Mac. These systems consist of standard and upgraded Windows, Apple and Mac
operating systems.
Hardware interfaces include optimal for pc with P4 and AMD 64 processor.
The minimum configuration required:
2.4 GHZ, 80 GB HDD for installation.
512 MB memory.
3.3.3
Software Interfaces
The various service providers will have different software interfaces to access the
authentication services provided by the system. They can perform their services
independently, as long as they adhere with the policies and stranded agreed upon. The
Photo-morphing Detection System will use scalable stable operating system.
JDK 1.6
Java Advance Imaging
Swing
Tool to used:
Swing:
Swing is the primary Java GUI widget toolkit. It is part of Oracle's Java
Foundation Classes (JFC) an API for providing a graphical user interface (GUI)
for Java programs.
Swing was developed to provide a more sophisticated set of GUI components
than the earlier Abstract Window Toolkit.
Swing provides a native look and feel that emulates the look and feel of
several platforms, and also supports a pluggable look and feel that allows applications
to have a look and feel unrelated to the underlying platform.
16
31 times more Java phones ship every year than Apple and
Android
combined
navigation
payment stations,
and more.
17
2.
3.
4.
18
2.
3.
4.
5.
6.
7.
8.
9.
a) Extensibility
Extensibility allows new component to the system, replaces the existing once.
This is done without affecting those components those are in their original place.
b) Compatibility
Compatibility is the measure with which user can extend the one type of
application with another. The presentation tool is compatible with any type of
Operating system. Because of this its usability is highly flexible.
19
c) Serviceability
In software engineering and hardware engineering, serviceability also known
as supportability, is one of the aspects (from IBM's RASU (Reliability, Availability,
Serviceability, and Usability). It refers to the ability of technical support personnel to
install, configure, and monitor computer products, identify exceptions or faults, debug
or isolate faults to root cause analysis, and provide hardware or software maintenance
in pursuit of solving a problem and restoring the product into service.
Examples of features that facilitate serviceability include:
a.
Network monitoring
c.
Documentation
d.
e.
f.
d) Feasibility Requirements
Feasibility studies aim to objectively and rationally uncover the strengths and
weaknesses of the existing business or proposed venture, opportunities and threats as
presented by the environment, the resources required to carry through, and ultimately
the prospects for success. In its simplest term, the two criteria to judge feasibility are
cost required and value to be attained. As such, a well-designed feasibility study
should provide a historical background of the business or project, description of the
product or service.
Feasibility study is conducted after finding out the systems objectives. In
order to carry out the feasibility study the following steps should be completed*
20
Economical feasibility
Operational feasibility
Resource feasibility
e) Economic feasibility
Economic analysis is the most frequently used method for evaluating the
effectiveness of a new system. If the data is stored in a database then it will be easy
job to search for required options any time. The use of Java and Swing does not
require very high configuration of hardware.
The software can be run on any system with JDK in minimum requirements..
Also the software though developed in GUI, it is very easy to operate and it is user
friendly. Hence the software is technically feasible.
f) Operational feasibility
Operational feasibility is a measure of how well a proposed system solves the
problems, and takes advantage of the opportunities identified during scope definition
i.e. through previous developed Timesheet
21
System (computer)
Ram: 512 MB
22
User
Login
Form
User
Failure
Verify
User
Display
Error
message
Success
Display
Forged
Region
Click Browse
Browsin
g
Image
Select Image
and Upload
Exit
Go Home
Display
Image
Click
Authenticate
Image
Authent
ication
Authenticated
Display
Output
23
Problem
Solution
No.
1
Numbers
of
will
be
using
communication
Working time of all the We will distribute the work amongst the
members in the group does members, so that everyone can work
not match.
Members
25
Chapter 04
System Design
Systems design is the process of defining the architecture, components,
modules, interfaces, and data for a system to satisfy specified requirements. Systems
design could see it as the application of systems theory to product development. There
is some overlap with the disciplines of systems analysis, systems architecture and
systems engineering.
The goal of system design is to produce a model or representation that exhibit,
commodity and delight. It provides information about the application domain for the
software to be built. It describes the internal details of software.
Communication
Project initiation
Requirement
gathering
Planning
Estimating
Scheduling
Tracking
Modeling
Analysis
Design
Construction
Coding
Testing
Deployment
Delivery
Support
Feedback
26
(1)
27
The variance of the output of operator can be found from a distribution with variance
2. If we again make the simplifying assumption that the channel is interpolated with
linear interpolation:
( )
( )
) at positions corresponding to
original photosites in the image sensor, and thus nine pixel values from the original
sensor contribute to the filter output and four with a coefficient
coefficient , and position (x, y) itself has coefficient -3.
, four with a
Corresponds to locations
where the green value is interpolated by considering the green channel is interpolated
with linear interpolation.
In case, if missing green values were actually estimated with linear
interpolation and all other image processing operations in the camera are ignored,
then application of the filter h(x, y) yields a value of zero at each pixel location with
an interpolated green value. The choice of h(x, y) was made to maintain a large value
for
aids in
| (
( ) where
( ) represents
diagonal:
)|
( )
diagonal and is used for
normalization.
28
)|. A
)|
is calculated as:
( )
Fig 4.3 Distinguish between images containing noise with large energy across the
frequency spectrum and true demosaicing
-Mathematical Model of the proposed system:Problem description:
Let S be the system such that ,
S={I,P,F,V} where
I represents set of images; I={i0,i1,,in},
P represents set of peak values;P={p1,p2,,pn},
F represents filters; F={f1,f2,f3,f4},
V represents variance; V={v1,v2,,vn}
29
-Activity description
Let there is direct relation between some of the sets as:
f(P)->I , f(F)->I , f(V)->P
Also there are inter-relationship between :
f(P0) -> {i0} I, f(F0) -> {i0} I, f(V0) -> {P0} P.
-Venn Diagram
As described in the activity we conclude to draw the following 3 venn
diagrams shown in the next slides:
30
31
Login
select image
Estimate variance
USER
SERVER
periodic graph
peak analysis
Result
32
4.2.2
Sequence Diagram
Photo Morphing
Detection System
User
Forgery
Detection
Filter
Login
Succes/Failuer
Browse Image
Upload/Display Image
Image Authentication(Apply Filter)
(Demosaicing Algorithm)
High Pass
Filter
Positional
Variance
Apply DFT
Peak Value
Peak Value
Analysis
Display Output
(If Image is Photo realistic)
Upload Original Image
Go for Forgery Detection
Forgery
Detection
33
Get Image
If Valid
Yes
Brows Image
Upload Image
Authenticate Image
Display Output
Exit
No
If Image is
photorealistic
Yes
34
4.2.4
Component Diagram
Image
NetBean
Forgery Detection
Image Authentication
NetBeans
Photo Mophing
Detection System
Forgery
Detection
Image
Authentication
36
Chapter 05
TECHICAL SPECIFICATION
5.1 Technology details used in the project
5.1.1 J2SE SDK:Java Platform, Standard Edition or Java SE (formerly known up to version 5.0
as Java 2 Platform, Standard Edition or J2SE), is the collection of Java programming
language APIs useful to many Java platform programs. The Java Platform, Enterprise
Edition includes all of the classes in the Java SE, plus a number which are more
useful to programs running on servers than on workstations.
Starting with the J2SE 5.0 (Merlin), the Java SE platform has been
developed under Java Community Process. JSR 59 was the umbrella specification for
J2SE 1.4 and JSR 176 specified J2SE 5.0 (Tiger). As of 2006, Java SE 6 (Mustang) is
being developed under JSR 270.
5.1.2 NetBeans:NetBeans is an integrated development environment (IDE) for developing
primarily with Java, but also with other languages, in particular PHP, C/C++, and
HTML5. It is also an application platform framework for Java desktop applications
and others.
The NetBeans IDE is written in Java and can run on Windows, OS X, Linux,
Solaris and other platforms supporting a compatible JVM.
The NetBeans Platform allows applications to be developed from a set of
modular software components called modules. Applications based on the NetBeans
Platform (including the NetBeans IDE itself) can be extended by third party
developers.
NetBeans Platform:The NetBeans Platform is a reusable framework for simplifying the
development of Java Swing desktop applications. The NetBeans IDE bundle for Java
SE contains what is needed to start developing NetBeans plugins and NetBeans
Platform based applications; no additional SDK is required.
Applications can install modules dynamically. Any application can include the
Update Center module to allow users of the application to download digitally signed
upgrades and new features directly into the running application.
37
Reinstalling an upgrade or a new release does not force users to download the
entire application again.
The platform offers reusable services common to desktop applications,
allowing developers to focus on the logic specific to their application. Among the
features of the platform are:
Window management
38
The Profiler is based on a Sun Laboratories research project that was named
JFluid. That research uncovered specific techniques that can be used to lower the
overhead of profiling a Java application. One of those techniques is dynamic bytecode
instrumentation, which is particularly useful for profiling large Java applications.
Using dynamic bytecode instrumentation and additional algorithms, the NetBeans
Profiler is able to obtain runtime information on applications that are too large or
complex for other profilers. NetBeans also support Profiling Points that let you profile
precise points of execution and measure execution time.
NetBeans GUI Builder
GUI design tool
Formerly known as project Matisse, the GUI design-tool enables developers to
prototype and design Swing GUIs by dragging and positioning GUI components.
The GUI builder has built-in support for JSR 295 (Beans Binding technology), but the
support for JSR 296 (Swing Application Framework) was removed in ,7.1.
NetBeans JavaScript editor
The NetBeans JavaScript editor provides extended support for JavaScript, Ajax, and
CSS. JavaScript editor features comprise syntax highlighting, refactoring, code
completion for native objects and functions, generation of JavaScript class skeletons,
generation of Ajax callbacks from a template; and automatic browser compatibility
checks.
CSS editor features comprise code completion for styles names, quick
navigation through the navigator panel, displaying the CSS rule declaration in a List
View and file structure in a Tree View, sorting the outline view by name, type or
declaration order (List & Tree), creating rule declarations (Tree only), refactoring a
part of a rule name (Tree only).
39
Chapter 06
Project estimate, Schedule and team structure
6.1. Estimating Costs:
There are two types of costs incurred when using a virtual
operating system approach:
1) The costs of writing the utilities: This is a one-time cost, since these utilities are
independent of any real operating system. The program development costs for the
utilities will be similar to those for any other software system designed for a specific
machine, since the virtual operating system utilities are designed for the virtual
machine.
2) The costs of implementing the virtual machine: These are incurred once for each
different host operating system within the organization. It is important to note that this
is the only cost in moving all personnel and software to the new computing
environment.
MILESTONE
NO
NAME
Requirement
OF REMARK
START
END
WEEKS
DATE
DATE
5/7/12
20/7/12
1/8/12
18/8/12
specification
2
Technology
familiarization
System setup
20/8/12
28/8/12
Design
14/1/13
31/1/13
GUI Frame
1/2/13
15/2/13
Working on the 4
20/2/13
29/3/13
1/4/13
15/4/13
application
8
Preparing
documentation
Table 6.1 Project schedule
40
Member Names
Knowledge gathering
All
All
All
Page Crawler
All
Report generation
All
Unit testing
All
Documentation
41
Chapter 07
Software implementation
7.1 Introduction
The main aim of the project is to provide software which will help to detect
the manipulation in the photo. Most digital cameras employ an image sensor with a
color filter array such as shown on the left. The process of demosaicing interpolates
the raw image to produce at each pixel an estimate for each color channel. With
proper analysis, traces of demosaicing are exhibited in the peak of an analysis signal
as shown on the right. The presence of demosaicing indicates the image is from a
digital camera rather than generated by a computer.
42
| (
(
)
( )
filter h(x, y) to the image i(x, y). The parameter n is the size of the local
neighborhood; by default we use n = 32. At each position (x, y), a local (256 point)
one-dimensional DFT is computed along each row, and the local peak ratio s(x, y) is
computed as described before in Eq. (2).
The above equation estimates the variance for detecting forged image regions.
6. Displying the output.
43
Chapter 08
Software Testing
8.1 Introduction
Software testing is an investigation conducted to provide stakeholders with
information about the quality of the product or service under test. Software testing can
also provide an objective, independent view of the software to allow the business to
appreciate and understand the risks of software implementation. Test techniques
include, but are not limited to, the process of executing a program or application with
the intent of finding software bugs (errors or other defects).
Software testing can be stated as the process of validating and verifying that a
computer program/application/product:
works as expected,
44
45
Code coverage - creating tests to satisfy some criteria of code coverage (e.g.,
the test designer can create tests to cause all statements in the program to be
executed at least once)
Code coverage tools can evaluate the completeness of a test suite that was created
with any method, including black-box testing. This allows the software team to
examine parts of a system that are rarely tested and ensures that the most important
function points have been tested.http://en.wikipedia.org/wiki/Software_testing cite_note-21 Code coverage as a software metric can be reported as a percentage for:
100% statement coverage ensures that all code paths, or branches (in terms of control
flow) are executed at least once. This is helpful in ensuring correct functionality, but
not sufficient since the same code may process different inputs correctly or
incorrectly.
8.1.3 Black-box testing:
46
47
48
browser). For example, in the case of a lack of backward compatibility, this can
occur because the programmers develop and test software only on the latest
version of the target environment, which not all users may be running. This
results in the unintended consequence that the latest work may not function on
earlier versions of the target environment, or on older hardware that earlier
versions of the target environment was capable of using. Sometimes such issues
can be fixed by proactively abstracting operating system functionality into a
separate program module or library.
49
50
functional requirements tend to be those that reflect the quality of the product,
particularly in the context of the suitability perspective of its users.
8.3.6 Software performance testing
Performance testing is generally executed to determine how a system or subsystem performs in terms of responsiveness and stability under a particular workload.
It can also serve to investigate, measure, validate or verify other quality attributes of
the system, such as scalability, reliability and resource usage.
Load testing is primarily concerned with testing that the system can continue
to operate under a specific load, whether that be large quantities of data or a large
number of users. This is generally referred to as software scalability. The related load
testing activity of when performed as a non-functional activity is often referred to as
endurance testing.
Volume testing is a way to test software functions even when certain
components (for example a file or database) increase radically in size. Stress testing is
a way to test reliability under unexpected or rare workloads.
Stability testing (often referred to as load or endurance testing) checks to see if
the software can continuously function well in or above an acceptable period.
There is little agreement on what the specific goals of performance testing are.
The terms load testing, performance testing, reliability testing, and volume testing, are
often used interchangeably.
8.3.7 Usability testing
Usability testing is needed to check if the user interface is easy to use and
understand. It is concerned mainly with the use of the application.
51
The test suites are continuously updated as new failure conditions and corner
cases are discovered, and they are integrated with any regression tests that are
developed.
Unit tests are maintained along with the rest of the software source code and
generally integrated into the build process (with inherently interactive tests being
relegated to a partially manual build acceptance process). The ultimate goal of this
test process is to achieve continuous integration where software updates can be
published to the public frequently.
8.4.3 A sample testing cycle
Although variations exist between organizations, there is a typical cycle for
testing. The sample below is common among organizations employing the Waterfall
development model.
Test planning: Test strategy, test plan, testbed creation. Since many activities
will be carried out during testing, a plan is needed.
Test development: Test procedures, test scenarios, test cases, test datasets,
test scripts to use in testing software.
Test execution: Testers execute the software based on the plans and test
documents then report any errors found to the development team.
Test reporting: Once testing is completed, testers generate metrics and make
final reports on their test effort and whether or not the software tested is ready
for release.
Defect Retesting: Once a defect has been dealt with by the development team,
it is retested by the testing team. AKA Resolution testing.
53
Test Closure: Once the test meets the exit criteria, the activities such as
capturing the key outputs, lessons learned, results, logs, documents related to
the project are archived and used as a reference for future projects.
Name
Input
Expected
Actual
Pass/Fai
Output
Output
Check cursor
It should
It present
Pass
position
present at
at User
User Name
Name
field
field
Id
1
User ID
Field
1.1
1.2
Characters in
A to Z
It should
It accepts
User Id field
a to z
accept
character
Pass
character
1.3
1.4
Enter
0 to 9
It should not
It not
Number in
accept
accepts
User Id field
numbers
numbers
Enter special
!,@,#,$,%,^,&,
It should not
It not
character in
Accept
accepts
special
special
User Id field
Pass
Pass
54
1.5
characters
characters
Enter
!,@,#,$,%,^,&,
It should not
It not
combination
accept all
accept all
of all the
A to Z
the Input
the Input
above data
A to z
Pass
Name
Input
Expected
Actual
Output
Output
Check cursor
It should
It present at Pass
position
present at
password
password
field
Id
2
Pass/Fail
Password
Field
2.1
field
2.2
Characters in
A to Z
It should
It accepts
User Id field
a to z
accept
character
Pass
character
2.3
2.4
Enter
0 to 9
It should
It accepts
Number in
accept
numbers
User Id field
numbers
Enter special
!,@,#,$,%,^,&,
It should
It accepts
character in
Accept
special
special
characters
User Id field
Pass
Pass
characters
2.5
2.6
Enter
!,@,#,$,%,^,&,
It should
It accept
combination
accept all
all the
of all the
A to Z
the Input
Input
above data
A to z
Enter 9 data
123qwe456
It should not
It does not
values in
accept 9th
accept 9th
password
data value
data value
Pass
Pass
55
field
Name
Input
Expected
Actual
Pass/Fail
Output
Output
It does
Pass
It does
Pass
It does
Pass
It does
Pass
Submit
button
3.1
Both the
Click on
It should
fields are
submit
give
empty
button
message
"Enter
Username
&
password"
3.2
Only
Click on
It should
username
submit
give
has been
button
message
entered
"Enter
password"
3.3
Only
Click on
It should
password
submit
give
has been
button
message
entered
"Enter
Username "
3.4
Both field
Click on
It should
have been
submit
give
entered,but
button
message
wrong
"Invalid
username
Username "
56
3.5
3.6
Both field
Click on
It should
have been
submit
give
entered,but
button
message
wrong
"Invalid
password
Password "
Both field
Click on
It should
have been
submit
give
entered,&
button
message
both field
"Invalid
are wrong
Username
It does
Pass
It does
Pass
It does
Pass
& Password
"
3.7
Both field
Click on
It should
have been
submit
give
entered,&
button
message
both field
"Submitted
are correct
successfully
"
Name
Input
Expected
Actual
Pass/Fail
Output
Output
It does
Pass
Expected
Actual
Pass/Fail
Output
Output
Browse
button
4.1
Functionality
Click on
File
of Browse
Browse
Browsing
Button
button
Window
should be
open.
Name
Input
57
File dialog
box
5.1
List box
displaying
should be
various
present
It present
Pass
It present
Pass
It present
Pass
It present
Pass
It present
Pass
It does
Pass
Pass
drives and
directories
5.2
5.3
5.4
Text field
display name
should be
of the file
present.
Text field
displaying
should be
type of file
present
Open button
Open
for opening
button
the file.
should be
presnt
5.5
Cancel
Cancel
button for
button
canceling
should be
file dialog
present.
box.
5.6
5.7
Selection in
Click on
The drive
Drive list
any drive
Directory
box
Directory
or file get
or file.
Selected
It should
It gives
any file .
Open
give error
error.
button.
first select
the file
5.8
Select
Click on
It should
It opens
appropriate
Open
open that
that file.
file.
button.
file.
Pass
58
5.9
Cancel
Click on
It should
button
cancel
Close file
functionality.
button.
dialog box.
It does
Pass
Chapter 09
Snapshots
Chapter 10
Deployment and Maintenance
10.1 Installation
Before installing Image Authentication Software, be sure that your system meets the
following requirements:
CPU
OS
59
XP
Professional (Service Pack 2 or later), or Windows 2000
Professional
(Service Pack 4 or later)
Hard-disk space
RAM
Video resolution
800 600 pixels or more with 16-bit color (High Color) or more
Camera
Miscellaneous
Following are the installing steps for Photo Morphing Detection System
Step 1: Install JDK 1.6.0
Step 2: Install NetBeans
Step 3: Then install Photo Morphing Detection Software
Chapter 11
Conclusion and future scope
Users expect that robust solutions will ensure copyright protection and also
guarantee the authenticity of multimedia documents. There is such a strong demand
for image manipulation techniques and applications that they are becoming more and
more sophisticated and are accessible to a greater number of people.
60
Chapter 12
References:
Company)
Image
Authentication
by
Detecting
Traces
of
61
www.wikipedia.com
Appendix A: Glossary
List of Acronyms:Name
Meaning
PIM
Photographic images
62
PRCG
GUI
JVM
63