Fast Hysteresis Thresholding in Canny Edge Detection
First Claim
Patent Images
1. A method of image processing comprising:
- generating an edge map of a block of pixels, wherein each pixel is identified as a non-edge pixel or a possible edge pixel; and
performing hysteresis thresholding on the edge map to identify edge pixels using an upper gradient magnitude threshold and a lower gradient magnitude threshold, wherein the hysteresis thresholding comprises;
identifying a pixel as an edge pixel and adding a location of the pixel in the edge map to an edge data structure when a gradient magnitude of the pixel is above the upper gradient magnitude threshold and the pixel is identified as a possible edge pixel in the edge map, wherein the edge data structure stores locations of edge pixels to be checked for connection to possible edge pixels; and
identifying edge pixels connected to the pixel byselecting an edge pixel from the edge data structure,identifying a neighboring pixel of the selected edge pixel as an edge pixel and adding a location of the neighboring pixel in the edge map to the edge data structure when a gradient magnitude of the neighboring pixel is greater than the lower gradient threshold and the neighboring pixel is identified as a possible edge pixel in the edge map, andrepeating selecting an edge pixel and identifying a neighboring pixel until all edge pixels in the edge data structure have been selected.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of image processing is provided which includes non-recursive hysteresis thresholding in Canny edge detection. The non-recursive hysteresis thresholding reduces computational complexity and eliminates the potential for call stack overflow. More specifically, hysteresis thresholding is performed in a raster-scan order pass over the image data to connect edge segments to form continuous edges.
24 Citations
20 Claims
-
1. A method of image processing comprising:
-
generating an edge map of a block of pixels, wherein each pixel is identified as a non-edge pixel or a possible edge pixel; and performing hysteresis thresholding on the edge map to identify edge pixels using an upper gradient magnitude threshold and a lower gradient magnitude threshold, wherein the hysteresis thresholding comprises; identifying a pixel as an edge pixel and adding a location of the pixel in the edge map to an edge data structure when a gradient magnitude of the pixel is above the upper gradient magnitude threshold and the pixel is identified as a possible edge pixel in the edge map, wherein the edge data structure stores locations of edge pixels to be checked for connection to possible edge pixels; and identifying edge pixels connected to the pixel by selecting an edge pixel from the edge data structure, identifying a neighboring pixel of the selected edge pixel as an edge pixel and adding a location of the neighboring pixel in the edge map to the edge data structure when a gradient magnitude of the neighboring pixel is greater than the lower gradient threshold and the neighboring pixel is identified as a possible edge pixel in the edge map, and repeating selecting an edge pixel and identifying a neighboring pixel until all edge pixels in the edge data structure have been selected. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A digital image processing system comprising:
-
a memory configured to store an edge map of a block of pixels, wherein each pixel is identified as a non-edge pixel or a possible edge pixel and an edge data structure for storing locations of edge pixels to be checked for connection to possible edge pixels; and an edge detection component configured to generate the edge map; and perform hysteresis thresholding on the edge map to identify edge pixels using an upper gradient magnitude threshold and a lower gradient magnitude threshold, wherein the hysteresis thresholding comprises; identifying a pixel as an edge pixel and adding a location of the pixel in the edge map to the edge data structure when a gradient magnitude of the pixel is above the upper gradient magnitude threshold and the pixel is identified as a possible edge pixel in the edge map; and identifying edge pixels connected to the pixel by selecting a location of an edge pixel from the edge data structure, identifying a neighboring pixel of the selected edge pixel as an edge pixel and adding a location of the neighboring pixel in the edge map to the edge data structure when a gradient magnitude of the neighboring pixel is greater than the lower gradient threshold and the neighboring pixel is identified as a possible edge pixel in the edge map, and repeating selecting a location of an edge pixel and identifying a neighboring pixel until all edge pixels in the edge data structure have been selected. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer readable medium comprising executable instructions to cause a digital system to perform a method of image processing, the method comprising:
-
generating an edge map of a block of pixels, wherein each pixel is identified as a non-edge pixel or a possible edge pixel; and performing hysteresis thresholding on the edge map to identify edge pixels using an upper gradient magnitude threshold and a lower gradient magnitude threshold, wherein the hysteresis thresholding comprises; identifying a pixel as an edge pixel and adding a location of the pixel in the edge map to an edge data structure when a gradient magnitude of the pixel is above the upper gradient magnitude threshold and the pixel is identified as a possible edge pixel in the edge map, wherein the edge data structure stores locations of edge pixels to be checked for connection to possible edge pixels; and identifying edge pixels connected to the pixel by selecting a location of an edge pixel from the edge data structure, identifying a neighboring pixel of the selected edge pixel as an edge pixel and adding a location of the neighboring pixel in the edge map to the edge data structure when a gradient magnitude of the neighboring pixel is greater than the lower gradient threshold and the neighboring pixel is identified as a possible edge pixel in the edge map, and repeating selecting a location of an edge pixel and identifying a neighboring pixel until all locations of edge pixels in the edge data structure have been selected. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification