舉報

會員
Mastering OpenCV 4 with Python
OpenCVisconsideredtobeoneofthebestopensourcecomputervisionandmachinelearningsoftwarelibraries.Ithelpsdevelopersbuildcompleteprojectsinrelationtoimageprocessing,motiondetection,orimagesegmentation,amongmanyothers.OpenCVforPythonenablesyoutoruncomputervisionalgorithmssmoothlyinrealtime,combiningthebestoftheOpenCVC++APIandthePythonlanguage.Inthisbook,you'llgetstartedbysettingupOpenCVanddelvingintothekeyconceptsofcomputervision.You'llthenproceedtostudymoreadvancedconceptsanddiscoverthefullpotentialofOpenCV.ThebookwillalsointroduceyoutothecreationofadvancedapplicationsusingPythonandOpenCV,enablingyoutodevelopapplicationsthatincludefacialrecognition,targettracking,oraugmentedreality.Next,you'lllearnmachinelearningtechniquesandconcepts,understandhowtoapplytheminreal-worldexamples,andalsoexploretheirbenefits,includingreal-timedataproductionandfasterdataprocessing.You'llalsodiscoverhowtotranslatethefunctionalityprovidedbyOpenCVintooptimizedapplicationcodeprojectsusingPythonbindings.Towardtheconcludingchapters,you'llexploretheapplicationofartificialintelligenceanddeeplearningtechniquesusingthepopularPythonlibrariesTensorFlow,andKeras.Bytheendofthisbook,you'llbeabletodevelopadvancedcomputervisionapplicationstomeetyourcustomers'demands.
最新章節
- Leave a review - let other readers know what you think
- Other Books You May Enjoy
- Chapter 13
- Chapter 12
- Chapter 11
- Chapter 10
品牌:中圖公司
上架時間:2021-07-02 11:57:02
出版社:Packt Publishing
本書數字版權由中圖公司提供,并由其授權上海閱文信息技術有限公司制作發行
- Leave a review - let other readers know what you think 更新時間:2021-07-02 12:08:14
- Other Books You May Enjoy
- Chapter 13
- Chapter 12
- Chapter 11
- Chapter 10
- Chapter 9
- Chapter 8
- Chapter 7
- Chapter 6
- Chapter 5
- Chapter 4
- Chapter 3
- Chapter 2
- Chapter 1
- Assessments
- Further reading
- Questions
- Summary
- Deploying a Flask application to the cloud
- Deep learning REST API using Keras Applications
- Keras applications
- Deep learning API using Keras and Flask
- Deep learning cat detection API using OpenCV
- Minimal face API using OpenCV
- A minimal example to introduce OpenCV and Flask
- Web computer vision applications using OpenCV and Flask
- Introduction to Flask
- Introduction to Python web frameworks
- Installing the packages
- Technical requirements
- Mobile and Web Computer Vision with Python and OpenCV
- Section 4: Mobile and Web Computer Vision
- Further reading
- Questions
- Summary
- Handwritten digit recognition in Keras
- Linear regression in Keras
- The Keras library
- Handwritten digits recognition using TensorFlow
- Linear regression in TensorFlow
- Introduction example to TensorFlow
- The TensorFlow library
- YOLO for object detection
- MobileNet-SSD for object detection
- OpenCV deep learning object detection
- SqueezeNet for image classification
- ResNet for image classification
- GoogLeNet for image classification
- AlexNet for image classification
- OpenCV deep learning classification
- Complete examples using the OpenCV DNN face detector
- Understanding cv2.dnn.blobFromImage()
- Deep learning in OpenCV
- Deep learning for object detection
- Deep learning for image classification
- Deep learning explosion
- Deep learning characteristics
- Deep learning overview for computer vision tasks
- Installing Keras
- Installing TensorFlow
- Technical requirements
- Introduction to Deep Learning
- Further reading
- Questions
- Summary
- Face recognition with face_recognition
- Face recognition with dlib
- Face recognition with OpenCV
- Face recognition
- Object tracking with the dlib DCF-based tracker
- Face tracking with the dlib DCF-based tracker
- Face tracking
- Detecting facial landmarks with face_recognition
- Detecting facial landmarks with dlib
- Detecting facial landmarks with OpenCV
- Detecting facial landmarks
- Face detection with cvlib
- Face detection with face_recognition
- Face detection with dlib
- Face detection with OpenCV
- Face detection
- Face processing introduction
- Installing the cvlib package
- Installing the face_recognition package
- Installing dlib
- Technical requirements
- Face Detection Tracking and Recognition
- Further reading
- Questions
- Summary
- Handwritten digit recognition using SVM
- Understanding SVM
- Support vector machine
- Recognizing handwritten digits using k-nearest neighbor
- Understanding k-nearest neighbors
- k-nearest neighbor
- Color quantization using k-means clustering
- Understanding k-means clustering
- k-means clustering
- Semi-supervised machine learning
- Unsupervised machine learning
- Supervised machine learning
- An introduction to machine learning
- Technical requirements
- Machine Learning with OpenCV
- Section 3: Machine Learning and Deep Learning in OpenCV
- Further reading
- Questions
- Summary
- QR code detection
- Snapchat-based augmented reality OpenCV glasses overlay
- Snapchat-based augmented reality OpenCV moustache overlay
- Snapchat-based augmented reality
- Camera pose estimation and more advanced augmentation
- Camera pose estimation and basic augmentation
- Camera pose estimation
- Camera calibration
- Detecting markers
- Creating markers and dictionaries
- Marker-based augmented reality
- Feature matching and homography computation to find objects
- Feature matching
- Feature detection
- Markerless-based augmented reality
- An introduction to augmented reality
- Technical requirements
- Augmented Reality
- Further reading
- Questions
- Summary
- Matching contours
- Recognizing contours
- Filtering contours
- More functionality related to contours
- Zernike moments
- Hu moment invariants
- Some object features based on moments
- Image moments
- Compressing contours
- An introduction to contours
- Technical requirements
- Contour Detection Filtering and Drawing
- Further reading
- Questions
- Summary
- Trying out more thresholding techniques with scikit-image
- Introducing thresholding with scikit-image
- Thresholding algorithms using scikit-image
- Thresholding color images
- The triangle binarization algorithm
- Otsu's thresholding algorithm
- Adaptive thresholding
- Simple thresholding applied to a real image
- Thresholding types
- Simple thresholding
- Introducing thresholding techniques
- Installing SciPy
- Installing scikit-image
- Technical requirements
- Thresholding Techniques
- Further reading
- Questions
- Summary
- Histogram comparison
- Comparing CLAHE and histogram equalization
- Contrast Limited Adaptive Histogram Equalization
- Color histogram equalization
- Grayscale histogram equalization
- Histogram equalization
- Comparing OpenCV NumPy and Matplotlib histograms
- Custom visualizations of histograms
- Color histograms
- Grayscale histograms with a mask
- Grayscale histograms without a mask
- Grayscale histograms
- Histogram terminology
- A theoretical introduction to histograms
- Technical requirements
- Constructing and Building Histograms
- Further reading
- Questions
- Summary
- Showing the legend for the custom color map
- Custom color maps
- Color maps in OpenCV
- Color maps
- Skin segmentation in different color spaces
- Showing color spaces
- Color spaces
- Applying morphological transformations to images
- Structuring element
- Black hat operation
- Top hat operation
- Morphological gradient operation
- Closing operation
- Opening operation
- Erosion operation
- Dilation operation
- Morphological transformations
- Bitwise operations
- Image blending
- Image addition and subtraction
- Saturation arithmetic
- Arithmetic with images
- Creating cartoonized images
- Common kernels in image processing
- Sharpening images
- Bilateral filtering
- Median filtering
- Gaussian filtering
- Averaging filter
- Smoothing images
- Applying arbitrary kernels
- Image filtering
- Cropping an image
- Perspective transformation of an image
- Affine transformation of an image
- Rotating an image
- Translating an image
- Scaling an image
- Geometric transformations of images
- Splitting and merging channels in OpenCV
- Technical requirements
- Image Processing Techniques
- Section 2: Image Processing in OpenCV
- Further reading
- Questions
- Summary
- Advanced drawing
- Event handling with Matplotlib
- Drawing both text and shapes
- Drawing dynamic shapes
- Dynamic drawing with mouse events
- More functions related to text
- Using all OpenCV text fonts
- Drawing text
- Writing text
- lineType parameter in drawing functions
- Shift parameter in drawing functions
- Drawing polygons
- Drawing ellipses
- Drawing arrows
- Drawing a clip line
- Understanding advanced shapes
- Drawing circles
- Drawing rectangles
- Drawing lines
- Basic shapes – lines rectangles and circles
- Drawing shapes
- A theoretical introduction to drawing in OpenCV
- Technical requirements
- Constructing Basic Shapes in OpenCV
- Further reading
- Questions
- Summary
- Using the properties – playing a video backwards
- Getting all the properties from the video capture object
- Playing with video capture properties
- Considerations for writing a video file
- Calculating frames per second
- Writing a video file
- Reading from an IP camera
- Reading a video file
- Saving camera frames
- Accessing some properties of the capture object
- Reading camera frames
- Reading camera frames and video files
- Reading and writing images in OpenCV
- Reading images in OpenCV
- Reading and writing images
- Argparse – command-line option and argument parsing
- sys.argv
- An introduction to handling files and images
- Technical requirements
- Handling Files and Images
- Further reading
- Questions
- Summary
- BGR order in OpenCV
- Accessing and manipulating pixels in OpenCV with grayscale images
- Accessing and manipulating pixels in OpenCV with BGR images
- Accessing and manipulating pixels in OpenCV
- The coordinate system in OpenCV
- File extensions
- Concepts of pixels colors channels images and color spaces
- Images formulation
- Image-processing steps
- Main problems in image processing
- A theoretical introduction to image basics
- Technical requirements
- Image Basics in OpenCV
- Further reading
- Questions
- Summary
- Our first Python and OpenCV project
- The OpenCV and Python project structure
- Installing Jupyter with pip
- Installing Jupyter using Anaconda
- Installing the Jupyter Notebook
- Trying Jupiter Notebook online
- Jupyter Notebook
- Packages for scientific computing data science machine learning deep learning and computer vision
- Anaconda/Miniconda distributions and conda package–and environment-management system
- Python IDEs to create virtual environments with virtualenv
- Installing Python OpenCV and other packages with virtualenv
- Testing the installation
- Installing OpenCV on Windows
- Installing OpenCV on Linux
- Installing OpenCV
- Installing Python on Windows
- Installing Python on Linux
- Installing Python
- Installing Python OpenCV and other packages globally
- Installing OpenCV Python and other packages
- Why citing OpenCV in your research work
- OpenCV applications
- OpenCV users
- OpenCV modules
- A theoretical introduction to the OpenCV library
- Contextualizing the reader
- Introducing OpenCV
- Understanding Python
- Hardware specifications
- Code testing specifications
- Technical requirements
- Setting Up OpenCV
- Section 1: Introduction to OpenCV 4 and Python
- Reviews
- Get in touch
- Conventions used
- Download the color images
- Download the example code files
- To get the most out of this book
- What this book covers
- Who this book is for
- Preface
- Packt is searching for authors like you
- About the reviewers
- About the author
- Contributors
- Packt.com
- Why subscribe?
- About Packt
- Mastering OpenCV 4 with Python
- Copyright and Credits
- Title Page
- coverpage
- coverpage
- Title Page
- Copyright and Credits
- Mastering OpenCV 4 with Python
- About Packt
- Why subscribe?
- Packt.com
- Contributors
- About the author
- About the reviewers
- Packt is searching for authors like you
- Preface
- Who this book is for
- What this book covers
- To get the most out of this book
- Download the example code files
- Download the color images
- Conventions used
- Get in touch
- Reviews
- Section 1: Introduction to OpenCV 4 and Python
- Setting Up OpenCV
- Technical requirements
- Code testing specifications
- Hardware specifications
- Understanding Python
- Introducing OpenCV
- Contextualizing the reader
- A theoretical introduction to the OpenCV library
- OpenCV modules
- OpenCV users
- OpenCV applications
- Why citing OpenCV in your research work
- Installing OpenCV Python and other packages
- Installing Python OpenCV and other packages globally
- Installing Python
- Installing Python on Linux
- Installing Python on Windows
- Installing OpenCV
- Installing OpenCV on Linux
- Installing OpenCV on Windows
- Testing the installation
- Installing Python OpenCV and other packages with virtualenv
- Python IDEs to create virtual environments with virtualenv
- Anaconda/Miniconda distributions and conda package–and environment-management system
- Packages for scientific computing data science machine learning deep learning and computer vision
- Jupyter Notebook
- Trying Jupiter Notebook online
- Installing the Jupyter Notebook
- Installing Jupyter using Anaconda
- Installing Jupyter with pip
- The OpenCV and Python project structure
- Our first Python and OpenCV project
- Summary
- Questions
- Further reading
- Image Basics in OpenCV
- Technical requirements
- A theoretical introduction to image basics
- Main problems in image processing
- Image-processing steps
- Images formulation
- Concepts of pixels colors channels images and color spaces
- File extensions
- The coordinate system in OpenCV
- Accessing and manipulating pixels in OpenCV
- Accessing and manipulating pixels in OpenCV with BGR images
- Accessing and manipulating pixels in OpenCV with grayscale images
- BGR order in OpenCV
- Summary
- Questions
- Further reading
- Handling Files and Images
- Technical requirements
- An introduction to handling files and images
- sys.argv
- Argparse – command-line option and argument parsing
- Reading and writing images
- Reading images in OpenCV
- Reading and writing images in OpenCV
- Reading camera frames and video files
- Reading camera frames
- Accessing some properties of the capture object
- Saving camera frames
- Reading a video file
- Reading from an IP camera
- Writing a video file
- Calculating frames per second
- Considerations for writing a video file
- Playing with video capture properties
- Getting all the properties from the video capture object
- Using the properties – playing a video backwards
- Summary
- Questions
- Further reading
- Constructing Basic Shapes in OpenCV
- Technical requirements
- A theoretical introduction to drawing in OpenCV
- Drawing shapes
- Basic shapes – lines rectangles and circles
- Drawing lines
- Drawing rectangles
- Drawing circles
- Understanding advanced shapes
- Drawing a clip line
- Drawing arrows
- Drawing ellipses
- Drawing polygons
- Shift parameter in drawing functions
- lineType parameter in drawing functions
- Writing text
- Drawing text
- Using all OpenCV text fonts
- More functions related to text
- Dynamic drawing with mouse events
- Drawing dynamic shapes
- Drawing both text and shapes
- Event handling with Matplotlib
- Advanced drawing
- Summary
- Questions
- Further reading
- Section 2: Image Processing in OpenCV
- Image Processing Techniques
- Technical requirements
- Splitting and merging channels in OpenCV
- Geometric transformations of images
- Scaling an image
- Translating an image
- Rotating an image
- Affine transformation of an image
- Perspective transformation of an image
- Cropping an image
- Image filtering
- Applying arbitrary kernels
- Smoothing images
- Averaging filter
- Gaussian filtering
- Median filtering
- Bilateral filtering
- Sharpening images
- Common kernels in image processing
- Creating cartoonized images
- Arithmetic with images
- Saturation arithmetic
- Image addition and subtraction
- Image blending
- Bitwise operations
- Morphological transformations
- Dilation operation
- Erosion operation
- Opening operation
- Closing operation
- Morphological gradient operation
- Top hat operation
- Black hat operation
- Structuring element
- Applying morphological transformations to images
- Color spaces
- Showing color spaces
- Skin segmentation in different color spaces
- Color maps
- Color maps in OpenCV
- Custom color maps
- Showing the legend for the custom color map
- Summary
- Questions
- Further reading
- Constructing and Building Histograms
- Technical requirements
- A theoretical introduction to histograms
- Histogram terminology
- Grayscale histograms
- Grayscale histograms without a mask
- Grayscale histograms with a mask
- Color histograms
- Custom visualizations of histograms
- Comparing OpenCV NumPy and Matplotlib histograms
- Histogram equalization
- Grayscale histogram equalization
- Color histogram equalization
- Contrast Limited Adaptive Histogram Equalization
- Comparing CLAHE and histogram equalization
- Histogram comparison
- Summary
- Questions
- Further reading
- Thresholding Techniques
- Technical requirements
- Installing scikit-image
- Installing SciPy
- Introducing thresholding techniques
- Simple thresholding
- Thresholding types
- Simple thresholding applied to a real image
- Adaptive thresholding
- Otsu's thresholding algorithm
- The triangle binarization algorithm
- Thresholding color images
- Thresholding algorithms using scikit-image
- Introducing thresholding with scikit-image
- Trying out more thresholding techniques with scikit-image
- Summary
- Questions
- Further reading
- Contour Detection Filtering and Drawing
- Technical requirements
- An introduction to contours
- Compressing contours
- Image moments
- Some object features based on moments
- Hu moment invariants
- Zernike moments
- More functionality related to contours
- Filtering contours
- Recognizing contours
- Matching contours
- Summary
- Questions
- Further reading
- Augmented Reality
- Technical requirements
- An introduction to augmented reality
- Markerless-based augmented reality
- Feature detection
- Feature matching
- Feature matching and homography computation to find objects
- Marker-based augmented reality
- Creating markers and dictionaries
- Detecting markers
- Camera calibration
- Camera pose estimation
- Camera pose estimation and basic augmentation
- Camera pose estimation and more advanced augmentation
- Snapchat-based augmented reality
- Snapchat-based augmented reality OpenCV moustache overlay
- Snapchat-based augmented reality OpenCV glasses overlay
- QR code detection
- Summary
- Questions
- Further reading
- Section 3: Machine Learning and Deep Learning in OpenCV
- Machine Learning with OpenCV
- Technical requirements
- An introduction to machine learning
- Supervised machine learning
- Unsupervised machine learning
- Semi-supervised machine learning
- k-means clustering
- Understanding k-means clustering
- Color quantization using k-means clustering
- k-nearest neighbor
- Understanding k-nearest neighbors
- Recognizing handwritten digits using k-nearest neighbor
- Support vector machine
- Understanding SVM
- Handwritten digit recognition using SVM
- Summary
- Questions
- Further reading
- Face Detection Tracking and Recognition
- Technical requirements
- Installing dlib
- Installing the face_recognition package
- Installing the cvlib package
- Face processing introduction
- Face detection
- Face detection with OpenCV
- Face detection with dlib
- Face detection with face_recognition
- Face detection with cvlib
- Detecting facial landmarks
- Detecting facial landmarks with OpenCV
- Detecting facial landmarks with dlib
- Detecting facial landmarks with face_recognition
- Face tracking
- Face tracking with the dlib DCF-based tracker
- Object tracking with the dlib DCF-based tracker
- Face recognition
- Face recognition with OpenCV
- Face recognition with dlib
- Face recognition with face_recognition
- Summary
- Questions
- Further reading
- Introduction to Deep Learning
- Technical requirements
- Installing TensorFlow
- Installing Keras
- Deep learning overview for computer vision tasks
- Deep learning characteristics
- Deep learning explosion
- Deep learning for image classification
- Deep learning for object detection
- Deep learning in OpenCV
- Understanding cv2.dnn.blobFromImage()
- Complete examples using the OpenCV DNN face detector
- OpenCV deep learning classification
- AlexNet for image classification
- GoogLeNet for image classification
- ResNet for image classification
- SqueezeNet for image classification
- OpenCV deep learning object detection
- MobileNet-SSD for object detection
- YOLO for object detection
- The TensorFlow library
- Introduction example to TensorFlow
- Linear regression in TensorFlow
- Handwritten digits recognition using TensorFlow
- The Keras library
- Linear regression in Keras
- Handwritten digit recognition in Keras
- Summary
- Questions
- Further reading
- Section 4: Mobile and Web Computer Vision
- Mobile and Web Computer Vision with Python and OpenCV
- Technical requirements
- Installing the packages
- Introduction to Python web frameworks
- Introduction to Flask
- Web computer vision applications using OpenCV and Flask
- A minimal example to introduce OpenCV and Flask
- Minimal face API using OpenCV
- Deep learning cat detection API using OpenCV
- Deep learning API using Keras and Flask
- Keras applications
- Deep learning REST API using Keras Applications
- Deploying a Flask application to the cloud
- Summary
- Questions
- Further reading
- Assessments
- Chapter 1
- Chapter 2
- Chapter 3
- Chapter 4
- Chapter 5
- Chapter 6
- Chapter 7
- Chapter 8
- Chapter 9
- Chapter 10
- Chapter 11
- Chapter 12
- Chapter 13
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時間:2021-07-02 12:08:14