-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCELdek_Dimensions_Automata.py
63 lines (45 loc) · 1.84 KB
/
CELdek_Dimensions_Automata.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
from skimage import morphology
from skimage import measure
path_image_Train = "/Users/StarShipIV/Google_Drive/Progetti/CELdek_Vision/Images/IMG_2209.JPG"
im = Image.open(path_image_Train)
im.show()
im_grey= im.convert('L')
im_grey.show()
im_bin = 1*(np.array(im_grey) < 155)
plt.imshow(im_bin, interpolation='nearest')
plt.show()
im_eroded = morphology.erosion(im_bin, np.ones((5,5)))
im_dilated = morphology.dilation(im_eroded, np.ones((5,5)))
plt.imshow(im_dilated, interpolation='nearest')
plt.show()
label_list = measure.label(im_dilated)
feats = measure.regionprops(label_list)
maj_axis_pix = feats[0].major_axis_length
min_axis_pix = feats[0].minor_axis_length
# pix_to_mm = maj_axis_pix/199 #it's 9.487575323750026 pixels/mm
maj_axis_mm = round(maj_axis_pix/9.487575323750026, 3)
min_axis_mm = round(min_axis_pix/9.487575323750026, 3)
print("Dimensions", maj_axis_mm, " x ", min_axis_mm)
# ------------------------------------------------------------------------------------------------------- #
# Testing
from PIL import Image
import numpy as np
from skimage import morphology
from skimage import measure
path_image_Test= "/Users/StarShipIV/Google_Drive/Progetti/CELdek_Vision/Images/IMG_2210.JPG"
im = Image.open(path_image_Train)
im_grey= im.convert('L')
im_bin = 1*(np.array(im_grey) < 155)
plt.imshow(im_bin, interpolation='nearest')
im_eroded = morphology.erosion(im_bin, np.ones((5,5)))
im_dilated = morphology.dilation(im_eroded, np.ones((5,5)))
label_list = measure.label(im_dilated)
feats = measure.regionprops(label_list)
maj_axis_pix = feats[0].major_axis_length
min_axis_pix = feats[0].minor_axis_length
maj_axis_mm = round(maj_axis_pix/9.487575323750026, 3)
min_axis_mm = round(min_axis_pix/9.487575323750026, 3)
print("Dimensions", maj_axis_mm, " x ", min_axis_mm)