Edge Detection Using OpenCV


In this post on Edge Detection Using OpenCV, I will explain an important image processing function known as edge detection. Basically, edge detection results in a new image that contains the outlines or edges of the given image.

Canny Edge Detection Method

Basically, Canny Edge Detection is a step-by-step procedure that requires the image to be converted into grayscale first. In short, the Canny Edge Detection method follows the steps mentioned below.

  1. At first, a 5X5 Gaussian Filter performs the noise reduction. As a result, we get a smoothened image.
  2. After that, the Intensity Gradient of the image is determined.
  3. Once we get the magnitude and direction of the gradient, all unwanted pixels that do not constitute the edge are removed. Hence, we get the resulting image with thin edges.
  4. Finally, Hysteresis Thresholding is performed to determine which ones are the actual edges. For this purpose, this method requires two values of threshold – minVal and maxVal. While the edges with an intensity gradient more than the value of maxVal are the actual edges. On the other hand, it discards all those edges whose intensity gradient is lower than the value of minVal.

Example of Edge Detection Using OpenCV Using Canny Edge Detection Method

As an illustration, first, we retrieve the image using imread() method of OpenCV. Further, we convert it into a grayscale image using the cvtColor() method. Finally, we call the Canny() method by providing the grayscale image and the values of two thresholds.

import cv2
import numpy as np
import matplotlib.pyplot as plt

graypic=cv2.cvtColor(mypic, cv2.COLOR_BGR2GRAY)

plt.imshow(graypic, cmap="gray")

detected=cv2.Canny(graypic, 10, 110)
plt.imshow(detected, cmap="gray")


Performing Edge Detection Using OpenCV
Performing Edge Detection Using OpenCV

Further Reading

Deep Learning Tutorial

Text Summarization Techniques

How to Implement Inheritance in Python

Find Prime Numbers in Given Range in Python

Running Instructions in an Interactive Interpreter in Python

Deep Learning Practice Exercise

Python Practice Exercise

Deep Learning Methods for Object Detection

Understanding YOLO Algorithm

What is Image Segmentation?

ImageNet and its Applications

Image Contrast Enhancement using Histogram Equalization

Transfer Learning and its Applications

Examples of OpenCV Library in Python

Examples of Tuples in Python

Python List Practice Exercise

Understanding Blockchain Concepts

Edge Detection Using OpenCV

Predicting with Time Series

Example of Multi-layer Perceptron Classifier in Python

Measuring Performance of Classification using Confusion Matrix

Artificial Neural Network (ANN) Model using Scikit-Learn

Popular Machine Learning Algorithms for Prediction

Long Short Term Memory – An Artificial Recurrent Neural Network Architecture

Python Project Ideas for Undergraduate Students

Creating Basic Charts using Plotly

Visualizing Regression Models with lmplot() and residplot() in Seaborn

Data Visualization with Pandas

A Brief Introduction of Pandas Library in Python

A Brief Tutorial on NumPy in Python


You may also like...