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()