Skip to content

ghillert/image-filters-4j

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image-filters-4j

Java CI with Maven Maven Central Version GitHub License

Image Processing Filters for Java

I did not see any Mavenized version of Jerry Huxtable’s Java Image Processing Classes.

This repo contains all classes as available via the download at:

Getting Started

Maven

To use the filters in your Maven project, add the following dependency to your pom.xml:

<dependency>
    <groupId>com.hillert</groupId>
    <artifactId>image-filters-4j</artifactId>
    <version>1.0.0-M1</version>
</dependency>

If you are using Gradle, add the following to your build.gradle:

implementation 'com.hillert:image-filters-4j:1.0.0-M1'

Using Snapshot Versions

Currently, snapshot releases are available via the following Maven repository:

<repository>
  <id>snapshots-repo</id>
  <url>https://central.sonatype.com/repository/maven-snapshots</url>
  <releases>
    <enabled>false</enabled>
  </releases>
  <snapshots>
    <enabled>true</enabled>
  </snapshots>
</repository>

To use snapshot versions, add the following dependency to your pom.xml:

<dependency>
    <groupId>com.hillert</groupId>
    <artifactId>image-filters-4j</artifactId>
    <version>1.0.0-SNAPSHOT</version>
</dependency>

For Gradle, add the following to your build.gradle:

implementation 'com.hillert:image-filters-4j:1.0.0-SNAPSHOT'

Usage

final ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
final String imageResourcePath = "images/image-filters-4j.png";
final BufferedImage originalBufferedImage;

try (InputStream inputStream = classLoader.getResourceAsStream(imageResourcePath)) {
    if (inputStream == null) {
        throw new IllegalStateException("Resource not found: " + imageResourcePath);
    }
    originalBufferedImage = ImageIO.read(inputStream);
}
catch (IOException ex) {
    throw new IllegalStateException("Unable to read image at " + imageResourcePath, ex);
}

final BufferedImage grayscaleBufferedImage = new GrayscaleFilter().filter(originalBufferedImage, null);

final Path outputPath = Path.of("target", "image-filters-4j_output.png");

try {
    Files.createDirectories(outputPath.getParent());
    ImageIO.write(grayscaleBufferedImage, "png", outputPath.toFile());
}
catch (IOException ex) {
    throw new IllegalStateException("Unable to write image to " + outputPath, ex);
}

List of Filters

The following filters are included in this library:

Color Adjustment Filters

Filter New

ChannelMixFilter

ContrastFilter

CurvesFilter

DiffusionFilter

DitherFilter

ExposureFilter

GainFilter

GammaFilter

GrayFilter

GrayscaleFilter

HSBAdjustFilter

InvertAlphaFilter

InvertFilter

LevelsFilter

LookupFilter

MapColorsFilter

MaskFilter

PosterizeFilter

QuantizeFilter

RescaleFilter

RGBAdjustFilter

SepiaFilter

SolarizeFilter

ThresholdFilter

TritoneFilter

Distortion & Warping Filters

Filter New

BicubicScaleFilter

CircleFilter

CropFilter

DiffuseFilter

DisplaceFilter

DissolveFilter

FieldWarpFilter

FlipFilter

KaleidoscopeFilter

MarbleFilter

MirrorFilter

OffsetFilter

PerspectiveFilter

PinchFilter

PolarFilter

RippleFilter

RotateFilter

ScaleFilter

ShearFilter

SphereFilter

SwimFilter

TileImageFilter

TwirlFilter

WarpFilter

WaterFilter

Effects Filters

Filter New

BlockFilter

BorderFilter

ChromeFilter

ColorHalftoneFilter

CrystallizeFilter

EmbossFilter

FeedbackFilter

HalftoneFilter

LightFilter

NoiseFilter

PointillizeFilter

ShadowFilter

ShapeFilter

StampFilter

WeaveFilter

Texturing Filters

Filter New

BrushedMetalFilter

CausticsFilter

CellularFilter

CheckFilter

FBMFilter

FillFilter

FlareFilter

FourColorFilter

GradientFilter

PlasmaFilter

TextureFilter

ScratchFilter

SmearFilter

SparkleFilter

WoodFilter

Blurring & Sharpening Filters

Filter New

BlurFilter

BoxBlurFilter

BumpFilter

ConvolveFilter

DespeckleFilter

GaussianFilter

GlowFilter

HighPassFilter

LensBlurFilter

MaximumFilter

MedianFilter

MinimumFilter

MotionBlurFilter

OilFilter

RaysFilter

ReduceNoiseFilter

SharpenFilter

SmartBlurFilter

UnsharpFilter

VariableBlurFilter

Edge Detection

Filter New

DoGFilter

EdgeFilter

LaplaceFilter

Transitions

Filter New

BlurTransition

GradientWipeFilter

Alpha Channel Filters

Filter New

OpacityFilter

PremultiplyFilter

UnpremultiplyFilter

Miscellaneous Filters

Filter New

CompoundFilter

IteratedFilter

License

MIT. See LICENSE.

About

Image Processing Filters for Java

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages