0%

Book Description

Explore Keras, scikit-image, open source computer vision (OpenCV), Matplotlib, and a wide range of other Python tools and frameworks to solve real-world image processing problems

Key Features

  • Discover solutions to complex image processing tasks using Python tools such as scikit-image and Keras
  • Learn popular concepts such as machine learning, deep learning, and neural networks for image processing
  • Explore common and not-so-common challenges faced in image processing

Book Description

With the advancements in wireless devices and mobile technology, there's increasing demand for people with digital image processing skills in order to extract useful information from the ever-growing volume of images. This book provides comprehensive coverage of the relevant tools and algorithms, and guides you through analysis and visualization for image processing.

With the help of over 60 cutting-edge recipes, you'll address common challenges in image processing and learn how to perform complex tasks such as object detection, image segmentation, and image reconstruction using large hybrid datasets. Dedicated sections will also take you through implementing various image enhancement and image restoration techniques, such as cartooning, gradient blending, and sparse dictionary learning. As you advance, you'll get to grips with face morphing and image segmentation techniques. With an emphasis on practical solutions, this book will help you apply deep learning techniques such as transfer learning and fine-tuning to solve real-world problems.

By the end of this book, you'll be proficient in utilizing the capabilities of the Python ecosystem to implement various image processing techniques effectively.

What you will learn

  • Implement supervised and unsupervised machine learning algorithms for image processing
  • Use deep neural network models for advanced image processing tasks
  • Perform image classification, object detection, and face recognition
  • Apply image segmentation and registration techniques on medical images to assist doctors
  • Use classical image processing and deep learning methods for image restoration
  • Implement text detection in images using Tesseract, the optical character recognition (OCR) engine
  • Understand image enhancement techniques such as gradient blending

Who this book is for

This book is for image processing engineers, computer vision engineers, software developers, machine learning engineers, or anyone who wants to become well-versed with image processing techniques and methods using a recipe-based approach. Although no image processing knowledge is expected, prior Python coding experience is necessary to understand key concepts covered in the book.

Table of Contents

  1. Title Page
  2. Copyright and Credits
    1. Python Image Processing Cookbook
  3. About Packt
    1. Why subscribe?
  4. Dedication
  5. Contributors
    1. About the author
    2. About the reviewers
    3. Packt is searching for authors like you
  6. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
      1. Download the example code files
      2. Download the color images
      3. Conventions used
    4. Sections
      1. Getting ready
      2. How to do it…
      3. How it works…
      4. There's more…
      5. See also
    5. Get in touch
      1. Reviews
  7. Image Manipulation and Transformation
    1. Technical requirements
    2. Transforming color space (RGB → Lab)
      1. Getting ready
      2. How to do it...
        1. Converting RGB image into grayscale by setting the Lab space color channels to zero
        2. Changing the brightness of the image by varying the luminosity channel
      3. How it works...
      4. There's more...
    3. Applying affine transformation
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
    4. Applying perspective transformation and homography
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    5. Creating pencil sketches from images
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    6. Creating cartoonish images
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    7. Simulating light art/long exposure
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
        1. Extended depth of field with mahotas
      5. See also
    8. Object detection using color in HSV
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. See also
  8. Image Enhancement
    1. Applying filters to denoise different types of noise in an image
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
    2. Image denoising with a denoising autoencoder
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    3. Image denoising with PCA/DFT/DWT
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    4. Image denoising with anisotropic diffusion
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    5. Improving image contrast with histogram equalization
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
    6. Implementing histogram matching
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    7. Performing gradient blending
      1. Getting ready
      2. How to do it...
      3. How it works...
    8. Edge detection with Canny, LoG/zero-crossing, and wavelets
      1. Getting ready
      2. How to do it...
        1. Canny/hysteresis thresholding
        2. LoG/zero-crossing
        3. Wavelets 
      3. How it works...
      4. There's more...
      5. See also
  9. Image Restoration
    1. Restoring an image with the Wiener filter
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. See also
    2. Restoring an image with the constrained least squares filter 
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    3. Image restoration with a Markov random field
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. See also
    4. Image inpainting
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
        1. Image inpainting with convex optimization
      5. See also
    5. Image completion with inpainting using deep learning
      1. Getting ready
      2. How to do it...
      3. There's more...
      4. See also
    6. Image restoration with dictionary learning
      1. Getting ready
      2. How to do it ...
      3. There's more...
        1. Online dictionary learning
      4. See also
    7. Compressing an image using wavelets
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. See also
    8. Using steganography and steganalysis
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
  10. Binary Image Processing
    1. Applying morphological operators to a binary image
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    2. Applying Morphological filters
      1. Getting ready
      2. How to do it...
        1. Computing the Euler number, eccentricity, and center of mass with mahotas/scikit-image
        2. Morphological image filters with mahotas
        3. Binary image filters with SimpleITK
        4. Dilation by reconstruction with skimage
      3. How it works...
      4. There's more...
      5. See also
    3. Morphological pattern matching
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    4. Segmenting images with morphology
      1. Getting ready
      2. How to do it...
        1. Morphological watershed
        2. Blob detection with morphological watershed
      3. How it works...
      4. There's more...
        1. Blob detection with LOG scale-space
      5. See also
    5. Counting objects
      1. Getting ready
      2. How to do it...
        1. Blob separation and detection with erosion
        2. Object counting with closing and opening
      3. How it works...
      4. There's more...
      5. See also
  11. Image Registration
    1. Medical image registration with SimpleITK
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more
      5. See also
    2. Image alignment with ECC algorithm and warping 
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There is more
      5. See also
    3. Face alignment with dlib
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There is more
      5. See also
    4. Robust matching and homography with the RANSAC algorithm
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. See also
    5. Image mosaicing (panorama)
      1. Getting ready
      2. How to do it...
        1. Panorama with OpenCV-Python
      3. How it works...
      4. There is more
      5. See also
    6. Face morphing
      1. Getting ready
      2. How to do it...
      3. How it works
      4. There is more
      5. See also
    7. Implementing an image search engine
      1. Getting ready
      2. How to do it...
        1. Finding similarity between an image and a set of images with SIFT
        2. Steps to implement a simple image search engine
      3. There is more
      4. See also
  12. Image Segmentation
    1. Thresholding with Otsu and Riddler–Calvard
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    2. Image segmentation with self-organizing maps
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
        1. Clustering handwritten digit images with SOM
      5. See also
    3. RandomWalk segmentation with scikit-image
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    4. Human skin segmentation with the GMM-EM algorithm
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. See also
    5. Medical image segmentation
      1. Getting ready
      2. How to do it...
        1. Segmentation with GMM-EM
        2. Brain tumor segmentation using deep learning
        3. Segmentation with watershed
      3. How it works...
      4. There's more...
      5. See also
    6. Deep semantic segmentation
      1. Getting ready
      2. How to do it...
        1. Semantic segmentation with DeepLabV3
        2. Semantic segmentation with FCN
      3. See also
    7. Deep instance segmentation
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. See also
  13. Image Classification
    1. Classifying images with scikit-learn (HOG and logistic regression)
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    2. Classifying textures with Gabor filter banks
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    3. Classifying images with VGG19/Inception V3/MobileNet/ResNet101 (with PyTorch)
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    4. Fine-tuning (with transfer learning) for image classification
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    5. Classifying traffic signs using a deep learning model (with PyTorch)
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    6. Estimating a human pose using a deep learning model
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. See also
  14. Object Detection in Images
    1. Object detection with HOG/SVM
      1. Getting started
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    2. Object detection with Yolo V3
      1. Getting started
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    3. Object detection with Faster R-CNN
      1. Getting started
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    4. Object detection with Mask R-CNN
      1. Getting started
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    5. Multiple object tracking with Python-OpenCV
      1. Getting started
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    6. Text detection/recognition in images with EAST/Tesseract
      1. Getting started
      2. How to do it...
      3. How it works...
      4. See also
    7. Face detection with Viola-Jones/Haar-like features
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
  15. Face Recognition, Image Captioning, and More
    1. Face recognition using FaceNet
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. See also
    2. Age, gender, and emotion recognition using deep learning models
      1. Getting ready
      2. How to do it...
      3. There's more...
      4. See also
    3. Image colorization with deep learning
      1. Getting ready
      2. How to do it...
      3. See also
    4. Automatic image captioning with a CNN and an LSTM
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. See also
    5. Image generation with a GAN
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    6. Using a variational autoencoder to reconstruct and generate images
      1. Getting ready
      2. How to do it...
      3. There's more...
      4. See also
    7. Using a restricted Boltzmann machine to reconstruct Bangla MNIST images
      1. Getting ready
      2. How to do it...
      3. See also
  16. Other Books You May Enjoy
    1. Leave a review - let other readers know what you think
54.204.142.235