Book Image

Computer Vision Projects with OpenCV and Python 3

By : Matthew Rever
Book Image

Computer Vision Projects with OpenCV and Python 3

By: Matthew Rever

Overview of this book

Python is the ideal programming language for rapidly prototyping and developing production-grade codes for image processing and Computer Vision with its robust syntax and wealth of powerful libraries. This book will help you design and develop production-grade Computer Vision projects tackling real-world problems. With the help of this book, you will learn how to set up Anaconda and Python for the major OSes with cutting-edge third-party libraries for Computer Vision. You'll learn state-of-the-art techniques for classifying images, finding and identifying human postures, and detecting faces within videos. You will use powerful machine learning tools such as OpenCV, Dlib, and TensorFlow to build exciting projects such as classifying handwritten digits, detecting facial features,and much more. The book also covers some advanced projects, such as reading text from license plates from real-world images using Google’s Tesseract software, and tracking human body poses using DeeperCut within TensorFlow. By the end of this book, you will have the expertise required to build your own Computer Vision projects using Python and its associated libraries.
Table of Contents (9 chapters)

Finding and reading license plates with OpenCV

We have already found our characters, which are license plate candidates. Now we need to determine which characters match, so that we can extract the text data and map the characters within the license plates.

First, we run each plate candidate through our gray_thresh_img function, which does our de-noising and binarization. In this case, we get a cleaner output because we are using a sub-image and not the complete image.

This is the extraction code we will use:

for plate_candidate in plate_candidates: 

plate_candidate.grayimg, plate_candidate.thesholded = \
gray_thresh_img(plate_candidate.plate_im)
plate_candidate.thesholded = cv2.resize(plate_candidate.thesholded,
(0, 0), fx = 1.6, fy = 1.6)
thresholdValue, plate_candidate.thesholded = \
...