Machine learning is an amazing tool for many tasks. OpenCV is a great library for manipulating images. It would be great if we can put them together. In this 7-part crash course, you will learn from examples how to make use of machine learning and the image processing API from OpenCV to accomplish some goals. […]
Archive | OpenCV
Logistic Regression for Image Classification Using OpenCV
In a previous tutorial, we explored logistic regression as a simple but popular machine learning algorithm for binary classification implemented in the OpenCV library. So far, we have seen how logistic regression may be applied to a custom two-class dataset we have generated ourselves. In this tutorial, you will learn how the standard logistic regression […]
Logistic Regression in OpenCV
Logistic regression is a simple but popular machine learning algorithm for binary classification that uses the logistic, or sigmoid, function at its core. It also comes implemented in the OpenCV library. In this tutorial, you will learn how to apply OpenCV’s logistic regression algorithm, starting with a custom two-class dataset that we will generate ourselves. […]
Running a Neural Network Model in OpenCV
Many machine learning models have been developed, each with strengths and weaknesses. This catalog is not complete without neural network models. In OpenCV, you can use a neural network model developed using another framework. In this post, you will learn about the workflow of applying a neural network in OpenCV. Specifically, you will learn: What […]
Image Vector Representation for Machine Learning Using OpenCV
One of the pre-processing steps that are often carried out on images before feeding them into a machine learning algorithm is to convert them into a feature vector. As we will see in this tutorial, there are several advantages to converting an image into a feature vector that makes the latter more efficient. Among the […]
K-Means Clustering in OpenCV and Application for Color Quantization
The k-means clustering algorithm is an unsupervised machine learning technique that seeks to group similar data into distinct clusters to uncover patterns in the data that may not be apparent to the naked eye. It is possibly the most widely known algorithm for data clustering and is implemented in the OpenCV library. In this tutorial, […]
Training a Haar Cascade Object Detector in OpenCV
Using a Haar cascade classifier in OpenCV is simple. You just need to provide the trained model in an XML file to create the classifier. Training one from scratch, however, is not so straightforward. In this tutorial, you will see how the training should be like. In particular, you will learn: What are the tools […]
Using Haar Cascade for Object Detection
Before the deep learning revolution redefined computer vision, Haar features and Haar cascades were the tools you must not ignore for object detection. Even today, they are very useful object detectors because they are lightweight. In this post, you will learn about the Haar cascade and how it can detect objects. After completing this post, […]
Random Forest for Image Classification Using OpenCV
The Random Forest algorithm forms part of a family of ensemble machine learning algorithms and is a popular variation of bagged decision trees. It also comes implemented in the OpenCV library. In this tutorial, you will learn how to apply OpenCV’s Random Forest algorithm for image classification, starting with a relatively easier banknote dataset and […]
Normal Bayes Classifier for Image Segmentation Using OpenCV
The Naive Bayes algorithm is a simple but powerful technique for supervised machine learning. Its Gaussian variant is implemented in the OpenCV library. In this tutorial, you will learn how to apply OpenCV’s normal Bayes algorithm, first on a custom two-dimensional dataset and subsequently for segmenting an image. After completing this tutorial, you will […]