Code Monkey home page Code Monkey logo

imagefilteringsystem's Introduction

Image Filtering System

The project is made for as a part of college work , Module OOP

Overview

A Java API that can apply one or more kernel filters to an image or a directory of images.

Using Kernels to Filter Images

Images are typically stored on a computer in a compressed lossy (JPEG) or lossless (GIF, PNG) format. When an image is opened in a graphics application like Photoshop or GIMP, it is usually rasterized and converted into a bitmap that uses a 32 bit integer to represent a pixel. Each pixel therefore can encode the four ARGB (alpha, red, green, blue) channels using 1 byte, creating a range of [0...255] for each channel. The 24 bits of the 3 RGB channels can be used to represent 2563 =224=16,777,216 different colours, with the alpha channel controlling the transparency of the image. A raw bitmap image of dimensions 800 x 600 pixels will contain a total of 480,000 pixels. Among the many features of a graphics application like Photoshop is the ability to filter an image to create some kind of an effect. These effects include edge detection, blurring, sharpening and embossing and are created by applying a matrix of values to each pixel in the image. The matrix of values is called a convolution matrix, a kernel, or a kernel matrix. A convolution is a mathematical operation that blends two functions together

The matrix itself is just a 2D array of numbers that slides across the pixels of the rasterized image and is used to compute a new value for each pixel. In the image , the 3 x 3 kernel can be used to detect the edges in an image by changing the value of a pixel using the weights in the kernel and the immediate surrounding pixels in the image. In the example, the pixel value 89 is converted to 145 by the convolution. The same operation is applied to every pixel in the image, including edge pixels at the top, bottom and sides. If the image is in greyscale format, all pixels are encoded with 1 byte and have a value in the range [0..255] and the convolution can be performed by tiling over the image as shown in Fig. 2. If the image is in RGB colour, the convolution needs to be applied separately to each colour channel.

Below shows a set of convolution kernels and their effect on an image

Getting Started

Download the zip archive , Navigate to the folder using command promt ,

This command will let you run the project : java โ€“cp ./oop.jar ie.gmit.sw.Runner.Runner

For detail explanation please -> Click Me

Versioning

Version 1

Authors

SarabDevOps

License

This project is licensed under the MIT License - see the LICENSE.md file for details

imagefilteringsystem's People

Contributors

sarabdevops avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.