售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Visual Media Processing Using MATLAB Beginner's Guide
Table of Contents
Visual Media Processing Using MATLAB Beginner's Guide
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Time for action – heading
What just happened?
Pop quiz – heading
Have a go hero – heading
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Basic Image Manipulations
Getting acquainted with the MATLAB environment
Default subwindows of the environment
The Command Window
The Current Folder window
The Details window
The Workspace window
The ribbon
The HOME tab
The PLOTS tab
The APPS tab
The editor
The EDITOR window
Importing and displaying an image
Importing and displaying an image using the command line
Time for action – importing and displaying an image
What just happened?
Importing and displaying an image using imtool
Time for action – using imtool to extract useful information
What just happened?
Applying geometric transformations
Performing image rotation
Time for action – rotating an image and displaying the result
What just happened?
Performing image mirroring
Time for action – mirroring an image and displaying the result
What just happened?
Have a go hero – using flipdim and comparing the results
Resizing an image
Cropping an image
Saving an image
Time for action – cropping and resizing an image, then saving it as BMP
What just happened?
Have a go hero – tailoring an image to suit your needs
Pop quiz – image processing in MATLAB
Summary
2. Working with Pixels In Grayscale Images
Accessing image pixels and changing their values
Changing the pixel values of a square area using loops
Changing the pixel values of a square area using indexing
Writing and using scripts
Time for action – whiten an area and blacken another
What just happened?
Thresholding an image
Image thresholding using for loops
Image thresholding using indexing
Image thresholding using im2bw
Image thresholding using an automatic threshold
Calculating and displaying histograms with imhist
Histogram equalization for contrast enhancement
Contrasting enhancement using imadjust
Contrasting enhancement using imcontrast
Adaptive histogram equalization using adapthisteq
Custom functions for complex tasks
Time for action – using imtool to pinpoint differences
What just happened?
Have a go hero – writing a function to enhance an image area
Restoring old photographs
Time for action – restoring your ancestors' photographs
What just happened?
Pop quiz – contrasting enhancement methods
Summary
3. Morphological Operations and Object Analysis
The importance of binary images
Time for action – understanding the value of thresholding
What just happened?
Enlarging and shrinking a region of interest
Time for action – using dilation and erosion to refine ROIs
What just happened?
Choosing a structuring element
Using strel to generate structuring elements
Altering structuring elements from strel to suit our needs
Time for action – ROI refinement using strel
What just happened?
Have a go hero – write a function to for local dilation/erosion
More morphological operations
Manually defining a non-rectangular ROI
Using roipoly to make a mask
Using imfreehand to make a mask
Time for action – making a custom object eraser function
What just happened?
Analyzing objects in an image
Detecting edges in an image
Detecting corners in an image
Detecting circles in an image
Pop quiz – object analysis pros and cons
Summary
4. Working with Color Images
An introduction to color image processing
Basic color image manipulations
Setting a rectangular area to a specified color
Time for action – repainting two areas in a color image
What just happened?
Thresholding color images
Time for action – isolating the red pixels in an image
What just happened?
Achieving color masking
Time for action – color isolation
What just happened?
The importance of different color spaces
Time for action – color space transformation
What just happened?
CIE-L*a*b* for more efficient color masking
Time for action – color isolation using CIE-L*a*b*
What just happened?
Have a go hero – writing a function for region color isolation
Fixing illumination issues in RGB color images
Fixing illumination issues in CIE-L*a*b*
A practical example – red eye reduction
Time for action – writing a function for red eye reduction
What just happened?
Taking advantage of eye circularity
Time for action – automating our function for red eye reduction
What just happened?
Pop quiz – working with color
Summary
5. 2-Dimensional Image Filtering
An introduction to image filtering
Processing neighborhoods of pixels
The basics of convolution
The ugly mathematical truth
Time for action – applying averaging filters in images
What just happened?
Alternatives to convolution
Using imfilter
Creating filters with fspecial
Different ways to blur an image
Time for action – how much blurring is enough
What just happened?
Time to make art using blurring
Time for action – creating the bokeh effect in an image
What just happened?
Have a go hero – add a motion effect in your image
Removing noise using blurring
Time for action – trying to remove different types of noise
What just happened?
The importance of the median filter
Time for action – removing salt & pepper with medfilt2
What just happened?
Have a go hero – denoising real images
Bringing back the details
Time for action – enhancing the edges in our images
What just happened?
Brighten up the lights
Time for action – brighten up the lights in our soldier picture
Pop quiz – image filtering in 2-dimensions
Summary
6. Mixing Images for Science or Art
The importance of mixing or combining images
Using multispectral imaging
Loading and manipulating the multispectral images
Time for action – visible spectrum from a multiband image of Rio
What just happened?
Time for action – working with invisible spectrums
What just happened?
Creating composite images
Using imfuse to create a composite image
Using imshowpair to inspect a composite image
Time for action – cloning the seagull
What just happened?
Have a go hero – playing Warhol with your pictures
One step beyond – blending selected image regions
Time for action – directing a threatening scene
What just happened?
Creating High Dynamic Range images
Time for action – composing your own HDR images
What just happened?
Stitching images for the creation of panoramas
Time for action – basic approach to panorama stitching
What just happened?
Pop quiz – image mixing details
Summary
7. Adding Motion – From Static Images to Digital Videos
An introduction to digital videos
The meaning of frames
Interlaced versus progressive
Frame rates and their importance
Calculating number of frames
Some thoughts on choosing frame rates
Loading videos in MATLAB
Loading videos with aviread
Loading videos with mmreader
Loading videos with VideoReader
Choosing which function to use for video reading
Playing back videos in MATLAB
Time for action – reading and playing back a video
What just happened?
Making videos from static images
Time for action – constructing and saving a video
What just happened?
Have a go hero – make a video with a fade in/fade out effect
Inspecting a video using montage
Time for action – don't wait for the ball
What just happened?
A tool just for your playback needs – implay
Using the GUI of implay
Using implay to play a video file
Using implay to play an image sequence
Creating time-lapse videos
Time for action – time-lapsing a regular video
What just happened?
Have a go hero – spinning our time-lapse
Saving your time-lapse videos in a gif file
Pop quiz – image filtering in 2-dimensions
Summary
8. Acquiring and Processing Videos
Using MATLAB for digital video recording
The Hardware Browser window
The Information window
The Desktop Help window
The Preview window
The Acquisition Parameters window
The General tab
The Device Properties tab
The Logging tab
The Triggering tab
The Region of Interest tab
The Session Log window
Time for action – capturing a video using a firewire connection
What just happened?
Have a go hero – adding a trigger to our recording
The importance of video compression
Checking the size of an uncompressed video
Checking the size of an MP4 video without any motion
Checking the size of an MP4 video with high motion
Working with uncompressed videos
Working with large videos in postproduction
Time for action – making an edge detection video
What just happened?
Have a go hero – getting the last chunk of frames processed
Pop quiz – what is the problem with our function?
Acquiring frames for time-lapse videos
Detecting your acquisition hardware
Creating a video object and acquiring a frame
Time for action – using MATLAB as an intervalometer
What just happened?
Have a go hero – creating a time-lapse creation function
Real-time processing of time-lapse videos
Time for action – creating time-lapses with isolated colors
What just happened?
Real-time processing of normal videos
Evaluating real-time capabilities with a simple example
Time for action – adjusting the contrast of the video
What just happened?
Revisiting the contrast adjustment example
Time for action – adding preview in our code
What just happened?
Have a go hero – doubling the speed of our code
Pop quiz – acquiring and processing videos
Summary
9. Spatiotemporal Video Processing
Basic video processing with MATLAB
Cropping and resizing our video
Time for action – loading, cropping, resizing, and saving a video
What just happened?
Have a go hero – adding rotation and more error-checking
Filtering your video frames
Time for action – reducing the blocking effect
What just happened?
Deinterlacing videos in MATLAB
Intra-frame filtering for deinterlacing tasks
Deinterlacing with the Computer Vision System Toolbox
Time for action – deinterlacing a video using the vision toolbox
What just happened?
Have a go hero – comparing the deinterlacing methods
Deinterlacing with the custom functions
Time for action – deinterlacing with line repetition
What just happened?
Time for action – deinterlacing with the scan line interpolation
What just happened?
Have a go hero – comparing the deinterlacing methods
Inter-frame filtering for the deinterlacing tasks
Temporal deinterlacing by field merging
Time for action – deinterlacing with field merging
What just happened?
Have a go hero – evaluating the field merge method
Temporal deinterlacing by field averaging
Time for action – deinterlacing with field averaging
What just happened?
Mixing intra-frame and inter-frame deinterlacing
Vertical and temporal interpolation for deinterlacing
Time for action – vertical and temporal interpolation method
What just happened?
Have a go hero – Comparing deinterlacing techniques
Adding a new dimension to the filters
Spatiotemporal averaging filter
Time for action – implementing a spatiotemporal averaging filter
What just happened?
Have a go hero – creating a spatiotemporal median filter
Using convolution for spatiotemporal averaging
Time for action – spatiotemporal averaging filter with the convn function
What just happened?
Pop quiz – videos and filters
Summary
10. From Beginner to Expert – Handling Motion and 3-D
Detecting and estimating motion in videos
Detecting motion
Time for action – detecting a moving object in a still scene
What just happened?
Time for action – detecting motion in a complex scene
What just happened?
Have a go hero – making your own surveillance system
Estimating the motion
Estimating motion using optical flow
Time for action – tracking people with Horn-Schunck optical flow
What just happened?
Have a go hero – estimating optical flow using Lucas-Kanade
Time for action – warping frames using optical flow
What just happened?
Have a go hero – making your own surveillance system
Compensating camera motion using feature tracking
Time for action – tracking feature points for motion compensation of a shaky video
What just happened?
Have a go hero – tweaking the settings of the stabilization demo
Working with stereoscopic images
Time for action – creating a 3-D video from left and right videos
What just happened?
Time for action – creating a 3-D video from a regular one
What just happened?
Have a go hero – writing a function for 3-D video creation
Pop quiz –working with video frames
Summary
A. Pop Quiz Answers
Chapter 1, Basic Image Manupulation
Pop quiz – image processing in Matlab
Chapter 2, Working with Pixels in Grayscale Images
Pop quiz – contrasting enhancement methods
Chapter 3, Morphological Operations and Object Analysis
Pop quiz – object analysis pros and cons
Chapter 4, Working with Color Images
Pop quiz – working with color
Chapter 5, 2-Dimensional Image Filtering
Pop quiz – image filtering in 2-dimensions
Chapter 6, Mixing Images for Science or Art
Pop quiz – image mixing details
Chapter 7, Adding Motion – From Static Images to Digital Videos
Pop quiz – image filtering in 2-dimensions
Chapter 8, Acquiring and Processing Videos
Pop quiz – what is the problem with our function?
Pop quiz – acquiring and processing videos
Chapter 9, Spatiotemporal Video Processing
Pop quiz – videos and filters
Chapter 10, From Beginner to Expert – Handling Motion and 3-D
Pop quiz – working with video frames
Index
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜