Learning Opencv 3 Computer Vision with Python
Book information
Description
About This BookCreate impressive applications with OpenCV and PythonFamiliarize yourself with advanced machine learning conceptsHarness the power of computer vision with this easy-to-follow guideWho This Book Is ForIntended for novices to the world of OpenCV and computer vision, as well as OpenCV veterans who want to learn about what's new in OpenCV 3, this book is useful as a reference for experts and a training manual for beginners, or for anybody who wants to familiarize themselves with the concepts of object classification and detection in simple and understandable terms. Basic knowledge of Python and programming concepts is required, although the book has an easy learning curve both from a theoretical and coding point of view.What You Will LearnInstall and familiarize yourself with OpenCV 3's Python APIGrasp the basics of image processing and video analysisIdentify and recognize objects in images and videosDetect and recognize faces using OpenCVTrain and use your own object classifiersLearn about machine learning concepts in a computer vision contextWork with artificial neural networks using OpenCVDevelop your own real-life computer vision applicationsIn Detail Learning OpenCV 3 Computer Vision with Python, Second Edition, takes you through building a theoretical foundation for image processing and video analysis and progress to the concepts of classification through machine learning, acquiring the technical know-how that will allow you to create and use object detectors and classifiers, and even track objects in movies or video camera feeds. Finally, this journey ends at the world of artificial neural networks, along with the development of a hand-written digit recognition application. Cover Copyright Credits About the Authors About the Reviewers www.PacktPub.com Table of Contents Preface Chapter 1: Setting Up OpenCV Choosing and using the right setup tools Installation on Windows Using binary installers (no support for depth cameras) Using CMake and compilers Installing on OS X Using MacPorts with ready-made packages Using MacPorts with your own custom packages Using Homebrew with ready-made packages (no support for depth cameras) Using Homebrew with your own custom packages Installation on Ubuntu and its derivatives Using the Ubuntu repository (no support for depth cameras) Building OpenCV from a source Installation on other Unix-like systems Installing the Contrib modules Running samples Finding documentation, help, and updates Summary Chapter 2: Handling Files, Cameras, and GUIs Basic I/O scripts Reading/writing an image file Converting between an image and raw bytes Accessing image data with numpy.array Reading/writing a video file Capturing camera frames Displaying images in a window Displaying camera frames in a window Project Cameo (face tracking and image manipulation) Cameo – an object-oriented design Abstracting a video stream with managers.CaptureManager Abstracting a window and keyboard with managers.WindowManager Applying everything with cameo.Cameo Summary Chapter 3: Processing Images with OpenCV 3 Converting between different color spaces A quick note on BGR The Fourier Transform High pass filter Low pass filter Creating modules Edge detection Custom kernels – getting convoluted Modifying the application Edge detection with Canny Contour detection Contours – bounding box, minimum area rectangle, and minimum enclosing circle Contours – convex contours and the Douglas-Peucker algorithm Line and circle detection Line detection Circle detection Detecting shapes Summary Chapter 4: Depth Estimation and Segmentation Creating modules Capturing frames from a depth camera Creating a mask from a disparity map Masking a copy operation Depth estimation with a normal camera Object segmentation using the Watershed and GrabCut algorithms Example of foreground detection with GrabCut Image segmentation with the Watershed algorithm Summary Chapter 5: Detecting and Recognizing Faces Conceptualizing Haar cascades Getting Haar cascade data Using OpenCV to perform face detection Performing face detection on a still image Performing face detection on a video Performing face recognition Generating the data for face recognition Recognizing faces Preparing the training data Loading the data and recognizing faces Performing an Eigenfaces recognition Performing face recognition with Fisherfaces Performing face recognition with LBPH Discarding results with confidence score Summary Chapter 6: Retrieving Images and Searching Using Image Descriptors Feature detection algorithms Defining features Detecting features – corners Feature extraction and description using DoG and SIFT Anatomy of a keypoint Feature extraction and detection using Fast Hessian and SURF ORB feature detection and feature matching FAST BRIEF Brute-Force matching Feature matching with ORB Using K-Nearest Neighbors matching FLANN-based matching FLANN matching with homography A sample application – tattoo forensics Saving image descriptors to file Scanning for matches Summary Chapter 7: Detecting and Recognizing Objects Object detection and recognition techniques HOG descriptors The scale issue The location issue Non-maximum (or non-maxima) suppression Support vector machines People detection Creating and training an object detector Bag-of-words BOW in computer vision Detecting cars What did we just do? SVM and sliding windows Example – car detection in a scene Dude, where's my car? Summary Chapter 8: Tracking Objects Detecting moving objects Basic motion detection Background subtractors – KNN, MOG2, and GMG Meanshift and CAMShift Color histograms The calcHist function The calcBackProject function In summary Back to the code CAMShift The Kalman filter Predict and update An example A real-life example – tracking pedestrians The application workflow A brief digression – functional versus object-oriented programming The Pedestrian class The main program Where do we go from here? Summary Chapter 9: Neural Networks with OpenCV – an Introduction Artificial neural networks Neurons and perceptrons The structure of an ANN Network layers by example The input layer The output layer The hidden layer ANNs in OpenCV ANN-imal classification Training epochs Handwritten digit recognition with ANNs MNIST – the handwritten digit database Customized training data The initial parameters The input layer The hidden layer The output layer Training epochs Other parameters Mini-libraries The main file Possible improvements and potential applications Improvements Potential applications Summary To boldly go… Index
Similar books
Learning OpenCV 4 Computer Vision with Python
2020 · PDF
Learning OpenCV 5 Computer Vision with Python: Tackle computer vision and machine learning with the newest tools, techniques and algorithms, 4th Edition
2025 · EPUB
Data Analytics in the Aws Cloud: Building a Data Platform for Bi and Predictive Analytics on Aws
2023 · MOBI
Data Analytics in the AWS Cloud: Building a Data Platform for BI and Predictive Analytics on AWS
2023 · RAR
Data Analytics in the AWS Cloud: Building a Data Platform for BI and Predictive Analytics on AWS
2023 · EPUB
Data Analytics in the AWS Cloud: Building a Data Platform for BI and Predictive Analytics on AWS
2023 · PDF
Learning OpenCV 3 Computer Vision with Python
2015 · EPUB
Learning OpenCV 4 Computer Vision with Python 3: Get to grips with tools, techniques, and algorithms for computer vision and machine learning
2020 · PDF