Beruflich Dokumente
Kultur Dokumente
Fundamentals of
Computer Vision
CHAPTER OUTLINE
INTRODUCTION TO COMPUTER VISION
DIGITAL IMAGE ACQUISITION
FILTERING
DETECTION AND SEGMENTATION
FEATURE EXTRACTION
HIGH-LEVEL PROCESSING AND DECISION MAKING
COMPUTER VISION SOFTWARE PACKAGE
Chapter Objectives
At the end of the chapter, the
student should be able to:
understand the basic concepts of
computer vision;
write computer vision algorithms;
apply computer vision techniques
in solving engineering problems;
and
familiarize with computer vision
software package.
2
I. INTRODUCTION TO COMPUTER VISION
Human Vision
Human vision is
composed of seeing
and perceiving.
Thru the cones and
rods of the eye, image
data is transmitted to
the visual cortex of
the brain thru the optic
chasm at a rate of at
least 10 mbps for
interpretation.
I. INTRODUCTION TO COMPUTER VISION
Fundamental Procedures
1. Digital Image Acquisition using one or multiple image
capturing devices.
2. Image Filtering using noise reduction and image
enhancement.
3. Detection/Segmentation to limit the area for analysis.
4. Feature Extraction by detecting lines, edges and
borders.
5. High-level processing which involves object
recognition.
6. Decision Making based on the gathered data.
II. DIGITAL IMAGE ACQUISITION
intHeight = bm.Height
intWidth = bm.Width
SEGMENTATION
Segmentation is the
determination of the limits of
objects appearing in digital
images.
Thresholding is an approximate
method of segmentation by
separating the dark and light
regions of an image; i.e.,
identifying dark objects on a
light background (or vice versa)
IV. DETECTION/SEGMENTATION
Threshold Value
Threshold value is the color
value which separates the desired
object from the all objects in the
image.
It can be expressed in RGB,
hexadecimal value or any color in
the specific color space.
Decision structures (mostly if-then)
nested with repetion structures
(mostly for-next) are used To
perform image thresholding.
IV. DETECTION/SEGMENTATION
Example:
The program on
the right is a basic
image thresholding
software written in
Visual BASIC 2010.
IV. DETECTION/SEGMENTATION
Example (cont.):
IV. DETECTION/SEGMENTATION
Binary Image
In threholding, Binary images,
which use only a single bit (on or
off) to represent each pixel, are
used to represent the coordinates
of desired and undesired object
pixel.
Since a bit can only exist in two
states, every pixel in a binary
image must be one of two colors,
usually black and white.
IV. DETECTION/SEGMENTATION
Bitmap.SetPixel Method
Example:
V. DETECTION/SEGMENTATION
Advance Detection/Segmentation
Feature Extraction
Feature extraction is the
determination of geometric
features (such as area, border,
corners, centroid) and texture
of an object in a digital
image.
These information will then be
used for high-level processing
such further image
manipulation or AI application
for recognition and object
tracking.
V. FEATURE EXTRACTION
High-level Processing
High-level processing involves both extended
manipulation of a binary image to further
isolate the objects which will be analyzed
and application of artificial intelligence to
analyze the data from feature extraction.
Some high-level processing are as follows:
1. Resizing binary images thru size filtering
2. Object labeling and counting
3. Pattern Matching
4. Color Analysis
VI. HIGH-LEVEL PROCESSING AND DECISION MAKING
Decision Making
For recognition and prediction
applications, CV algorithms
may be extended thru the
creation of artificial
intelligence.
Artificial intelligence is the
capacity of a machine to
make pre-defined inferences
and decisions thru program
algorithm.
VII. COMPUTER VISION SOFTWARE PACKAGES
OpenCV
OpenCV (Open Source Computer
Vision) is a library of programming
functions mainly aimed at real-time
computer vision.
The libraries are added as
references or toolbox to
programming languages such as
C++, BASIC, and Matlab to provide
pre-programmed procedures for CV
applications.
OpenCV is released under a BSD
license and hence its free for both
academic and commercial use.
VII. COMPUTER VISION SOFTWARE PACKAGES
emgu CV
Emgu CV is a cross platform .Net
wrapper (adapter) to the
OpenCV image processing
library.
Allowing OpenCV functions to be
called from .NET compatible
languages such as C#, VB, VC++,
IronPython etc.
The wrapper can be compiled in
Mono and run on Windows, Linux,
Mac OS X, iPhone, iPad and
Android devices.
SUMMARY