[Top]
Image
Image.Image
|
Method Image.Image()->apply_matrix()
- Method
apply_matrix
-
object apply_matrix(array(array(int|array(int))) matrix)
object apply_matrix(array(array(int|array(int))) matrix, int r, int g, int b)
object apply_matrix(array(array(int|array(int))) matrix, int r, int g, int b, int|float div)
- Description
-
-
Applies a pixel-transform matrix, or filter, to the image.
2 2
pixel(x,y)= base+ k ( sum sum pixel(x+k-1,y+l-1)*matrix(k,l) )
k=0 l=0
1/k is sum of matrix, or sum of matrix multiplied with div.
base is given by r,g,b and is normally black.
blur (ie a 2d gauss function):
({({1,2,1}),
({2,5,2}),
({1,2,1})})
|
|
|
| original |
sharpen (k>8, preferably 12 or 16):
({({-1,-1,-1}),
({-1, k,-1}),
({-1,-1,-1})})
|
|
edge detect:
({({1, 1,1}),
({1,-8,1}),
({1, 1,1})})
|
|
horisontal edge detect (get the idea):
({({0, 0,0}),
({1,-2,1}),
({0, 0,0})})
|
|
emboss (might prefer to begin with a grey image):
({({2, 1, 0}),
({1, 0,-1}),
({0,-1,-2})}), 128,128,128, 3
|
|
|
| greyed |
This function is not very fast.
- Parameter array
-
-
the matrix; innermost is a value or an array with red, green, blue
values for red, green, blue separation.
- Parameter r
-
- Parameter g
-
- Parameter b
-
-
base level of result, default is zero
- Parameter div
-
-
division factor, default is 1.0.
- Returns
-
-
the new image object
|