Пока это мой код, он показывает только дыры внутри пятен. Нужно знать, как их считать.
import cv2
import numpy as np
img_original = cv2.imread("spots.tif", cv2.IMREAD_GRAYSCALE)
img_flood_pxl = img_original.copy()
th, img_flood_pxl = cv2.threshold(img_original, 220, 255, cv2.THRESH_BINARY_INV)
h = img_original.shape[0]
w = img_original.shape[1]
mask = np.zeros((h+2, w+2), np.uint8)
cv2.floodFill(img_flood_pxl, mask, (0,0), 255);
img_flood_pxl_inv = cv2.bitwise_not(img_flood_pxl)
cv2.imshow("Holes only", img_flood_pxl_inv)
cv2.waitKey(0)
Кроме того, изображение, которое я должен использовать, - это .tif, но это выглядит как jpeg