Я написал код на python для кластеризации по K-среднему значению из OpenCV, чтобы найти пустую область изображения на крыше.
Во-первых, я получил из Google Earth изображение крыши одного здания, и моя цель - обнаружить пустую область этой крыши.это изображение является примером крыши, а зеленые линии описывают пустую область, которую я хочу обнаружить
изображение крыши
Чтобы обнаружить, что я использовал K-среднее кластеризациюсгруппировать это изображение по K = 3.
Я хочу знать, как я могу измерить производительность того, что я сделал, и проверить, действительно ли этот код получил пустую область или нет, и какой процент производительности у этого конкретного изображения !!
Вот мой код:
img = cv2.imread('Studying Dataset/2.png')
orig = img = gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
img = cv2.GaussianBlur(img,(27,27),5)
z = img.reshape((-1,1))
z = np.float32(z)
criteria=(cv2.TERM_CRITERIA_EPS+ cv2.TERM_CRITERIA_MAX_ITER, 20, 5.0)
K=3
ret, lable1, center1 = cv2.kmeans(z, K, None, criteria, 10, cv2.KMEANS_RANDOM_CENTERS)
center1 = np.uint8(center1)
res1 = center1[lable1.flatten()]
output1 = res1.reshape((img.shape))
cv2.imwrite('result1.png',output1)
Жаль, что кто-то может мне помочь, спасибо