Back to all posts

Kernel Filter Applier

5/6/2024
A Java application that applies convolution kernel filters to images using Swing for the GUI.

๐Ÿ” Overview

This Java-based application allows users to:
  • Load images (JPG, PNG, etc.)
  • Apply various kernel filters (blur, sharpen, edge detection, etc.)
  • Preview transformations in real-time
  • Save processed images
Built with:
  • Java 8+
  • Swing for the graphical interface
  • Java 2D API for image processing

๐Ÿ› ๏ธ Features

Core Functionality

  • ๐Ÿ–ผ๏ธ Image loading/saving functionality
  • โš™๏ธ Predefined kernel filters:
    • Gaussian blur
    • Sharpen
    • Edge detection
    • Emboss
    • Box blur
  • โœ๏ธ Custom kernel input (3x3 or 5x5 matrices)

Technical Highlights

  • Pure Java implementation (no external dependencies)
  • Efficient pixel manipulation
  • Real-time preview of filters
  • Clean OOP design

๐Ÿ“ฅ Installation

  1. Requirements:
    • Java JDK 8 or later
    • Maven (for building from source)
  2. Build & Run:
git clone https://github.com/Abdullahon2006/kernel_filter_applier.git cd kernel_filter_applier mvn package java -jar target/kernel-filter-applier.jar

๐Ÿ–ฅ๏ธ Usage Example

// Example kernel application float[] edgeDetectionKernel = { -1, -1, -1, -1, 8, -1, -1, -1, -1 }; BufferedImage processed = KernelApplicator.applyKernel( originalImage, edgeDetectionKernel, 3, 3 );

๐Ÿง  Educational Value

Perfect for learning:
  • Java Swing GUI development
  • Image processing fundamentals
  • Convolution algorithms
  • Matrix operations on pixels

๐Ÿ“œ License

MIT License - See LICENSE file.

Contribute: Issues and PRs welcome!
Star the repo if you find it useful โญ