123456789101112131415161718192021222324252627282930313233343536 |
- import sys
- import numpy as np
- import matplotlib.pyplot as plt
- from skimage.measure import label
- if len(sys.argv) < 2:
- print("No path provided")
- num = np.load(sys.argv[1])
- lb = label(num)
- fs = {}
- for l in np.unique(lb)[1:]:
- x, y = np.where(lb == l)
- x = x - x.min()
- y = y - y.min()
- k = (str(x), str(y))
- if k not in fs.keys():
- fs[k] = 1
- else:
- fs[k] += 1
- for i, (fi, coun) in enumerate(fs.items()):
- plt.subplot(1, 5, i + 1)
- fi = (
- np.fromstring(fi[0][1:-1], dtype=int, sep=" "),
- np.fromstring(fi[1][1:-1], dtype=int, sep=" "),
- )
- fig = np.zeros((max(fi[0]) + 1, max(fi[1]) + 1))
- fig[fi[0], fi[1]] = 1
- plt.title(f"{coun}")
- plt.imshow(fig)
- plt.suptitle(f"Всего: {len(fs.items())}")
- plt.show()
|