Home

Awesome

Image-Processing-Library

Library for processing and manipulating images. Includes edge detection, color channel swapping, embossing, sharpening, thresholding and more. Some of the filters are applied by using <a href="https://en.wikipedia.org/wiki/Kernel_(image_processing)">kernel convolution</a> and <a href="https://msdn.microsoft.com/en-us/library/system.drawing.bitmap.lockbits(v=vs.110).aspx">LockBits</a> while others use <a href="https://msdn.microsoft.com/en-us/library/system.drawing.bitmap.getpixel(v=vs.110).aspx">GetPixel</a> and multithreading. Also includes a histogram generator and a hue detector.

Samples

The documentation below exhibits what is possible with the library. The following image will be used for the demonstrations:

alt-tag

Edge Detection

The library supports several different edge detection algorithms with different intensities.

Low Edge Detection

alt-tag

High Edge Detection

alt-tag

Horizontal Edge Detection

alt-tag

Vertical Edge Detection

alt-tag

Thresholding

The library supports three different thresholding algorithms. These algorithms use LockBits and multithreading and are processed much faster than the others; almost instantaneously.

Binary Thresholding

alt-tag

Trinary Thresholding

alt-tag

Multi-Level Thresholding

alt-tag

Blurring

Different intensities of blurring are available, as well as motion blur.

Regular Blur

alt-tag

Motion Blur

alt-tag

Sharpening

alt-tag

Embossing

alt-tag

Color Channel Manipulation

The library supports many different algorithms for manipulating the color channels, including swapping, removal and intensity adjustment:

Channel Swapping

The color channels can be swapped in many different ways. The following image has its green and blue channels swapped:

alt-tag

Channel Removal

Each color channel can be removed. The following image has its red channel completely dialed down to zero:

alt-tag

Intensity Adjustment

Each color channel can by dialed up or down to match the intensity of another color channel. The following image has its blue channel dialed up to match the intensity of its red channel, this creates purple where the red had high intensity:

alt-tag

Brighten

alt-tag

Darken

alt-tag

Invert

alt-tag

Cartoonify

alt-tag

Histogram Generator

The following is a histogram of the RGB channels of the original image.

alt-tag

Hue Detector

The following detects the hue under the mouse and displays the details.

alt-tag