vision_matlab

vision_matlab


DisciplinaPrincipios de Visao Computacional1 materiais55 seguidores
Pré-visualização41 páginas
Release 3.4
Release date January 2015
Licence LGPL
Toolbox home page http://www.petercorke.com/robot
Discussion group http://groups.google.com.au/group/robotics-tool-box
Copyright c©2015 Peter Corke
peter.i.corke@gmail.com
http://www.petercorke.com
3
Preface
Peter C0rke
The practice of robotics and computer vision 
each involve the application of computational algo-
rithms to data. The research community has devel-
oped a very large body of algorithms but for a
newcomer to the field this can be quite daunting.
For more than 10 years the author has maintained two open-
source matlab® Toolboxes, one for robotics and one for vision.
They provide implementations of many important algorithms and
allow users to work with real problems, not just trivial examples.
This new book makes the fundamental algorithms of robotics,
vision and control accessible to all. It weaves together theory, algo-
rithms and examples in a narrative that covers robotics and com-
puter vision separately and together. Using the latest versions
of the Toolboxes the author shows how complex problems can be
decomposed and solved using just a few simple lines of code.
The topics covered are guided by real problems observed by the
author over many years as a practitioner of both robotics and
computer vision. It is written in a light but informative style, it is
easy to read and absorb, and includes over 1000 matlab® and
Simulink® examples and figures. The book is a real walk through
the fundamentals of mobile robots, navigation, localization, arm-
robot kinematics, dynamics and joint level control, then camera
models, image processing, feature extraction and multi-view
geometry, and finally bringing it all together with an extensive
discussion of visual servo systems.
Peter Corke
Robotics,
 Vision
 and
 Control
Robotics, Vision and Control
isbn 978-3-642-20143-1
1
\u203a springer.com
123
Corke
FUNDAMENTAL
ALGORITHMS
IN MATL AB®
783642 2014319
Robotics,
 Vision
 and
 Control
This, the third release of the Toolbox, represents a
decade of development. The last release was in 2005
and this version captures a large number of changes
over that period but with extensive work over the
last two years to support my new book \u201cRobotics,
Vision & Control\u201d shown to the left.
The Machine Vision Toolbox (MVTB) provides
many functions that are useful in machine vision
and vision-based control. It is a somewhat eclec-
tic collection reflecting my personal interest in areas
of photometry, photogrammetry, colorimetry. It in-
cludes over 100 functions spanning operations such
as image file reading and writing, acquisition, dis-
play, filtering, blob, point and line feature extrac-
tion, mathematical morphology, homographies, vi-
sual Jacobians, camera calibration and color space conversion. The Toolbox, combined
with MATLAB
R©
and a modern workstation computer, is a useful and convenient en-
vironment for investigation of machine vision algorithms. For modest image sizes the
processing rate can be sufficiently \u201creal-time\u201d to allow for closed-loop control. Fo-
cus of attention methods such as dynamic windowing (not provided) can be used to
increase the processing rate. With input from a firewire or web camera (support pro-
vided) and output to a robot (not provided) it would be possible to implement a visual
servo system entirely in MATLAB
R©
.
An image is usually treated as a rectangular array of scalar values representing inten-
sity or perhaps range. The matrix is the natural datatype for MATLAB
R©
and thus
makes the manipulation of images easily expressible in terms of arithmetic statements
in MATLAB
R©
language. Many image operations such as thresholding, filtering and
statistics can be achieved with existing MATLAB
R©
functions. The Toolbox extends
this core functionality with M-files that implement functions and classes, and mex-files
for some compute intensive operations. It is possible to use mex-files to interface with
image acquisition hardware ranging from simple framegrabbers to robots. Examples
for firewire cameras under Linux are provided.
The routines are written in a straightforward manner which allows for easy under-
standing. MATLAB
R©
vectorization has been used as much as possible to improve
efficiency, however some algorithms are not amenable to vectorization. If you have the
Machine Vision Toolbox for MATLAB
R©
4 Copyright c©Peter Corke 2015
MATLAB
R©
compiler available then this can be used to compile bottleneck functions.
Some particularly compute intensive functions are provided as mex-files and may need
to be compiled for the particular platform. This toolbox considers images generally
as arrays of double precision numbers. This is extravagant on storage, though this is
much less significant today than it was in the past.
This toolbox is not a clone of the Mathwork\u2019s own Image Processing Toolbox (IPT)
although there are many functions in common. This toolbox predated IPT by many
years, is open-source, contains many functions that are useful for image feature extrac-
tion and control. It was developed under Unix and Linux systems and some functions
rely on tools and utilities that exist only in that environment.
The manual is now auto-generated from the comments in the MATLAB
R©
code itself
which reduces the effort in maintaining code and a separate manual as I used to \u2014 the
downside is that there are no worked examples and figures in the manual. However
the book \u201cRobotics, Vision & Control\u201d provides a detailed discussion (over 600 pages,
nearly 400 figures and 1000 code examples) of how to use the Toolbox functions to
solve many types of problems in robotics and machine vision.
Machine Vision Toolbox for MATLAB
R©
5 Copyright c©Peter Corke 2015
Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Functions by category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1 Introduction 15
1.1 What\u2019s changed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.1.1 New features and changes to MVTB 3.4 . . . . . . . . . . . . 15
1.2 How to obtain the Toolbox . . . . . . . . . . . . . . . . . . . . . . . 16
1.2.1 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3 MATLAB version issues . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4 Use in teaching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5 Use in research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.6 Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.6.1 Related software . . . . . . . . . . . . . . . . . . . . . . . . 18
1.7 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2 Functions and classes 19
about . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
anaglyph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
angdiff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Animate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
AxisWebCamera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
BagOfWords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
blackbody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
boundmatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
bresenham . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
camcald . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
CatadioptricCamera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
ccdresponse . . . . .