Kernel (Java Platform SE 8 )
Keywords: java.awt.image.Kernel class
Date: 2026-03-16

java.awt.image

## Class Kernel

- java.lang.Object
- - java.awt.image.Kernel

- All Implemented Interfaces:
    Cloneable

      public class Kernel
      extends Object
      implements Cloneable

  The `Kernel` class defines a matrix that describes how a specified pixel and its surrounding pixels affect the value computed for the pixel's position in the output image of a filtering operation. The X origin and Y origin indicate the kernel matrix element that corresponds to the pixel position for which an output value is being computed.
  See Also:
    `ConvolveOp`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Kernel(int width, int height, float[] data)` Constructs a `Kernel` object from an array of floats.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `clone()` Clones this object.
    `int` | `getHeight()` Returns the height of this `Kernel`.
    `float[]` | `getKernelData(float[] data)` Returns the kernel data in row major order.
    `int` | `getWidth()` Returns the width of this `Kernel`.
    `int` | `getXOrigin()` Returns the X origin of this `Kernel`.
    `int` | `getYOrigin()` Returns the Y origin of this `Kernel`.

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Kernel

          public Kernel(int width,
                        int height,
                        float[] data)

      Constructs a `Kernel` object from an array of floats. The first `width`*`height` elements of the `data` array are copied. If the length of the `data` array is less than width*height, an `IllegalArgumentException` is thrown. The X origin is (width-1)/2 and the Y origin is (height-1)/2.
      Parameters:
        `width` - width of the kernel
        `height` - height of the kernel
        `data` - kernel data in row major order
      Throws:
        `IllegalArgumentException` - if the length of `data` is less than the product of `width` and `height`

  - ### Method Detail

    - #### getXOrigin

          public final int getXOrigin()

      Returns the X origin of this `Kernel`.
      Returns:
        the X origin.

    - #### getYOrigin

          public final int getYOrigin()

      Returns the Y origin of this `Kernel`.
      Returns:
        the Y origin.

    - #### getWidth

          public final int getWidth()

      Returns the width of this `Kernel`.
      Returns:
        the width of this `Kernel`.

    - #### getHeight

          public final int getHeight()

      Returns the height of this `Kernel`.
      Returns:
        the height of this `Kernel`.

    - #### getKernelData

          public final float[] getKernelData(float[] data)

      Returns the kernel data in row major order. The `data` array is returned. If `data` is `null`, a new array is allocated.
      Parameters:
        `data` - if non-null, contains the returned kernel data
      Returns:
        the `data` array containing the kernel data in row major order or, if `data` is `null`, a newly allocated array containing the kernel data in row major order
      Throws:
        `IllegalArgumentException` - if `data` is less than the size of this `Kernel`

    - #### clone

          public Object clone()

      Clones this object.
      Overrides:
        `clone` in class `Object`
      Returns:
        a clone of this object.
      See Also:
        `Cloneable`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.