Documente Academic
Documente Profesional
Documente Cultură
SOFTWARE OVERVIEW
Key Features
• Fourier analysis
• Sparse matrices
MATLAB provides tools to acquire, analyze, and visualize data, enabling you to
gain insight into your data in a fraction of the time it would take using
spreadsheets or traditional programming languages. You can also document and
share your results through plots and reports or as published MATLAB code.
Acquiring Data
MATLAB lets you access data from files, other applications, databases, and
external devices. You can read data from popular file formats such as Microsoft
Excel; text or binary files; image, sound, and video files; and scientific files such
as net CDF and HDF. File I/O functions let you work with data files in any format.
Using MATLAB with add-on products, you can acquire data from hardware
devices, such as your computer’s serial port or sound card, as well as stream live,
measured data directly into MATLAB for analysis and visualization. You can
also communicate with instruments such as oscilloscopes, function generators,
and signal analyzers.
Analyzing Data
MATLAB lets you manage, filter, and pre-process your data. You can perform
exploratory data analysis to uncover trends, test assumptions, and build
descriptive models. MATLAB provides functions for filtering and smoothing,
interpolation, convolution, and fast Fourier transforms (FFTs). Add-on products
provide capabilities for curve and surface fitting, multivariate statistics, spectral
analysis, image analysis, system identification, and other analysis tasks.
Visualizing Data
MATLAB provides built-in 2-D and 3-D plotting functions, as well as volume
visualization functions. You can use these functions to visualize and understand
data and communicate results. Plots can be customized either interactively or
programmatically. The MATLAB plot gallery provides examples of many ways
to display data graphically in MATLAB. For each example, you can view and
download source code to use in your MATLAB application.
You can share results as plots or complete reports. MATLAB plots can be
customized to meet publication specifications and saved to common graphical
and data file formats. You can automatically generate a report when you execute
a MATLAB program. The report contains your code, comments, and program
results, including plots. Reports can be published in a variety of formats, such as
HTML, PDF, Word, or Latex.
MATLAB provides a high-level language and development tools that let you
quickly develop and analyze algorithms and applications.
The MATLAB language provides native support for the vector and matrix
operations that are fundamental to solving engineering and scientific problems,
enabling fast development and execution. With the MATLAB language, you can
write programs and develop algorithms faster than with traditional languages
because you do not need to perform low-level administrative tasks such as
declaring variables, specifying data types, and allocating memory. In many cases,
the support for vector and matrix operations eliminates the need for for-loops. As
a result, one line of MATLAB code can often replace several lines of C or C++
code. MATLAB provides features of traditional programming languages,
including f low control, error handling, and object-oriented programming (OOP).
You can use fundamental data types or advanced data structures, or you can
define custom data types. You can produce immediate results by interactively
executing commands one at a time. This approach lets you quickly explore
multiple options and iterate to an optimal solution. You can capture interactive
steps as scripts and functions to reuse and automate your work. MATLAB add-
on products provide built-in algorithms for signal processing and
communications, image and video processing, control systems, and many other
domains. By combining these algorithms with your own, you can build complex
programs and applications.
Development Tools
Command Window –Lets you interactively enter data, execute commands and
programs, and display results
Additional tools compare code and data files, and provide reports showing file
dependencies, annotated reminders, and code coverage.
You can integrate MATLAB applications with those written in other languages.
From MATLAB, you can directly call code written in C, C++, Java, and .NET.
Using the MATLAB engine library, you can call MATLAB code from C, C++,
or FORTRAN applications.
Performance
Image Acquisition
Image Acquisition Toolbox™ enables you to acquire images and video from
cameras and frame grabbers directly into MATLAB and SIMULINK. You can
detect hardware automatically and configure hardware properties. Advanced
workflows let you trigger acquisition while processing in-the-loop, perform
background acquisition, and synchronize sampling across several multimodal
devices. With support for multiple hardware vendors and industry standards, you
can use imaging devices ranging from inexpensive Web cameras to high-end
scientific and industrial devices that meet low-light, high-speed, and other
challenging requirements.
Key features
Support for industry standards, including DCAM, Camera Link, and GigE
Vision
Support for common OS interfaces for webcams, including Direct Show,
QuickTime, and video4linux2
Support for a range of industrial and scientific hardware vendors
Multiple acquisition modes and buffer management options
Synchronization of multimodal acquisition devices with hardware
triggering
Image Acquisition app for rapid hardware configuration, image
acquisition, and live video previewing
Support for C code generation in Simulink
The Image Acquisition app enables you to work with image and video acquisition
devices and is well suited for interactive configuration of cameras. You can
browse all hardware devices available on your computer, change device settings,
select a region of interest (ROI), preview an acquisition, acquire images and
video, and record data. A preview window helps verify and optimize your
acquisition parameters by automatically reflecting any adjustments made to
camera properties in the video stream. The Image Acquisition app serves as a
starting point in the development of automated and custom image acquisition and
processing systems.
Session Logging
Session logging lets you track actions performed in the tool with a history of
command-line equivalent functions. In situations that require the same
configuration and control process for multiple trials and experiments, the session
log provides the ability to load settings to a common point and export the code to
a programmatic interface in MATLAB for further automation.
You can log data to disk, memory, or both simultaneously with the Image
Acquisition app or programmatically at the MATLAB command line. You can
set a limit on memory usage to prevent overuse of resources in memory-intensive
applications. Data acquired with the tool can also be exported directly to the
Image Viewer app in Image Processing Toolbox for greater control over
visualization. In addition, you can:
Data can be acquired in a wide range of data types, including signed or unsigned
8-, 16-, and 32-bit integers and single- or double-precision floating point. The
toolbox supports any color space provided by the image acquisition device
including RGB, YUV, or gray scale. Raw sensor data in a Bayer pattern can be
automatically converted into RGB data.
Image processing is a form of signal processing, which uses image as input and
output. Generally, an image can be of two or three dimensional array. In
MATLAB, this array or matrix is manipulated. The picture shown below defines
you the several stages of image processing in MATLAB.
An image acquisition device can be a video camera, which is used for capturing
images. The image captured either with the help of digital or analogue cameras
can be used as the input. Most importantly, these cameras should be capable of
delivering images at different resolutions.
Digital cameras like CCD or CMOS sensor are those which have the direct
connection with the PC using USB port. Meanwhile, analogue cameras require a
grabbing card for connecting with PC. In MATLAB, Augmented Reality is
currently used for capturing the live video streams of the real world. It is directly
interfaced with the PC (Image Processor), and MATLAB uses inbuilt software
called adaptors for accessing or communicating with this device.
Image analysis can be done by extracting some of the functional details from the
captured images. Therefore, if there is a requirement for identifying an object,
then several robust characteristics of an object like color, pattern, edges, intensity,
and structure must be noted.
The final stage of image processing is the machine control in which a robot is
controlled according to the details obtained from image analysis. For example, if
a robot needs to identify a ball, it captures images in front of it, sends it to PC,
and analyses it with the MATLAB program. If the image input and program
output are satisfied, then it detects it as a ball. Otherwise, it goes on searching for
a ball by this method.
Key Features
There are several ways to import and export images into and out of the MATLAB
environment for processing. You can use Image Acquisition Toolbox to acquire
live images from Web cameras, frame grabbers, DCAM cameras, GigE Vision
cameras, and other devices. Using Database Toolbox, you can access images
stored in ODBC-compliant or JDBC-compliant databases.
MATLAB supports standard data and image formats, including JPEG, JPEG-
2000, TIFF, PNG, HDF, HDF-EOS, FITS, Microsoft® Excel®, ASCII, and binary
files. It also supports the multiband image formats BIP and BIL, as used by
LANDSAT. Low-level I/O and memory mapping functions enable you to
develop custom routines for working with any data format.
Image Enhancement
Image Transform
Image transforms such as FFT and DCT play a critical role in many image
processing tasks, including image enhancement, analysis, restoration, and
compression. Image Processing Toolbox provides several image transforms,
including Radon and fan-beam projections. You can reconstruct images from
parallel-beam and fan-beam projection data (common in tomography
applications). Image transforms are also available in MATLAB and Wavelet
Toolbox™.
Image Conversion
Image conversions between data classes and image types are a common
requirement for imaging applications. Image Processing Toolbox provides a
variety of utilities for conversion between data classes, including single- and
double-precision floating-point and signed or unsigned 8-, 16-, and 32-bit
integers. The toolbox includes algorithms for conversion between image types,
including binary, gray scale, indexed color, and true color. Specifically for color
images, the toolbox supports a variety of color spaces (such as YIQ, HSV, and
YCrCb) as well as Bayer pattern encoded and high dynamic range images.
Neural Network Toolbox™ provides functions and apps for modelling complex
nonlinear systems that are not easily modelled with a closed-form equation.
Neural Network Toolbox supports supervised learning with feed forward, radial
basis, and dynamic networks. It also supports unsupervised learning with self-
organizing maps and competitive layers. With the toolbox you can design, train,
visualize, and simulate neural networks. You can use Neural Network Toolbox
for applications such as data fitting, pattern recognition, clustering, time-series
prediction, and dynamic system modelling and control.
To speed up training and handle large data sets, you can distribute computations
and data across multicore processors, GPUs, and computer clusters using Parallel
Computing Toolbox™.
Key Features
Network Architectures
Supervised Networks
Feed forward networks have one-way connections from input to output layers.
They are most commonly used for prediction, pattern recognition, and nonlinear
function fitting. Supported feed forward networks include feed forward back
propagation, cascade-forward back propagation, feed forward input-delay back
propagation, linear, and perception networks.
A two-layer feed forward network with sigmoid hidden neurons and linear output
neurons. This type of network can fit multidimensional mapping problems
arbitrarily well, given consistent data and enough neurons in its hidden layer.
Unsupervised Networks
Competitive layers recognize and group similar input vectors, enabling them to
automatically sort inputs into categories. Competitive layers are commonly used
for classification and pattern recognition.