Ну, я думаю, вам не нужно применять SLIC для этого. Базовое пороговое значение можно использовать для определения процента облачного покрова на изображении в градациях серого, поскольку облака белые и будут иметь более высокие значения пикселей.
![test image](https://i.stack.imgur.com/GN8AE.png)
Я использовал это изображение в качестве тестового изображения.
img = cv2.imread('cloud.png', 0)
ret, thresh = cv2.threshold(img, 100, 255, cv2.THRESH_BINARY)
cv2.imshow('image', thresh)
cv2.waitKey(0)
cv2.destroyAllWindows()
Это дает
![thresholded image](https://i.stack.imgur.com/mh9py.png)
Так что нам нужно добавить все эти значения там, где есть белый пиксель, чтобы найти общее количество белых пикселей. Вместо пороговых значений пикселей на 255 мы изменяем его на 1, чтобы мы могли просто добавить их. Вы можете прочитать больше о thresholding здесь. Затем мы вычисляем ее сумму, делим ее на ширину и высоту и умножаем на 100, чтобы получить процент.
img = cv2.imread('cloud.png', 0)
height = img.shape[0]
width = img.shape[1]
ret, thresh = cv2.threshold(img, 100, 1, cv2.THRESH_BINARY)
total = sum(map(sum, thresh)) # to find total sum of 2D array thresh
percent = total/height/width*100
print('percentage of cloud cover is =', percent, '%')