GRP Mini Dynamic
GRP Mini Dynamic
BACHELOR OF TECHNOLOGY
In
ELECTRONICS AND COMMUNICATION ENGINEERING
By
Mrs. P. SAGARIKA
Assistant Professor
2021-2025
SREE CHAITANYA INSTITUTE OF TECHNOLOGICAL SCIENCES
CERTIFICATE
This is to certify that the Mini project report entitled “DYNAMIC TARGET
TRACKING METHOD OF SURVEILLANCE VIDEO BASED ON IMAGE
PROCESSING” is being submitted by GANGISHETTI SHIVANI (21TR1A0439),
ANASURI SANDEEP (22TR5A0401),GOLLAPALLY SANDEEP (21TR1A0441),
DEEKONDA SHIVASAI (21TR1A0430) in partial fulfillment of the requirements for
the award of the Degree of Bachelor of Technology in Electronics and
Communication Engineering, to the Sree Chaitanya Institute Of Technological
Sciences ,karimnagar,is a bonafide work carried out by them under my guidance and
supervision.
EXTERNAL EXAMINER
ACKNOWLEDGEMENTS
The Satisfaction that accomplishes the successful completion of any task would
be incomplete without the mention of the people who make it possible and whose
constant guidance and encouragement crown all the efforts with success.
We would like to thank all the staff and all our friends for their good wishes,
their helping hand and constructive criticism, which led the successful completion of
this Mini project.
We are immensely indebted to our parents, brothers and sisters for their love and
unshakable belief in us and the understanding and ever-decreasing grudges for not
spending time more often. We will now, since the excuse is in the process of vanishing
by being printed on these very pages.
Finally, we thank all those who directly and indirectly helped us in this regard.
We apologize for not listing everyone here.
III
DECLARATION
We here by declare that the work which is being presented in this dissertation
entitled, “DYNAMIC TARGET TARCKING METHOD OF SURVEILLANCE
VIDEO BASED ON IMAGE PROCESSING”, submitted towards the partial
fulfillment of the requirements for the award of the degree of Bachelor of Technology in
Electronics and Communication Engineering, SCITS, Karimnagar, is an authentic
record of our own work carried out under the guidance of Mrs. P. SAGARIKA,
Assistant professor, Department of ECE, SCITS, Karimnagar.
To the best of our knowledge and belief, this Mini project bears no resemblance
with any report submitted to SCITS or any other University for the award of any degree
or diploma.
IV
ABSTARCT
V
CONTENTS
TITLE PAGENO
ACKNOWLEDGEMENT iii
DECLARATION iv
ABSTRACT v
CONTENTS vi
LIST OF FIGURES xi
CHAPTER-1
INTRODUCTION 1
CHAPTER-2
INDUSTRY TO MATLAB
2.2.4 Graphics 5
VI
CHAPTER-3
3.1 Background 8
CHAPTER-4
IMAGE TYPES 15
CHAPTER-5
SOFTWARE INTRODUCTION 19
5.4 Expressions 24
5.4.1 Variables 24
5.4.2 Numbers 24
VII
5.4.3 Operators 24
5.4.4 Functions 25
CHAPTER-6
6.4 Checkboxes 28
6.7 Frames 29
6.10 Axes 32
CHAPTER-7
PROPOSED SYSTEM 33
7.1 Benefits 33
7.2.1 Drawbacks 34
RESULT 35
CONCLUSION 37
SORCE CODE 38
REFERENCE 41
VIII
LIST OF FIGURES
FIG.NO DESCRIPTION PAGE.NO
FIG 3.3: Gray scale image 9
IX
CHAPTER 1
INTRODUCTION
Detection and segmentation of moving objects in video streams is an essential
process for information extraction in many computer vision applications, including
video surveillance, human tracking, traffic monitoring and semantic annotation of
videos. Surveillance system uses video cameras to monitor the activities of targets
(human, vehicle, etc.) in a scene [1]. In order to obtain an automatic motion
segmentation algorithm that can work with real images there are several issues that need
to be solved, particularly important are: noise, missing data and lack of a priori
knowledge. One of the main problems is the presence of noise. For some applications
the noise level can become critical. There are three conventional approaches to moving
object detection: background subtraction, temporal differencing and optical flow [2].
1
These methods have been proven to be successful in many applications, but
none of them are generally applicable to all images and moving objects and different
algorithms are usually not equally suitable for a particular application. Image
segmentation is the partitioning of an image in objects of interest. This partitioning is
done according to some subjective criteria and, usually, it aims to separate the objects
in the image. Object segmentation techniques known as Region of Interest (ROI) has
recently drawn much attention in image compression community. ROI applications
include browsing, digital image archive, and telemedicine [6]-[7]. Many computer
vision methods have been developed for analyzing image motion. These methods
have addressed a diverse set of natural motion categories including smooth optical
flow, discontinuous optical flow across an occlusion boundary, and motion
transparency.
2
CHAPTER 2
INTRODUCTION TO MATLAB
Algorithm development
Data acquisition
This allows you to solve many technical computing problems, especially those
with matrix and vector formulations, in a fraction of the time it would take to write a
program in a scalar non interactive language such as C or FORTRAN.
The name MATLAB stands for matrix laboratory. MATLAB was originally
written to provide easy access to matrix software developed by the LINPACK and
EISPACK projects. Today, MATLAB engines incorporate the LAPACK and BLAS
libraries, embedding the state of the art in software for matrix computation.
MATLAB has evolved over a period of years with input from many users. In
university environments, it is the standard instructional tool for introductory and
3
advanced courses in mathematics, engineering, and science. In industry, MATLAB is
the tool of choice for high-productivity research, development, and analysis.
This is the set of tools and facilities that help you use MATLAB functions and
files. Many of these tools are graphical user interfaces. It includes the MATLAB
desktop and Command Window, a command history, an editor and debugger, and
browsers for viewing help, the workspace, files, and the search path.
4
It allows both "programming in the small" to rapidly create quick and dirty
throw-away programs, and "programming in the large" to create complete large and
complex application programs.
2.2.4 Graphics:
This is a library that allows you to write C and Fortran programs that interact
with MATLAB. It includes facilities for calling routines from MATLAB (dynamic
linking), calling MATLAB as a computational engine, and for reading and writing
MAT-files.
Matlab Desktop:-
Matlab Desktop is the main Matlab application window. The desktop contains
five sub windows, the command window, the workspace browser, the current
directory window, the command history window, and one or more figure windows,
which are shown only when the user displays a graphic.
MATLAB defines the workspace as the set of variables that the user creates in a work
session. The workspace browser shows these variables and some information about
them.
5
Double clicking on a variable in the workspace browser launches the Array
Editor, which can be used to obtain information and income instances edit certain
properties of the variable.
The current Directory tab above the workspace tab shows the contents of the
current directory, whose path is shown in the current directory window.
MATLAB uses a search path to find M-files and other MATLAB related
files, which are organize in directories in the computer file system. Any file run in
MATLAB must reside in the current directory or in a directory that is on search path.
By default, the files supplied with MATLAB and math works toolboxes are included
in the search path. The easiest way to see which directories are on the search path.
The easiest way to see which directories are soon the search path, or to add or modify
a search path, is to select set path from the File menu the desktop, and then use the
set path dialog box. It is good practice to add any commonly used directories to the
search path to avoid repeatedly having the change the current directory.
The Command History Window contains a record of the commands a user has
entered in the command window, including both current and previous MATLAB
sessions. Previously entered MATLAB commands can be selected and re-executed
from the command history window by right clicking on a command or sequence of
commands. This action launches a menu from which to select various options in
addition to executing the commands. This is useful to select various options in
addition to executing the commands. This is a useful feature when experimenting with
various commands in a work session.
The MATLAB editor is both a text editor specialized for creating M-files and a
graphical MATLAB debugger. The editor can appear in a window by itself, or it can
be a sub window in the desktop. M-files are denoted by the extension .m, as in
pixelup.m. The MATLAB editor window has numerous pull-down menus for tasks
such as saving, viewing, and debugging files.
6
Getting help:
The principal way to get help online is to use the MATLAB help browser,
opened as a separate window either by clicking on the question mark symbol (?) on
the desktop toolbar, or by typing help browser at the prompt in the command window.
The help Browser is a web browser integrated into the MATLAB desktop that
displays a Hypertext Markup Language (HTML) documents. The Help Browser
consists of two panes, the help navigator pane, used to find information, and the
display pane, used to view the information. Self-explanatory tabs other than navigator
pane are used to perform a search.
7
CHAPTER 3
3.1 Background:
Vision is the most advanced of our sensor, so it is not surprising that image
play the single most important role in human perception. However, unlike humans,
who are limited to the visual band of the EM spectrum imaging machines cover
almost the entire EM spectrum, ranging from gamma to radio waves. They can
operate also on images generated by sources that humans are not accustomed to
associating with image.
8
There are no clear-cut boundaries in the continuum from image processing at
one end to complete vision at the other. However, one useful paradigm is to consider
three types of computerized processes in this continuum: low-, mid-, & high-level
processes. Low-level process involves primitive operations such as image processing
to reduce noise, contrast enhancement & image sharpening. A low- level process is
characterized by the fact that both its inputs & outputs are images.
I(x, y) is the intensity of the image at the point (x, y) on the image plane.
I (xylem) takes non-negative values assume the image is bounded by a rectangle [0, a]
[0, b]I: [0, a] [0, b] → [0, info)
Assume that an image f(x, y) is sampled so that the resulting image has M
rows and N columns. We say that the image is of size M X N.
The values of the coordinates (xylem) are discrete quantities. For notational
clarity and convenience, we use integer values for these discrete coordinates.
10
The other difference is that the origin of the coordinate system is at (r, c) = (1,
1); thus, r ranges from 1 to M and c from 1 to N in integer increments. IPT
documentation refers to the coordinates.
f (xylem)= . . .
. . .
The right side of this equation is a digital image by definition. Each element of
this array is called an image element, picture element, pixel or pel.
The terms image and pixel are used throughout the rest of our discussions to
denote a digital image and its elements.
. . .
f= . . .
Where f (1,1) = f(0,0) (note the use of a monoscope font to denote MATLAB).
The notation f(p ,q) denotes the element located in row p and the column q
11
Typically we use the letters M and N respectively to denote the number of
rows and columns in a matrix. A 1xN matrix is called a row vector whereas an Mx1
matrix is called a column vector. A 1x1 matrix is a scalar.
Images are read into the MATLAB environment using function imread whose
syntax is
Imread (‘filename’)
Here filename is a spring containing the complete of the image file (including
any applicable extension). For example the command line
Reads the JPEG (above table) image chestxray into image array f. Note the use
of single quotes (‘) to delimit the string filename. The semicolon at the end of a
command line is used by MATLAB for suppressing output If a semicolon is not
included. MATLAB displays the results of the operation(s) specified in that line. The
12
prompt symbol (>>) designates the beginning of a command line, as it appears in the
MATLAB command window.
13
Name Description
Uint16 unsigned 16_bit integers in the range [0, 65535] (2byte per element)
Uint 32 unsigned 32_bit integers in the range [0, 4294967295](4 bytes per
element).
Int8 signed 8_bit integers in the range [-128,127] 1 byte per element)
Int 16 signed 16_byte integers in the range [32768] (2 bytes per element).
14
CHAPTER 4
IMAGE TYPES
1. Intensity images;
2. Binary images;
3. Indexed images;
4. R G B images.
Most monochrome image processing operations are carried out using binary
or intensity images, so our initial focus is on these two image types. Indexed and RGB
colour images.
4.1 Intensity images:
An intensity image is a data matrix whose values have been scaled to represent
intentions. When the elements of an intensity image are of class unit8, or class unit
16, they have integer values in the range [0,255] and [0, 65535], respectively. If the
image is of class double, the values are floating point numbers. Values of scaled,
double intensity images are in the range [0, 1] by convention.
15
4.2 Binary images:
B=logical (A)
16
Matrix map is an m*3 arrays of class double containing floating point values
in the range [0, 1]. The length m of the map are equal to the number of colors it
defines. Each row of map specifies the red, green and blue components of a single
color.
An indexed image uses “direct mapping” of pixel intensity values color map
values. The color of each pixel is determined by using the corresponding value the
integer matrix x as a pointer in to map.
If x is of class double, then all of its components with values less than or equal
to 1 point to the first row in map, all components with value 2 point to the second row
and so on. If x is of class units or unit 16, then all components value 0 point to the
first row in map, all components with value 1 point to the second and so on.
An RGB color image is an M*N*3 array of color pixels where each color
pixel is triplet corresponding to the red, green and blue components of an RGB image,
at a specific spatial location. An RGB image may be viewed as “stack” of three gray
scale images that when fed in to the red, green and blue inputs of a color monitor.
Produce a color image on the screen. Convention the three images forming an
RGB color image are referred to as the red, green and blue components images. The
data class of the components images determines their range of values.
17
Fig 4.4 RGB Image
Similarly, the range of values is [0,255] or [0, 65535]. For RGB images of
class units or unit 16 respectively. The number of bits use to represents the pixel
values of the component images determines the bit depth of an RGB image.
Generally, the number of bits in all component images is the same. In this
case the number of possible colour in an RGB image is (2^b) ^3, where b is a number
of bits in each component image. For the 8bit case the number is 16,777,216 colors.
18
CHAPTER 5
SOFTWARE INTRODUCTION
• A file with extension. fig, called a FIG-file that contains a complete graphical
description of all the function’s GUI objects or elements and their spatial
arrangement. A FIG-file contains binary data that does not need to be parsed when
he associated GUI-based M-function is executed.
• A file with extension .m, called a GUI M-file, which contains the code that
controls the GUI operation. This file includes functions that are called when the
GUI is launched and exited, and callback functions that are executed when a user
interacts with GUI objects for example, when a button is pushed. To launch
GUIDE from the MATLAB command window, type guide filename Where
filename is the name of an existing FIG-file on the current path. If filename is
omitted, GUIDE opens a new (i.e., blank) window.
The user of the GUI does not have to create a script or type commands at the
command line to accomplish the tasks. Unlike coding programs to accomplish tasks,
the user of a GUI need not understand the details of how the tasks are performed.
GUI components can include menus, toolbars, push buttons, radio buttons, list
boxes, and sliders just to name a few. GUIs created using MATLAB tools can also
perform any type of computation, read and write data files, communicate with other
GUIs, and display data as tables or as plots.
19
On a UNIX platform, to start MATLAB, type mat lab at the operating system
prompt. After starting MATLAB, the MATLAB desktop opens - see MATLAB
Desktop.
Quitting MATLAB
To end your MATLAB session, select Exit MATLAB from the File menu in the
desktop, or type quit in the Command Window. To execute specified functions each
time MATLAB quits, such as saving the workspace, you can create and run a finish.m
script.
Use the Command Window to enter variables and run functions and M-files.
Command history
Lines you enter in the Command Window are logged in the Command History
window. In the Command History, you can view previously used functions, and copy
and execute selected lines. To save the input and output from a MATLAB session to a
file, use the diary function.
You can run external programs from the MATLAB Command Window. The
exclamation point character! is a shell escape and indicates that the rest of the input
line is a command to the operating system.
This is useful for invoking utilities or running other programs without quitting
MATLAB. On Linux, for example, emacs magik.m invokes an editor called emacs for
a file named magik.m. When you quit the external program, the operating system
returns control to MATLAB.
20
Launch pad
MATLAB's Launch Pad provides easy access to tools, demos, and documentation.
Help navigator
Product filter - Set the filter to show documentation only for the products you
specify.
Contents tab - View the titles and tables of contents of documentation for your
products.
Index tab - Find specific index entries (selected keywords) in the MathWorks
documentation for your products.
Search tab - Look for a specific phrase in the documentation. To get help for a
specific function, set the Search type to Function Name.
Display pane
After finding documentation using the Help Navigator, view it in the display pane.
While viewing the documentation, you can:
Browse to other pages - Use the arrows at the tops and bottoms of the pages, or use
the back and forward buttons in the toolbar.
Find a term in the page - Type a term in the Find in page field in the toolbar and
click Go.
Other features available in the display pane are: copying information, evaluating a
selection, and viewing Web pages.
MATLAB file operations use the current directory and the search path as
reference points. Any file you want to run must either be in the current directory or on
the search path.
21
Search path
To determine how to execute functions you call, MATLAB uses a search path to
find M-files and other MATLAB-related files, which are organized in directories on
your file system. Any file you want to run in MATLAB must reside in the current
directory or in a directory that is on the search path. By default, the files supplied with
MATLAB and MathWorks toolboxes are included in the search path.
Workspace browser
The MATLAB workspace consists of the set of variables (named arrays) built up
during a MATLAB session and stored in memory. You add variables to the
workspace by using functions, running M-files, and loading saved workspaces.
To view the workspace and information about each variable, use the Workspace
browser, or use the functions who and whos.
To delete variables from the workspace, select the variable and select Delete from
the Edit menu. Alternatively, use the clear function.
The workspace is not maintained after you end the MATLAB session. To save the
workspace to a file that can be read during a later MATLAB session, select Save
Workspace As from the File menu, or use the save function. This saves the workspace
to a binary file called a MAT-file, which has a .mat extension. There are options for
saving to different formats. To read in a MAT-file, select Import Data from the File
menu, or use the load function.
Array editor
Editor/Debugger
Use the Editor/Debugger to create and debug M-files, which are programs you
write to run MATLAB functions. The Editor/Debugger provides a graphical user
interface for basic text editing, as well as for M-file debugging.
You can use any text editor to create M-files, such as Emacs, and can use
preferences (accessible from the desktop File menu) to specify that editor as the
default. If you use another editor, you can still use the MATLAB Editor/Debugger for
debugging, or you can use debugging functions, such as dbstop, which sets a
breakpoint.
22
5.3 MANIPULATING MATRICES
Entering matrices
The best way for you to get started with MATLAB is to learn how to handle
matrices. Start MATLAB and follow along with each example.
16 3 2 13
A=5 10 11 8
9 6 7 12
4 15 14 1
This exactly matches the numbers in the engraving. Once you have entered the
matrix, it is automatically remembered in the MATLAB workspace 5.4 Expressions
• Variables
• Numbers
• Operators
• Functions
23
5.4.1 Variables
MATLAB does not require any type declarations or dimension statements. When
MATLAB encounters a new variable name, it automatically creates the variable and
allocates the appropriate amount of storage. If the variable already exists, MATLAB
changes its contents and, if necessary, allocates new storage. For example,
num_students = 25
Creates a 1-by-1 matrix named num_students and stores the value 25 in its
single element. Variable names consist of a letter, followed by any number of letters,
digits, or underscores. MATLAB uses only the first 31 characters of a variable name.
MATLAB is case sensitive; it distinguishes between uppercase and lowercase letters.
A and a are not the same variable. To view the matrix assigned to any variable, simply
enter the variable name.
5.4.2 Numbers
MATLAB uses conventional decimal notation, with an optional decimal point and
leading plus or minus sign, for numbers.
3 -99 0.0001
1i -3.14159j 3e5i
All numbers are stored internally using the long format specified by the IEEE
floating-point standard. Floating-point numbers have a finite precision of roughly 16
significant decimal digits and a finite range of roughly 10-308 to 10+308.
24
5.4.3 Operators
Expressions use familiar arithmetic operators and precedence rules
+ Addition
- Subtraction
* Multiplication
/ Division
^ Power
5.4.4 Functions
MATLAB provides a large number of standard elementary mathematical functions,
including abs, sqrt, exp, and sin.
You can see the code and even modify it if you want. Several special functions
provide values of useful constants.
Pi 3.14159265...
I Same as i
Inf Infinity
NaN Not-a-number
25
CHAPTER 6
USER INTERFACE CONTROL
The Layout Editor component palette contains the user interface controls that you
can use in your GUI. These components are MATLAB control objects and are
programmable via their Callback properties. This section provides information on
these components.
➢ Push Buttons
➢ Sliders
➢ Toggle Buttons
➢ Frames
➢ Radio Buttons
➢ List boxes
➢ Checkboxes
➢ Popup Menus
➢ Edit Text
➢ Axes
➢ Static Text
➢ Figures
6.1 Push buttons
Push buttons generate an action when pressed (e.g., an OK button may close a
dialog box and apply settings). When you click down on a push button, it appears
depressed; when you release the mouse, the button's appearance returns to its
nondepressed state; and its callback executes on the button up event.
Properties to set
String - set this property to the character string you want displayed on the push
button.
Tag - GUIDE uses the Tag property to name the callback subfunction in the
application M-file. Set Tag to a descriptive name (e.g., close_button) before activating
the GUI.
When the user clicks on the push button, its callback executes. Push buttons do
not return a value or maintain a state.
26
6.2 Toggle Buttons
Toggle buttons generate an action and indicate a binary state (e.g., on or off).
When you click on a toggle button, it appears depressed and remains depressed when
you release the mouse button, at which point the callback executes.
The following code illustrates how to program the call back in the GUIDE application
M-file.
button_state = get(h,'Value');
if button_state == get(h,'Max')
end
Assign the CData property an m-by-n-by-3 array of RGB values that define a true
color image. For example, the array a defines 16-by-128 true color image using
random values between 0 and 1 (generated by rand).
a(:,:,1) = rand(16,128);
a(:,:,2) = rand(16,128);
a(:,:,3) = rand(16,128);
set(h,'CData',a)
27
Implementing mutually exclusive behavior
Radio buttons have two states - selected and not selected. You can query and set
the state of a radio button through its Value property:
To make radio buttons mutually exclusive within a group, the callback for each
radio button must set the Value property to 0 on all other radio buttons in the group.
The following subfunction, when added to the application M-file, can be called by
each radio button callback.
function mutual_exclude(off)
set(off,'Value',0)
6.4 Checkboxes
Check boxes generate an action when clicked and indicate their state as checked
or not checked. The Value property indicates the state of the check box by taking on
the value of the Max or Min property (1 and 0 respectively by default):
You can determine the current state of a check box from within its callback by
querying the state of its Value property, as illustrated in the following example:
function checkbox1_Callback(h,eventdata,handles,varargin)
if (get(h,'Value') == get(h,'Max'))
else
end
28
function edittext1_Callback (h,eventdata, handles,varargin)
user_string = get(h,'string');
MATLAB returns the value of the edit text String property as a character string. If
you want users to enter numeric values, you must convert the characters to numbers.
You can do this using the str2double command, which converts strings to doubles. If
the user enters non-numeric characters, str2double returns NaN.
You can use the following code in the edit text callback. It gets the value of the
String property and converts it to a double.
It then checks if the converted value is NaN, indicating the user entered a non-
numeric character (isnan) and displays an error dialog (errordlg).
function edittext1_Callback(h,eventdata,handles,varargin)
user_entry = str2double(get(h,'string'));
if isnan(user_entry)
end
6.7 Frames
Frames are boxes that enclose regions of a figure window. Frames can make a
user interface easier to understand by visually grouping related controls.
Frames have no callback routines associated with them and only uicontrols can
appear within frames (axes cannot).
29
Placing components on top of frames
Frames are opaque. If you add a frame after adding components that you want to
be positioned within the frame, you need to bring forward those components. Use the
Bring to Front and Send to Back operations in the Layout menu for this purpose.
The String property contains the list of strings displayed in the list box. The first
item in the list has an index of 1.
The Value property contains the index into the list of strings that correspond to the
selected item. If the user selects multiple items, then Value is a vector of indices. By
default, the first item in the list is highlighted when the list box is first displayed. If
you do not want any item highlighted, then set the Value property to empty.
The ListboxTop property defines which string in the list displays as the top most
item when the list box is not large enough to display all list entries. ListboxTop is an
index into the array of strings defined by the String property and must have a value
between 1 and the number of strings. Noninteger values are fixed to the next lowest
integer
The values of the Min and Max properties determine whether users can make
single or multiple selections:
If Max - Min > 1, then list boxes allow multiple item selection.
If Max - Min <= 1, then list boxes do not allow multiple item selection.
Selection type
List boxes differentiate between single and double clicks on an item and set the
figure Selection Type property to normal or open accordingly. See Triggering
Callback Execution for information on how to program multiple selection.
The Value property contains the index into the list of strings that correspond to the
selected item.
30
Popup menus are useful when you want to provide users with a number of
mutually exclusive choices, but do not want to take up the amount of space that a
series of radio buttons requires.
You can program the popup menu callback to work by checking only the index of
the item selected (contained in the Value property) or you can obtain the actual string
contained in the selected item.
This callback checks the index of the selected item and uses a switch statement to take
action based on the value. If the contents of the popup menu is fixed, then you can use
this approach.
val = get(h,'Value');
switch val
case 1
case 2
% etc.
This callback obtains the actual string selected in the popup menu. It uses the
value to index into the list of strings. This approach may be useful if your program
dynamically loads the contents of the popup menu based on user action and you need
to obtain the selected string. Note that it is necessary to convert the value returned by
the String property from a cell array to a string.
val = get(h,'Value');
string_list = get(h,'String');
% etc.
31
Enabling or Disabling controls
You can control whether a control responds to mouse button clicks by setting the
Enable property. Controls have three states:
off - The control is disabled and its label (set by the string property) is
grayed out.
inactive - The control is disabled, but its label is not grayed out.
When a control is disabled, clicking on it with the left mouse button does not execute
its call back routine. However, the left-click causes two other call-backs routines to
execute: First the figure Window Button Down Fcn callback executes. Then the
control's Button Down Fcn callback executes. A right mouse button click on a
disabled control posts a context menu, if one is defined for that control. See the
Enable property description for more details.
6.10 Axes
Axes enable your GUI to display graphics (e.g., graphs and images). Like all
graphics objects, axes have properties that you can set to control many aspects of its
behavior and appearance. See Axes Properties for general information on axes
objects.
Axes callbacks
Axes are not uicontrol objects, but can be programmed to execute a callback when
users click a mouse button in the axes. Use the axes ButtonDownFcn property to
define the callback.
GUIs that contain axes should ensure the Command-line accessibility option in
the Application Options dialog is set to Callback (the default). This enables you to
issue plotting commands from callbacks without explicitly specifying the target axes.
If a GUI has multiple axes, you should explicitly specify which axes you want to
target when you issue plotting commands. You can do this using the axes command
and the handles structure. For example.
32
CHAPTER 7
PROPOSED METHOD
The proposed work in this paper is about detecting and segmenting moving
objects in videos using background subtraction and segmentation algorithms. The
goal is to extract the moving objects from their background in an input image. The
method involves the following steps:
The proposed method is evaluated using different sample videos, and the
results show that it gives better results than conventional methods.
7.1 Benefits:
4. Better results: The experiment results show that the proposed method gives
better results than conventional methods.
33
7.2 Existing system
The existing work on detecting and segmenting moving objects in videos. The
existing methods include background subtraction, optical flow, and segmentation
algorithms. However, these methods have limitations such as sensitivity to noise,
missing data, and lack of a priori knowledge. The proposed method in the paper aims
to overcome these limitations and provide better results.
7.2.1 Drawbacks:
2. Missing data: Optical flow methods can miss data in regions with low
texture or when the motion is too fast.
These limitations can affect the accuracy and efficiency of the existing
methods.
34
RESULTS:
35
36
CONCLUSION
In this paper, two methods are presented for detection and segmentation of
moving objects in videos. First method is for object detection using back ground
subtraction and second method for segmentation using two approaches i.e.
thresholding and edge detection. Simulation results demonstrated that the proposed
technique can successfully extract moving objects from various sequences.
Sometimes the boundaries of the extracted object are not accurate enough to place
them in different scenes, which require a nearly perfect boundary location. The
comparison is based on the PSNR values of the sequences and shows an adequate
variation for the two methods and it is found that Background Subtraction method is
better compared to Thresholding technique.
37
SOURCE CODE:
38
39
40
REFERENCES
[1] Xiao Lijun, “Moving Object Segmentation Based on Background Subtraction and
Fuzzy Inference,” 2011 International Conference on Mechatronic Science, Electric
Engineering and Computer August 19-22, 2 011, Jilin, China.
[2] Rita Cucchiara, Costantino Grana, Massimo Piccardi , Andrea Prati, “Detecting
Moving Objects, Ghosts and Shadows in Video Streams” Massimo Piccardi is with
Department of Computer Systems, Faculty of IT, University of Technology, Sydney -
Broadway NSW 2007 – Australia
[4] Michael Teutsch and Wolfgang Kr¨uger, “Detection, Segmentation, and Tracking
of Moving Objects in UAV Videos”, 2012 IEEE Ninth International Conference on
Advanced Video and Signal-Based Surveillance.
[5] Le Sun, Ming Dai and Xiaolu Chen, “ A Simple and Fast moving object
segmentation Based on H.264 Compressed Domain Information Compressed Domain
Information,” 2012 Fourth International Conference on C omputational and
Information Sciences.
[6] Manish Khare, Swati Nigam, Rajneesh Kumar Srivastava, Ashish Khare,
“CONTOURLET TRA NSFORM BASED MOVING OBJECT SEGMENTATION”
Proceedings of 2013 IEEE Conference on Information and Communication
Technologies (ICT 2013)
41
42