In this course, you'll explore the scikit-image Python library which allows you to apply sophisticated image processing techniques to images and to quickly extract important insights or pre-process images for input to machine learning models.
In this course, Building Image Processing Applications using scikit-image, you’ll gain an understanding of a few core image processing techniques and see how these techniques can be implemented using the scikit-image Python library.
First, you’ll learn the basics of working with image data represented in the form of multidimensional arrays. Next, you’ll discover to manipulate images using the NumPy package, extract features using block view and pooling techniques, detect edges and lines and find contours in images.
Then, you’ll explore various object and feature detection techniques using the DAISY and HOG algorithms to extract image features, along with using morphological reconstruction to fill holes and find peaks in your images.
Finally, you'll delve into image processing techniques that allow you to segment similar regions in your images and apply complex transformations by exploring the Regional Adjacency Graph data structure to represent image segments.
By the end of this course, you’ll have a better understanding of a range of image processing techniques that you can use on your images, and you’ll be able to implement all of those using scikit-image.
A problem solver at heart, Janani has a Masters degree from Stanford and worked for 7+ years at Google. She was one of the original engineers on Google Docs and holds 4 patents for its real-time collaborative editing framework.
Course Overview Hi. My name is Janani Ravi, and welcome to this course on building image processing applications using scikit-image. A little about myself, I have a master's degree in electrical engineering from Stanford and have worked at companies such as Microsoft, Google, and Flipkart. At Google, I was one of the first engineers working on real time collaborative editing in Google Docs, and I hold four patents for its underlying technologies. I currently work on my own startup, Loonycorn, a studio for high-quality video content. In this course, you will learn a variety of image processing techniques that will allow you to quickly and efficiently extract information from a huge image data set. We'll start off with the basics of working with image data, represented in the form of multidimensional arrays. We'll manipulate images using the NumPy package, extract features using block view and pooling techniques, detect edges and lines, and find contours and images. We'll then move on to object and feature detection techniques. We'll use the DAISY and HOG algorithms to extract image features. We'll detect corners using Sobel's, as well as Robert's techniques, and use morphological reconstruction to fill holes and find peaks in our images. We'll then study image processing techniques that allow us to segment similar regions in our images and apply complex transformations. In this context, we'll study the region adjacency graph data structure to represent image segments. We'll also compare how similar images are using two techniques, the SSIM and the MSC. At the end of this course, you'll have a good understanding of a range of image processing techniques that you can use on your images, and you'll be able to implement all of these using scikit-image.
Working with Image Data Hi, and welcome to this course on building imagine processing applications using scikit-image. As machine learning technologies and algorithms become more and more powerful it's increasingly important that we work with images intelligently. Many machine learning algorithms are built for object detection, image recognition, and classification. Deep learning algorithms and artificial intelligence rely on images and video as input, but they can't always work with raw images. Images often have to be preprocessed and features extracted before you feed them into many algorithms so that these algorithms are more robust and can do more with less. And this is where scikit-image comes in. scikit-image is a collection of algorithms for image processing. It's completely free of cost and free of restrictions. scikit-image is intuitive, easy to use, it's powerful, versatile, well implemented, and supported by a huge community of open source developers.
Object and Feature Detection Hi, and welcome to this module where we'll see how we can use the scikit-image library for object and feature detection within images. Deep learning algorithms today rely on images, as well as videos as input. And it's important to present these algorithms with the right choice of features. There are a variety of image processing techniques available that can be used to detect and describe local features in images, and these algorithms are available within scikit-image. These techniques return image descriptors that are used to summarize the important features within images. And these descriptors can then be used by image processing algorithms. Images that we work with in the real world are often noisy. The noise can be due to anything including a faulty camera. You need to have ways by which you can denoise images before feature extraction. We'll also look at some denoising techniques here. We'll also look at some processing techniques. We'll process images to fill holes and highlight peaks. These techniques use morphological reconstruction that is used to extract meaningful information from images.
Segmentation and Transformation Hi, and welcome to this module where we'll see how we can perform segmentation and transformation operations on images using scikit-image library functions. In this module, we'll first see how we can perform thresholding operations. Thresholding is a process by which grayscale images can be converted to binary images, images made up of just 0s and 1s, black and white images. We'll then move on and cover a number of image segmentation algorithms. Image segmentation is a method by which we can find meaningful regions in the underlying image. Regions which are similar to one another are typically merged together when we use segmentation operations. We'll see how we can perform image segmentation using RAGs, or region adjacency graphs, as well as watershed algorithms. We'll also study ways in which we can measure the difference or distance between images using mean squared error, as well as the structural similarity index.