|
2 | 2 | from PIL import Image
|
3 | 3 |
|
4 | 4 |
|
5 |
| -def rgb2gray(rgb): |
| 5 | +def rgb2gray(rgb: np.array) -> np.array: |
6 | 6 | """
|
7 | 7 | Return gray image from rgb image
|
| 8 | + >>> rgb2gray(np.array([[[127, 255, 0]]])) |
| 9 | + array([[187.6453]]) |
| 10 | + >>> rgb2gray(np.array([[[0, 0, 0]]])) |
| 11 | + array([[0.]]) |
| 12 | + >>> rgb2gray(np.array([[[2, 4, 1]]])) |
| 13 | + array([[3.0598]]) |
| 14 | + >>> rgb2gray(np.array([[[26, 255, 14], [ 5, 147, 20], [ 1, 200, 0]]])) |
| 15 | + array([[159.0524, 90.0635, 117.6989]]) |
8 | 16 | """
|
9 | 17 | r, g, b = rgb[:, :, 0], rgb[:, :, 1], rgb[:, :, 2]
|
10 | 18 | gray = 0.2989 * r + 0.5870 * g + 0.1140 * b
|
11 | 19 | return gray
|
12 | 20 |
|
13 | 21 |
|
14 |
| -def gray2binary(gray): |
| 22 | +def gray2binary(gray: np.array) -> np.array: |
15 | 23 | """
|
16 | 24 | Return binary image from gray image
|
| 25 | + >>> gray2binary(np.array([[127, 255, 0]])) |
| 26 | + array([[False, True, False]]) |
| 27 | + >>> gray2binary(np.array([[0]])) |
| 28 | + array([[False]]) |
| 29 | + >>> gray2binary(np.array([[26.2409, 4.9315, 1.4729]])) |
| 30 | + array([[False, False, False]]) |
| 31 | + >>> gray2binary(np.array([[26, 255, 14], [ 5, 147, 20], [ 1, 200, 0]])) |
| 32 | + array([[False, True, False], |
| 33 | + [False, True, False], |
| 34 | + [False, True, False]]) |
17 | 35 | """
|
18 | 36 | return (127 < gray) & (gray <= 255)
|
19 | 37 |
|
20 | 38 |
|
21 |
| -def dilation(image, kernel): |
| 39 | +def dilation(image: np.array, kernel: np.array) -> np.array: |
22 | 40 | """
|
23 | 41 | Return dilated image
|
| 42 | + >>> dilation(np.array([[True, False, True]]), np.array([[0, 1, 0], [1, 1, 1], [0, 1, 0]])) |
| 43 | + array([[ True, True, True]]) |
| 44 | + >>> dilation(np.array([[True, False, False]]), np.array([[0, 1, 0], [1, 1, 1], [0, 1, 0]])) |
| 45 | + array([[ True, True, False]]) |
24 | 46 | """
|
25 | 47 | output = np.zeros_like(image)
|
26 | 48 | image_padded = np.zeros(
|
|
0 commit comments