Новый в Python, я пытаюсь определить эффективность функции цветовой сегментации на моих образцах, делая путаницу матрицы.Функция цветовой сегментации green_detection
выглядит следующим образом:
import cv2
from skimage import io
def green_detection(img):
#converting the picture to HSV
hsv_img = cv2.cvtColor(img, cv2.COLOR_RGB2HSV)
#defining HSV limits
lower_green = (40, 25, 100)
upper_green = (80, 255, 255)
#creating a mask with the limits and calculating green area fraction
mask = cv2.inRange(hsv_img, lower_green, upper_green)
mask_pix = (mask == 255).sum()
green_area = mask_pix / (mask.shape[0]*mask.shape[1]) * 100
#value of acceptable green area on the picture in %
acceptable_green_area = 0.5
#sort the picture based on the green area
if green_area < acceptable_green_area:
print ('Green not detected')
else:
print ('Green detected')
Затем я запускаю функцию для всех моих выборок:
path = "green\\sample"
list_samples = []
for i in range(1, 201):
img = io.imread(path + str(i) + ".tif")
list_samples.append(img)
green_haze_detection(img)
Я хочу создать фрейм данных с именем образца (1-й столбец) и результат функции для 200 сэмплов, которые у меня есть (2-й столбец): при обнаружении зеленого цвета добавьте 1 к строке.Если нет, добавьте 0.Позже это будет объединено с существующим файлом Excel для создания матрицы путаницы.Не могли бы вы дать мне совет по автоматизации сбора данных?