Download presentation
Presentation is loading. Please wait.
Published byEdwina Booth Modified over 9 years ago
1
Computer Vision Chapter 1 Introduction
2
The goal of computer vision is to make useful decisions about real physical objects and scenes based on sensed images.
3
Applications areas Industrial inspection Medical imaging Image database and query Satellite & surveillance imagery Entertainment Handwriting and printed character recognition
4
Image dimensionality 1D – audio (sound) 2D – digital camera picture, chest x-ray, ultrasound 3D –Video sequence of 2D images –Multispectral 2D images –Volumetric medical imagery (CT, MRI) 4D –PET-CT –MRI
5
Image types Binary Grayscale Color Multispectral
6
Operations on images Neighborhood (local) operations Enhancing the entire image Combining multiple images –Ex. Differences, noise reduction, blending Feature extraction –Ex. Area, centroid (center of mass), orientation, lines –invariants
7
Extracting features
8
Example features
9
General hardware discussion General purpose vs. special purpose (DSP, GPU) Uniprocessors vs. parallel processors (COWs, multiprocessors) Sensors (discussed later)
10
General software discussion Java vs. C++ –use JBuilder, Visual C++, or other professional IDE (not Ready) –JImageViewer and ImageViewer starter apps doxygen or JavaDoc for code documentation Code format Java audio (1D mono and stereo) start app
11
Getting started with doxygen Download from doxy Download from doxygen.org Do this only once in directory (folder) containing your source code: doxygen –g This creates a doxygen configuration file called Doxyfile which you may edit to change default options. Edit Doxyfile and make sure all EXTRACTs are YES Then whenever you change your code and wish to update the documentation: doxygen which updates all documentation in html subdirectory
12
Getting started with doxygen //---------------------------------------------------------------------- /** \brief JImageViewer class. * * Longer description goes here. */ public class JImageViewer extends JFrame implements ActionListener {.
13
Getting started with doxygen //---------------------------------------------------------------------- /** \brief Main application entry point. * * \param args Each image file name in args will cause that image * to be displayed in a window. */ public static void main ( String[] args ) { if (args.length==0) { new JImageViewer(); } else { for (int i = 0; i < args.length; i++) new JImageViewer(args[i]); }
14
doxygen //---------------------------------------------------------------------- int mW; ///< image width int mH; ///< image height int mMin; ///< min image value int mMax; ///< max image value int[] mImage; ///< actual image data //----------------------------------------------------------------------
18
The good, the bad, and the ugly. Success is usually hard won! Problems: –Matching models to reality –Lighting variation –Sensor noise –Occlusion & rotation/translation/scale –Limited resolution An image is a discrete model of an underlying continuous function Spatial discretization Sensed values quantization –Levels of detail (LOD)
19
Example application: counting bolt holes Missing bolt hole is a very costly defect during assembly.
20
Counting bolt holes Pixel = ? Dark = 1 = no light = no hole Light = 0 = light = part of hole Hole = (ext - int) / 4 External corner = 2x2 neighborhood of exactly 3-1’s (and 1-0) Internal corner = exactly 3-0’s
21
Counting bolt holes External corner = 2x2 neighborhood of exactly 3-1’s (and 1-0) Internal corner = exactly 3-0’s How many possible combinations?
22
Counting bolt holes Ex. 3 objects row 0 (y’s) column 5 (x’s) (x,y)=(c,r)=(0,0) [r][c]=[0][0] (x,y)=(c,r)=(Cols-1,Rows-1) [r][c]=[Rows-1][Cols-1] adjacent in memory (in C++)
23
Algorithm for counting holes in a binary image Input: a binary image, M, of R rows and C cols (indexed as M[r][c]) Output: number of holes M contains int external=0, internal=0; for (int r=0; r<R-1; r++) { for (int c=0; c<C-1; c++) { if (isExternal(M,r,c)) external++; else if (isInternal(M,r,c)) internal++; }} return (external-internal)/4;
24
Hole counting assumptions All image border pixels must be 1s. Each region of 0s (holes) must be 4- connected. Holes must also be simply connected (not contain any object).
25
Counting bolt holes Ex. 3 objects –External –Internal
26
Problems for discussion Ex. 1.5 First part of 1.6 1.9, 1.11, 1.12, 1.14
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.