Fact-checked by Grok 2 weeks ago

Sobel operator

The Sobel operator, also known as the Sobel–Feldman operator, is a -based filter used in for detecting by approximating the first-order derivatives of the image intensity function. It employs two separate 3×3 convolution kernels—one for the horizontal (Gx) and one for the vertical (Gy)—to compute the rate of change in intensity along the x- and y-s at each , with the overall edge strength derived from the √(Gx2 + Gy2) and direction from the arctangent of Gy/Gx. The horizontal kernel emphasizes vertical edges, while the vertical kernel highlights horizontal edges, and the operator's design incorporates central weighting to provide a measure of local smoothing, reducing noise sensitivity compared to simpler differencing methods. Developed by Irwin Sobel and Gary M. Feldman at the Stanford Artificial Intelligence Laboratory (), the operator was first presented in a 1968 internal talk titled "An Isotropic 3×3 Image Gradient Operator," marking an early contribution to computational techniques in . Although not formally published as a peer-reviewed at the time, it gained prominence through subsequent references in works like Pingle's 1969 edge-following and Duda and Hart's 1973 pattern classification book, establishing it as a foundational tool for approximation. The kernels, which separate the smoothing (via averaging) and differentiation steps, are defined as follows: Horizontal kernel (Gx):
[-1  0  1]
[-2  0  2]
[-1  0  1]
Vertical kernel (Gy):
[-1 -2 -1]
[ 0  0  0]
[ 1  2  1]
These are applied via , often normalized by dividing by 8 (though sometimes omitted for simplicity in implementations), to yield the partial derivatives. The Sobel operator's simplicity, low computational cost, and ability to detect edges in multiple orientations make it widely implemented in libraries like and , serving as a baseline for more advanced detectors such as Canny. It excels in uniform lighting conditions but can produce thicker edges and be sensitive to noise without preprocessing like Gaussian smoothing, leading to its frequent combination with other filters in practical applications such as and . Despite the advent of sophisticated methods, its isotropic approximation of the remains influential in both educational contexts and systems due to its balance of accuracy and efficiency.

Overview

Definition and Purpose

The Sobel operator is a discrete differentiation operator employed in image processing and to approximate the of an image's function at each , thereby identifying edges as regions of rapid variation. First described by Irwin Sobel and Gary M. Feldman in 1968, it utilizes two separate kernels: one to compute the horizontal component G_x and the other to compute the vertical component G_y. The primary purpose of the Sobel operator is to detect in digital images by emphasizing abrupt changes in , which correspond to boundaries between distinct objects or regions; this makes it a foundational tool for feature extraction in pipelines, such as and segmentation tasks. In practice, it generates an edge strength map by combining the magnitudes of the horizontal and vertical gradients, typically through a computation that highlights the overall rate of change regardless of direction. A key strength of the Sobel operator lies in its computational efficiency, achieved via the compact 3×3 kernel size and separable convolution that allows for optimized integer-based operations, enabling fast processing even on resource-constrained systems. Additionally, it exhibits greater tolerance than simpler first-derivative methods or higher-order operators, as the kernel's weighted design incorporates over neighboring pixels to suppress high-frequency while preserving information.

Historical Development

The Sobel operator was developed in 1968 by Irwin Sobel, then a PhD candidate, and Gary M. Feldman at the , as a component of broader scene analysis systems aimed at . This work emerged amid the 1960s surge in research to enable automated visual interpretation of environments, including early explorations of and motion analysis techniques such as . Sobel and Feldman's contribution built on these foundations, introducing a simple yet effective method for gradient approximation tailored to discrete image data. The initial description of the appeared in a presentation titled A 3x3 Isotropic for delivered at , which highlighted its role in enhancing responses while . Though the talk itself remained unpublished, the concept was documented in subsequent SAIL technical reports. By the 1970s, the operator gained prominence through its adoption in foundational algorithms for and scene understanding, marking a shift toward practical implementations in early digital vision systems. In the ensuing decades, the Sobel operator's simplicity and efficiency propelled its integration into prominent software frameworks, such as MATLAB's Image Processing Toolbox and OpenCV's core library, where it serves as a standard tool for gradient-based processing. Even with the rise of sophisticated alternatives like the Canny detector in the , the operator retains enduring relevance in resource-constrained real-time applications, such as embedded vision systems and hardware-accelerated on FPGAs, due to its low computational overhead and robustness to moderate noise.

Mathematical Formulation

Core Kernels

The Sobel operator employs two fundamental 3×3 convolution to approximate the partial derivatives of the in the horizontal and vertical directions, respectively. These were introduced in the original as a to the for . The horizontal kernel G_x, designed to detect vertical edges by emphasizing changes along the x-axis, takes the form: \begin{bmatrix} -1 & 0 & 1 \\ -2 & 0 & 2 \\ -1 & 0 & 1 \end{bmatrix} This structure computes the difference between pixels on the right and left sides of the center, with doubled weights in the middle row to prioritize the central differences. The vertical G_y, used for detecting edges by capturing changes along the y-axis, is defined as: \begin{bmatrix} -1 & -2 & -1 \\ 0 & 0 & 0 \\ 1 & 2 & 1 \end{bmatrix} Here, the kernel differentiates between the top and bottom rows, again with central weighting to focus on immediate vertical variations. The design of both kernels balances derivative approximation with noise reduction: the differing coefficients (1 and 2) implement a central difference scheme for the primary direction, while the uniform weighting in the perpendicular direction acts as a 1D averaging filter over three pixels, providing smoothing without excessive blurring. For practical implementation, is optional; the original formulation scaled the output by 4 to preserve low-order bits, while many modern implementations divide the kernel outputs by 8 to yield an accurate estimate, as this matches the of the absolute kernel weights.

Gradient Calculation

The gradient components G_x and G_y are obtained by convolving the input I with the respective and vertical Sobel kernels. These components approximate the partial of the function in the and vertical directions, respectively, highlighting regions of rapid change corresponding to edges. The magnitude of the gradient |G|, representing the overall edge strength at each pixel, is computed as the Euclidean norm: |G| = \sqrt{G_x^2 + G_y^2} This formulation ensures an isotropic response, treating edges equally regardless of orientation, as originally emphasized in the design of the operator. For computational efficiency, particularly in resource-constrained applications, an approximation to the magnitude can be used: |G| \approx |G_x| + |G_y| This Manhattan norm variant avoids the square root operation while providing a reasonable estimate of edge strength, though it slightly overestimates the true magnitude. The direction of the gradient \theta, indicating edge orientation, is calculated using the two-argument arctangent function: \theta = \atan2(G_y, G_x) This yields an angle in radians ranging from -\pi to \pi, measured counterclockwise from the positive x-axis, enabling analysis of edge alignment for subsequent processing steps. A frequent post-processing technique to produce a edge map involves applying a T to the magnitude, classifying pixels where |G| > T as edge points while suppressing others; the choice of T depends on the image characteristics and desired sensitivity.

Implementation Details

Convolution Mechanism

The convolution mechanism of the Sobel operator applies two distinct 3×3 kernels to a input image through a process of 2D , yielding approximations of the image gradients in the horizontal and vertical directions. The input is a represented as a 2D array of intensities, where each element denotes the brightness value at a specific spatial position, typically ranging from 0 () to 255 (). To compute the gradient components, each kernel is slid across the image in a raster-scan manner, centered successively on every position (i, j). At each such position, the operation calculates a weighted sum by multiplying the kernel's elements with the intensities of the corresponding 3×3 neighborhood of pixels around (i, j) and adding the products together, producing the value G_x(i, j) for the horizontal kernel and G_y(i, j) for the vertical kernel. Boundaries of the image pose a challenge, as the may overhang when centered near the s. Common techniques to address this include zero-padding, which extends the image array with a of zero-valued s, or replication, which duplicates the nearest values outward; these methods enable full coverage and preserve the output s. Without such handling, the valid positions would be limited to the inner region, resulting in output images reduced by one along each for a . The output comprises two separate images—G_x for horizontal changes and G_y for vertical changes—each matching the input's spatial dimensions when is applied. These images encode the local variations that highlight potential edges. A basic implementation of the process, excluding any library optimizations, follows a nested loop structure to iterate over positions and neighborhoods:
function convolve([image](/page/Image), [kernel](/page/Kernel)):
    h = [image](/page/Image).[height](/page/Height)
    w = [image](/page/Image).width
    ks = 3  // kernel size
    pad = ks // 2  // 1 for 3x3
    output = allocate_array(h, w)
    for i from 0 to h-1:
        for j from 0 to w-1:
            total = 0
            for di from -pad to pad:
                for dj from -pad to pad:
                    ni = i + di
                    nj = j + dj
                    if 0 <= ni < h and 0 <= nj < w:
                        total += [image](/page/Image)[ni][nj] * [kernel](/page/Kernel)[pad + di][pad + dj]
                    else:
                        total += 0  // zero-padding for boundaries
            output[i][j] = total
    return output

// Usage for Sobel
G_x = convolve(input_image, horizontal_kernel)
G_y = convolve(input_image, vertical_kernel)
This directly computes the weighted sums at each while managing boundaries via conditional zero .

Computational Aspects

The Sobel operator exhibits linear of O(N) for processing an N- , as it applies a fixed-size to each independently. This efficiency stems from the constant kernel dimensions, enabling straightforward parallelization across pixels without dependency on image size beyond the linear scaling. Consequently, the operator is well-suited for real-time applications, such as , where frame rates of 30 or higher are achievable on standard hardware. Implementations often employ integer arithmetic for speed, particularly with 8-bit unsigned input images (CV_8U) to match common grayscale formats and minimize computational overhead. Outputs are typically computed in 16-bit signed integers (CV_16S) to prevent overflow during gradient summation, preserving edge magnitudes without floating-point conversions. For higher accuracy in scenarios requiring sub-pixel precision or handling high-dynamic-range images, floating-point arithmetic (e.g., CV_32F) can be used, though it increases memory usage and processing time. The operator's design incorporates built-in smoothing via weighted averaging in the kernels, which approximates and reduces sensitivity to compared to pure differencing methods. However, this smoothing can blur fine edges in low-contrast regions, and for noisy inputs, preprocessing with an additional is recommended to further suppress artifacts while maintaining edge integrity. The Sobel operator is readily integrated into major image processing libraries for efficient deployment. In , it is implemented via the cv2.Sobel , supporting customizable kernel sizes and data types for optimized performance. Scikit-image provides the sobel in its filters , which computes the directly on array inputs. MATLAB's edge defaults to the Sobel method for 2D grayscale , offering built-in thresholding options. For large-scale or high-throughput applications, parallelization enhances performance through GPU acceleration. The operator's separability—decomposing the 2D kernel into horizontal and vertical 1D passes—reduces operations from O(9N) to O(6N) per image, facilitating efficient GPU implementations via shader-based s. For very large images, (FFT)-based can further accelerate processing by leveraging frequency-domain parallelism, though it is most beneficial when applying multiple filters. Such techniques yield speedups of up to 13× over CPU baselines on consumer GPUs.

Extensions and Variations

Multidimensional Applications

The Sobel operator extends naturally to three-dimensional volumetric data, such as those obtained from MRI scans, by generalizing the 2D kernels into 3×3×3 filters that compute gradients along the , and axes. These components, denoted as G_x, G_y, and G_z, capture spatial changes in all three directions, enabling in voxel-based structures like volumes. The overall edge magnitude is then derived as G = \sqrt{G_x^2 + G_y^2 + G_z^2}, facilitating applications in and segmentation. For color images, the operator is typically applied independently to each RGB channel to compute per-channel gradients, with the final edge strength determined by taking the maximum, average, or vector norm across channels to preserve color-specific edges. Alternatively, converting the image to or a perceptually like CIELAB allows for unified processing, where edges are detected primarily on the (L) channel to emphasize boundaries while reducing sensitivity to chromatic noise. This approach balances computational efficiency with the retention of relevant visual information in multichannel data. In video sequences, the Sobel operator incorporates a temporal by treating frames as space-time volumes, applying kernels to detect motion through gradients across spatial and time axes, which aids in applications like object tracking and background subtraction. For general n-dimensional , such as hyperspectral images or tensor fields, the operator generalizes via recursive convolutions or n-dimensional tensor operations, readily implemented in libraries like for scalable in high-dimensional arrays. Despite these extensions, multidimensional applications incur significantly higher computational costs due to the increased volume and dimensionality, linearly with the input size but cubically or higher in practice for and beyond. Mitigation strategies, such as downsampling the input or using separable filters, help reduce this overhead while maintaining accuracy.

Modified Operators

The Prewitt operator, introduced by Judith M. S. Prewitt in 1970, serves as a foundational adaptation of -based similar to the Sobel operator but employs uniform integer weights in its 3x3 , resulting in less inherent along the edge direction compared to Sobel's weighted central column and row. For the horizontal gradient G_x, the kernel is defined as: \begin{bmatrix} -1 & 0 & 1 \\ -1 & 0 & 1 \\ -1 & 0 & 1 \end{bmatrix} while the vertical gradient G_y uses: \begin{bmatrix} -1 & -1 & -1 \\ 0 & 0 & 0 \\ 1 & 1 & 1 \end{bmatrix}. This design prioritizes simplicity and computational efficiency, making it suitable for applications where moderate noise reduction suffices without the Sobel's diagonal emphasis. The Roberts cross operator, proposed by Lawrence G. Roberts in 1963 as part of early work on machine perception of three-dimensional solids, utilizes compact 2x2 kernels optimized for detecting diagonal edges, offering faster computation due to its reduced kernel size but exhibiting higher sensitivity to noise owing to minimal smoothing. The kernels are: G_x = \begin{bmatrix} 0 & 1 \\ -1 & 0 \end{bmatrix}, \quad G_y = \begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix}. These kernels approximate the gradient by differencing adjacent diagonal pixels, which enhances responsiveness to 45-degree and 135-degree edges but can produce fragmented results in noisy environments. To address limitations in rotational invariance of the Sobel and Prewitt operators, the Scharr operator, developed by J. Scharr in 2000, refines the 3x3 kernel design with fractional weights that better approximate isotropic gradient estimation, yielding improved angular response and reduced directional bias across orientations. (Note: Specific kernel matrices involve coefficients like 3/32 and -3/32 for enhanced isotropy, prioritizing empirical optimality over integer simplicity.) This adaptation maintains the 3x3 footprint for compatibility while minimizing systematic errors in gradient magnitude and direction, particularly beneficial for precise edge orientation in subsequent processing tasks. Integrations of the Sobel operator with second-order derivatives, such as the Laplacian of Gaussian (LoG), extend first-order gradient detection by incorporating zero-crossing analysis for more accurate edge localization, as explored in hybrid approaches that multiply Sobel gradients with Laplacian responses to sharpen edges while suppressing noise through Gaussian smoothing. In this combination, the Sobel kernels first compute directional gradients, and the LoG operator—convolving the image with a Gaussian-smoothed Laplacian—identifies zero-crossings in the second derivative to pinpoint edge positions, effectively blending the strengths of magnitude-based detection with sub-pixel precision for robust edge maps in varied lighting conditions. (Marr and Hildreth's 1980 framework for LoG zero-crossings provides the theoretical basis, adapted here with Sobel for directional enhancement.) Custom modifications to the Sobel operator often involve adjusting kernel weights to handle anisotropic edges prevalent in textured images, where directional preferences in edge strength require tailored gradient sensitivity to avoid blurring or overemphasis in non-uniform regions. For instance, dynamic anisotropic structures replace symmetric weights with adaptive coefficients based on local texture orientation, enhancing detection of elongated or directionally varying edges while preserving isotropy in homogeneous areas, as demonstrated in noise-resilient implementations that outperform standard Sobel on textured datasets. These adjustments, typically derived from local gradient statistics, enable application-specific tuning without altering the core convolution mechanism.

Practical Usage

Edge Detection Example

To illustrate the application of the Sobel operator in , consider a simple 5x5 image depicting a basic vertical step edge with a dark-to-light transition. The intensities are 0 (dark) in the left three columns and 255 (light) in the right two columns, representing an abrupt change in brightness along the boundary between columns 3 and 4. This synthetic image is defined as follows:
  0  0  0 255 255
  0  0  0 255 255
  0  0  0 255 255
  0  0  0 255 255
  0  0  0 255 255
The Sobel operator uses two 3x3 to approximate the gradients: the horizontal gradient kernel G_x for detecting vertical edges and the vertical gradient kernel G_y for detecting horizontal edges. These are given by: G_x = \begin{bmatrix} -1 & 0 & 1 \\ -2 & 0 & 2 \\ -1 & 0 & 1 \end{bmatrix}, \quad G_y = \begin{bmatrix} -1 & -2 & -1 \\ 0 & 0 & 0 \\ 1 & 2 & 1 \end{bmatrix} The computation proceeds by convolving the input image with each separately, assuming zero-padding at the boundaries to maintain the output size at 5x5. The convolution at each position (i, j) yields the partial derivatives G_x(i,j) and G_y(i,j). The magnitude is then calculated as G(i,j) = \sqrt{ G_x(i,j)^2 + G_y(i,j)^2 }, which highlights the strength of . Finally, a is applied to G to produce a edge map, where pixels exceeding the threshold indicate detected . For a concrete calculation, consider the center position at row 3, column 3 (1-indexed). The 3x3 neighborhood centered there consists of rows 2–4 and columns 2–4:
  0  0 255
  0  0 255
  0  0 255
Applying G_x:
  • Top row: $0 \cdot (-1) + 0 \cdot 0 + 255 \cdot 1 = 255
  • Middle row: $0 \cdot (-2) + 0 \cdot 0 + 255 \cdot 2 = 510
  • Bottom row: $0 \cdot (-1) + 0 \cdot 0 + 255 \cdot 1 = 255
Thus, G_x(3,3) = 255 + 510 + 255 = 1020. Applying G_y:
  • Top row: $0 \cdot (-1) + 0 \cdot (-2) + 255 \cdot (-1) = -255
  • Middle row: $0 \cdot 0 + 0 \cdot 0 + 255 \cdot 0 = 0
  • Bottom row: $0 \cdot 1 + 0 \cdot 2 + 255 \cdot 1 = 255
Thus, G_y(3,3) = -255 + 0 + 255 = 0. The magnitude is G(3,3) = \sqrt{1020^2 + 0^2} = 1020. Computations at adjacent positions along the step boundary (columns 3–5) yield high magnitudes (765–1082) due to the kernel's response and zero-padding at the right , while positions away from the (e.g., column 1–2) yield near-zero values. Applying a of 500 to the full binarizes it, marking a band of detected . The resulting , affected by boundary padding, is:
0 0 1 1 1
0 0 1 1 1
0 0 1 1 1
0 0 1 1 1
0 0 1 1 1
(1 indicates edge pixel, 0 indicates non-edge.) Note that zero-padding introduces a false response in column 5, spreading the detection beyond the true step edge between columns 3 and 4; replicate padding or larger images can mitigate such artifacts. In this example, the gradient magnitudes peak at the intensity transition and extend due to the operator's smoothing, demonstrating how the Sobel operator approximates the image derivative to isolate boundaries, though boundary conditions affect results near edges. A simple text-based diagram of the process is: Input Step Edge → Convolution with G_x (high response) + G_y (low response) → Magnitude Map (peak at edge) → Threshold → Binary Edge Band (with boundary artifacts). To demonstrate common pitfalls, consider adding Gaussian noise (e.g., small random variations of ±10 to some pixels) to the input image. This introduces spurious low-magnitude gradients throughout, creating faint artifacts in the magnitude map that may produce false edges after thresholding if the threshold is too low. Additionally, zero-padding at the image boundaries can distort gradient estimates near the edges, leading to weakened, shifted, or extraneous detections at the top, bottom, left, and right borders.

Performance Comparisons

The Sobel operator is commonly evaluated against other edge detection techniques using key performance metrics, including edge localization error (measuring how precisely edges align with true boundaries), noise suppression via (PSNR, where higher values indicate better preservation of signal quality amid noise, computed on edge maps vs. ), and runtime efficiency on benchmark images such as the test image. These metrics highlight trade-offs in accuracy, robustness to noise, and computational cost, with evaluations often conducted on images under varying noise levels (e.g., Gaussian or salt-and-pepper). For instance, is typically measured in seconds on standard hardware from older s, while PSNR quantifies how well the detected edge map retains fidelity compared to ground-truth edges. Compared to the Canny operator, the Sobel operator offers simplicity and low computational cost but generally lags in accuracy for thin edge localization, as Canny's multi-stage —including Gaussian for and non-maximum suppression—yields cleaner, more precise edges. On noisy images, varies by ; some benchmarks show Sobel with slightly higher PSNR (e.g., ~11 vs. ~10 for Canny), though Canny reduces false positives through better handling, at the cost of increased complexity (runtimes similar or 1.5–2 times longer in various tests). Relative to the Prewitt and Roberts operators, the Sobel operator provides enhanced noise suppression thanks to its weighted kernel centers (emphasizing the 2 in the 1-2-1 averaging), resulting in fewer artifacts than Prewitt's uniform weighting or Roberts' compact 2x2 cross-gradient approach, which is highly sensitive to noise. The Roberts operator offers the fastest runtime—often under that of Sobel—making it suitable for or low-noise scenarios, while Sobel balances speed and stability better for general images. Quantitative studies show Sobel yielding lower edge localization errors than Roberts but comparable to Prewitt in many cases.
OperatorSpeed (Relative Runtime)Noise Suppression (Typical PSNR on Edge Maps)Edge Localization
SobelHigh (e.g., ~1 s on benchmarks)Medium (~10-11 dB)Medium
CannyMedium (similar to ~1.5x Sobel)Medium-High (~10 dB)High
PrewittHigh (similar to Sobel)Low (~9-11 dB)Medium
RobertsVery High (faster than Sobel)Low (~9-10 dB)Low
These findings from benchmark studies underscore Sobel's efficiency as a baseline, though it may produce more false positives in noisy data compared to Canny. Runtimes and PSNR vary with , image size, and noise type; modern implementations can achieve milliseconds. In practical use cases, the Sobel operator is favored for applications like and , where its low computational overhead enables processing at 30+ frames per second, whereas Canny or advanced variants are preferred for high-precision tasks such as to minimize localization errors. A notable limitation of the Sobel operator is its tendency to produce thicker edges due to magnitude averaging, which can be mitigated by post-processing with non-maximum suppression to thin edges without significant runtime increase.

References

  1. [1]
    Sobel Derivatives - OpenCV Documentation
    The Sobel Operator is a discrete differentiation operator. It computes an approximation of the gradient of an image intensity function. · The Sobel Operator ...
  2. [2]
    [PDF] Sobel Operator and Canny Edge Detector ECE 480 Fall 2013 Team ...
    Two different types of edge detectors are explored and analyzed in this paper: Sobel operator and Canny edge detector. The performance of two edge detection ...
  3. [3]
    [PDF] 6.801/6.866: Machine Vision, Lecture 11 - MIT OpenCourseWare
    Helpful especially for images with lots of pixels. Next, we will discuss the 3-by-3 Sobel operator. We can think of this Sobel operator (in each dimension) as ...
  4. [4]
    [PDF] Lecture 5 & 6: Image Processing
    • As with any function, we can apply operators to an image g (x,y) = f ... • The standard definition of the Sobel operator omits the 1/8 term. – doesn't ...Missing: history | Show results with:history
  5. [5]
    [PDF] A Review of Classic Edge Detectors - IPOL Journal
    Jun 16, 2015 · In the 70's, edge detection methods were implemented using small operators (such as Sobel masks), attempting to compute an approximation of the ...
  6. [6]
    [PDF] A Descriptive Algorithm for Sobel Image Edge Detection - OR Vincent
    The Sobel operator performs a 2-D spatial gradient measurement on images. ... Gonzalez, R., & Woods, R. (2002). Digital image processing (2nd ed ...
  7. [7]
    Sobel Edge Detector
    The Sobel operator is slower to compute than the Roberts Cross operator, but ... Gonzalez and R. Woods Digital Image Processing, Addison Wesley, 1992 ...
  8. [8]
    High performance and energy efficient sobel edge detection
    The Sobel operator is one of the most popular edge detection methods, offering better performance than the Prewitt or the Robert operators in terms of noise ...
  9. [9]
    [PDF] History and Definition of the so-called "Sobel Operator"
    Feb 2, 2014 · Subsequently Pingle published a paper (1969) describing it as part of his edge follower, and. Duda and Hart mentioned it in their book. In ...
  10. [10]
    75 Years of Innovation: Computer vision - SRI International
    Dec 7, 2021 · In the SAIL ON program, SRI developed predictive coding-based techniques for detection of novelties in new worlds.
  11. [11]
    [PDF] The First Ten Years of Artificial Intelligence Research at Stanford
    Gary Feldman. Butterfinger, 16mm color with sound 8 min., March 1968. Gary ... [Sobel 1970] Irwin Sobel, Camera Models and Machine PerceMion, Stanford ...
  12. [12]
    (PDF) An Isotropic 3x3 Image Gradient Operator - ResearchGate
    A simple, computationally efficient, gradient operator which we developed in 1968.This operator has been frequently used and referenced since that time.
  13. [13]
    Image Gradients - OpenCV Documentation
    Calculates the first, second, third, or mixed image derivatives using an extended Sobel operator. cv::Laplacian. void Laplacian(InputArray src, OutputArray ...
  14. [14]
    (PDF) An Isotropic 3x3 Image Gradient Operator - ResearchGate
    A 3x3 Isotropic Gradient Operator for Image Processing, presented at the Stanford Artificial Intelligence Project (SAIL) in 1968.Missing: invention Institute
  15. [15]
    Sobel Operator - an overview | ScienceDirect Topics
    In this study, the Sobel operator (Gonzalez and Woods, 1992a) was applied to extract the boundary areas. The pixels in the boundary areas have a high gray ...
  16. [16]
    [PDF] Lecture # 4 Edge Detection - Digital Image Processing
    Gradient Operators. Extract vertical edges. Sobel Operator. Page 4. Sobel Operator: Example. Sobel filters are typically used for edge detection. An image of a.Missing: excerpt | Show results with:excerpt
  17. [17]
    [PDF] CS 664 Lecture 6 Edge and Corner Detection, Gaussian Filtering
    ... Detectors. ▫ Historically several local edge operators based on derivatives. – Simple local weighting over small set of pixels. ▫ For example Sobel operator. – ...Missing: history | Show results with:history
  18. [18]
    [PDF] Lecture 3: Linear Filters and Convolution
    Different border handling methods specify different ways of defining values for pixels that are off the image. • One of the simplest methods is zero-padding, ...
  19. [19]
  20. [20]
    [2305.00515] Multi-directional Sobel operator kernel on GPUs - arXiv
    Apr 30, 2023 · This paper proposes a fast graphics processing unit (GPU) kernel for the four-directional 5x5 Sobel operator.
  21. [21]
    Sobel Derivatives - OpenCV Documentation
    The Sobel Operator is a discrete differentiation operator. It computes an approximation of the gradient of an image intensity function. The Sobel Operator ...
  22. [22]
  23. [23]
    skimage.filters — skimage 0.25.2 documentation
    Find edges in an image using the Sobel filter. Parameters: imagearray. The input image. maskarray of bool, optional. Clip the output image to this mask.
  24. [24]
    edge - Find edges in 2-D grayscale image - MATLAB - MathWorks
    For the "Sobel" , "Prewitt" , and "Roberts" methods, the function uses the threshold value to determine the magnitude of the gradient to consider as an edge. A ...
  25. [25]
    A new edge detector for gray volumetric data - ScienceDirect.com
    We propose a 3-D edge detector for gray voxel-based data, generalizing the well-known Sobel operator for 2-D images. Three differentiation operators are ...
  26. [26]
    Improving 3D Edge Detection for Visual Inspection of MRI ...
    Edges from the original volume can be identified based on the zero crossings of the convolved image. Note that all the produced zero-crossings by definition ...
  27. [27]
    [PDF] A Color Edge Detection Algorithm in RGB Color Space - Soumya Dutta
    Edge detection in color image is far more challenging task than gray scale ... Each pixel in the image consists of three color channels known as RGB components.
  28. [28]
    [PDF] Color Image Edge Detection: A Survey - IJIET
    Abstract- This paper presents a comprehensive review on various color edge detection techniques. Several edge detection techniques have been proposed in ...
  29. [29]
    River Surface Space–Time Image Velocimetry Based on Dual ...
    The adaptive threshold Sobel operator enhances edge delineation in STIs by effectively capturing boundaries that directly characterize the texture orientation.
  30. [30]
    tf.nn.convolution | TensorFlow v2.16.1
    Computes sums of N-D convolutions (actually cross-correlation).Missing: n- Sobel
  31. [31]
    [PDF] A New Approach for 3D Range Image Segmentation using Gradient ...
    For segmentation of images using sobel operator for 3D volumes, there are two approaches. First approach: 2D techniques are used on 3D data. (3D volumes) which ...
  32. [32]
    [PDF] Object enhancement and extraction - UTK-EECS
    Judith M. S. Prewitt. University of Pennsylvania. Philadelphia, Pennsylvania. INTRODUCTION. Object enhancement, extraction, characterization and recognition are.
  33. [33]
    [PDF] COMBINING LAPLACIAN AND SOBEL GRADIENT FOR GREATER ...
    Multiplying Laplacian with Sobel gradient gives an image whose fine details and edges both are enhanced.
  34. [34]
    [PDF] Noise Robust Image Edge Detection based upon the Automatic ...
    Abstract: This paper presents a novel noise robust edge detector based upon the automatic anisotropic. Gaussian kernels (ANGKs), which also addresses the ...
  35. [35]
    Assignment 1: Edge Detection (Due Date
    The gradient operator we are going to use in this assignment is Sobel operator. ... ↖. Each cell shows its gradient magnitude and direction. For this image ...Missing: formula | Show results with:formula
  36. [36]
    [PDF] Lecture 2: Image filtering - CS@Cornell
    of the Sobel operator omits the 1/8 term. – doesn't make a difference for edge detection. – the 1/8 term is needed to get the right gradient value. Page 47 ...
  37. [37]
    [PDF] Chapter 5. Edge Detection
    Note that, unlike the Sobel operator, this operator does not place any em- phasis on pixels that are closer to the center of the masks. The performance of this ...<|control11|><|separator|>
  38. [38]
    [PDF] COMPARATIVE STUDY AMONG SOBEL, PREWITT AND CANNY ...
    Oct 15, 2018 · The experimental results shows that canny edge detection technique results higher than Prewitt and Sobel edge detection techniques. Keywords: ...
  39. [39]
    [PDF] Study and Comparison of Different Edge Detectors for Image ...
    The sobel operator is based on convolving the image with a small ... R. C. Gonzalez and R. E. Woods. “Digital Image. Processing”. 2nd ed. Prentice ...
  40. [40]
    Comparison of Canny edge detector with Sobel and Prewitt edge ...
    It has been shown that the Cannys edge detection algorithm performs better than Sobel, and Prewitt edge detectors.
  41. [41]
    A Comparison of Sobel and Prewitt Edge Detection Operators
    Sep 1, 2025 · This paper presents a comparative analysis of Sobel and Prewitt edge detection operators, focusing on their performance in detecting edges in digital images.
  42. [42]
    [PDF] Comparison between Edge Detection Techniques
    Canny edge detection is less sensitive to the noise but is more expensive than Robert, Sobel, and prewitt operator. However, canny edge detection performs.
  43. [43]
    Comparative Analysis of Edge Detection Operators Using a ...
    Dec 27, 2024 · The manuscript conducts a comparative analysis to assess the impact of noise on medical images using a proposed threshold value estimation approach.