Skip to content

Commit 6431827

Browse files
author
Lazo K
authored
Update README.md
1 parent 2d10492 commit 6431827

File tree

1 file changed

+101
-1
lines changed

1 file changed

+101
-1
lines changed

README.md

Lines changed: 101 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,102 @@
11
# Image-Processing-Library
2-
Library for processing and manipulating images.
2+
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 multithreading where applicable.
3+
4+
# Samples
5+
6+
The documentation below exhibits what is possible with the library. The following image will be used for the demonstrations:
7+
8+
![alt-tag] (Samples/sample_image.jpg)
9+
10+
## Edge Detection
11+
12+
The library supports several different edge detection algorithms with different intensities.
13+
14+
### Low Edge Detection
15+
16+
![alt-tag] (Samples/edges_low.jpg)
17+
18+
### High Edge Detection
19+
20+
![alt-tag] (Samples/edge_high.jpg)
21+
22+
### Horizontal Edge Detection
23+
24+
![alt-tag] (Samples/edges_horizontal.jpg)
25+
26+
### Vertical Edge Detection
27+
28+
![alt-tag] (Samples/edges_vertical.jpg)
29+
30+
## Thresholding
31+
32+
The library supports three different thresholding algorithms. These algorithms use LockBits and multithreading and are processed much faster than the others; almost instantaneously.
33+
34+
### Binary Thresholding
35+
36+
![alt-tag] (Samples/threshold.jpg)
37+
38+
### Trinary Thresholding
39+
40+
![alt-tag] (Samples/threshold_2.jpg)
41+
42+
### Multi-Level Thresholding
43+
44+
![alt-tag] (Samples/threshold_3.jpg)
45+
46+
## Blurring
47+
48+
Different intensities of blurring are available, as well as motion blur.
49+
50+
### Regular Blur
51+
52+
![alt-tag] (Samples/blur_high.jpg)
53+
54+
### Motion Blur
55+
56+
![alt-tag] (Samples/motion_blur.jpg)
57+
58+
## Sharpening
59+
60+
![alt-tag] (Samples/sharpen.jpg)
61+
62+
## Embossing
63+
64+
![alt-tag] (Samples/emboss.jpg)
65+
66+
## Color Channel Manipulation
67+
68+
The library supports many different algorithms for manipulating the color channels, including swapping, removal and intensity adjustment:
69+
70+
### Channel Swapping
71+
72+
The color channels can be swapped in many different ways. The following image has its green and blue channels swapped:
73+
74+
![alt-tag] (Samples/SwapGreenAndBlue.jpg)
75+
76+
### Channel Removal
77+
78+
Each color channel can be removed. The following image has its red channel completely dialed down to zero:
79+
80+
![alt-tag] (Samples/RemoveRed.jpg)
81+
82+
### Intensity Adjustment
83+
84+
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:
85+
86+
![alt-tag] (Samples/BlueToRed.jpg)
87+
88+
## Brighten
89+
90+
![alt-tag] (Samples/brighten.jpg)
91+
92+
## Darken
93+
94+
![alt-tag] (Samples/darken.jpg)
95+
96+
## Invert
97+
98+
![alt-tag] (Samples/invert.jpg)
99+
100+
## Cartoonify
101+
102+
![alt-tag] (Samples/cartoonify.jpg)

0 commit comments

Comments
 (0)