Package com.jhlabs.image
Class ConvolveFilter
- java.lang.Object
-
- com.jhlabs.image.AbstractBufferedImageOp
-
- com.jhlabs.image.ConvolveFilter
-
- All Implemented Interfaces:
java.awt.image.BufferedImageOp
,java.lang.Cloneable
- Direct Known Subclasses:
AverageFilter
,BlurFilter
,BumpFilter
,GaussianFilter
,SharpenFilter
public class ConvolveFilter extends AbstractBufferedImageOp
A filter which applies a convolution kernel to an image.
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
alpha
static int
CLAMP_EDGES
protected java.awt.image.Kernel
kernel
static int
WRAP_EDGES
static int
ZERO_EDGES
-
Constructor Summary
Constructors Constructor Description ConvolveFilter()
Construct a filter with a null kernel.ConvolveFilter(float[] matrix)
Construct a filter with the given 3x3 kernel.ConvolveFilter(int rows, int cols, float[] matrix)
Construct a filter with the given kernel.ConvolveFilter(java.awt.image.Kernel kernel)
Construct a filter with the given 3x3 kernel.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
convolve(java.awt.image.Kernel kernel, int[] inPixels, int[] outPixels, int width, int height, boolean alpha, int edgeAction)
static void
convolve(java.awt.image.Kernel kernel, int[] inPixels, int[] outPixels, int width, int height, int edgeAction)
static void
convolveH(java.awt.image.Kernel kernel, int[] inPixels, int[] outPixels, int width, int height, boolean alpha, int edgeAction)
Convolve with a kernel consisting of one rowstatic void
convolveHV(java.awt.image.Kernel kernel, int[] inPixels, int[] outPixels, int width, int height, boolean alpha, int edgeAction)
Convolve with a 2D kernelstatic void
convolveV(java.awt.image.Kernel kernel, int[] inPixels, int[] outPixels, int width, int height, boolean alpha, int edgeAction)
Convolve with a kernel consisting of one columnjava.awt.image.BufferedImage
createCompatibleDestImage(java.awt.image.BufferedImage src, java.awt.image.ColorModel dstCM)
java.awt.image.BufferedImage
filter(java.awt.image.BufferedImage src, java.awt.image.BufferedImage dst)
java.awt.geom.Rectangle2D
getBounds2D(java.awt.image.BufferedImage src)
int
getEdgeAction()
java.awt.image.Kernel
getKernel()
java.awt.geom.Point2D
getPoint2D(java.awt.geom.Point2D srcPt, java.awt.geom.Point2D dstPt)
java.awt.RenderingHints
getRenderingHints()
boolean
getUseAlpha()
void
setEdgeAction(int edgeAction)
void
setKernel(java.awt.image.Kernel kernel)
void
setUseAlpha(boolean useAlpha)
java.lang.String
toString()
-
Methods inherited from class com.jhlabs.image.AbstractBufferedImageOp
clone, getRGB, setRGB
-
-
-
-
Constructor Detail
-
ConvolveFilter
public ConvolveFilter()
Construct a filter with a null kernel. This is only useful if you're going to change the kernel later on.
-
ConvolveFilter
public ConvolveFilter(float[] matrix)
Construct a filter with the given 3x3 kernel.- Parameters:
matrix
- an array of 9 floats containing the kernel
-
ConvolveFilter
public ConvolveFilter(int rows, int cols, float[] matrix)
Construct a filter with the given kernel.- Parameters:
rows
- the number of rows in the kernelcols
- the number of columns in the kernelmatrix
- an array of rows*cols floats containing the kernel
-
ConvolveFilter
public ConvolveFilter(java.awt.image.Kernel kernel)
Construct a filter with the given 3x3 kernel.- Parameters:
matrix
- an array of 9 floats containing the kernel
-
-
Method Detail
-
setKernel
public void setKernel(java.awt.image.Kernel kernel)
-
getKernel
public java.awt.image.Kernel getKernel()
-
setEdgeAction
public void setEdgeAction(int edgeAction)
-
getEdgeAction
public int getEdgeAction()
-
setUseAlpha
public void setUseAlpha(boolean useAlpha)
-
getUseAlpha
public boolean getUseAlpha()
-
filter
public java.awt.image.BufferedImage filter(java.awt.image.BufferedImage src, java.awt.image.BufferedImage dst)
-
createCompatibleDestImage
public java.awt.image.BufferedImage createCompatibleDestImage(java.awt.image.BufferedImage src, java.awt.image.ColorModel dstCM)
- Specified by:
createCompatibleDestImage
in interfacejava.awt.image.BufferedImageOp
- Overrides:
createCompatibleDestImage
in classAbstractBufferedImageOp
-
getBounds2D
public java.awt.geom.Rectangle2D getBounds2D(java.awt.image.BufferedImage src)
- Specified by:
getBounds2D
in interfacejava.awt.image.BufferedImageOp
- Overrides:
getBounds2D
in classAbstractBufferedImageOp
-
getPoint2D
public java.awt.geom.Point2D getPoint2D(java.awt.geom.Point2D srcPt, java.awt.geom.Point2D dstPt)
- Specified by:
getPoint2D
in interfacejava.awt.image.BufferedImageOp
- Overrides:
getPoint2D
in classAbstractBufferedImageOp
-
getRenderingHints
public java.awt.RenderingHints getRenderingHints()
- Specified by:
getRenderingHints
in interfacejava.awt.image.BufferedImageOp
- Overrides:
getRenderingHints
in classAbstractBufferedImageOp
-
convolve
public static void convolve(java.awt.image.Kernel kernel, int[] inPixels, int[] outPixels, int width, int height, int edgeAction)
-
convolve
public static void convolve(java.awt.image.Kernel kernel, int[] inPixels, int[] outPixels, int width, int height, boolean alpha, int edgeAction)
-
convolveHV
public static void convolveHV(java.awt.image.Kernel kernel, int[] inPixels, int[] outPixels, int width, int height, boolean alpha, int edgeAction)
Convolve with a 2D kernel
-
convolveH
public static void convolveH(java.awt.image.Kernel kernel, int[] inPixels, int[] outPixels, int width, int height, boolean alpha, int edgeAction)
Convolve with a kernel consisting of one row
-
convolveV
public static void convolveV(java.awt.image.Kernel kernel, int[] inPixels, int[] outPixels, int width, int height, boolean alpha, int edgeAction)
Convolve with a kernel consisting of one column
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-