Как получить область контуров нескольких изображений и разделенных в кадрах данных - PullRequest
1 голос
/ 03 апреля 2020

Я пытаюсь вычислить площадь контура для каждого изображения (из пути к папке), а затем преобразовать в кадры данных. Кто-нибудь может дать какой-нибудь совет?

Скрипт показывает, что я могу вычислить площадь всех контуров всех изображений, а затем преобразовать в фрейм данных всех контуров, но я ищу, чтобы разделить их для каждого изображения.

Первое изображение - все контуры, второе - все контуры, третье - все контуры и т. Д. c.

Может кто-нибудь подскажет мне найти код внутри де л oop?

Спасибо

import os
import cv2
import pandas as pd
import glob

#load images from specific path
##########################################################
try: 
    os.makedirs("D:\\NBC_new2020_\\data\\concat\\results")
    #os.makedirs("D:\\NBC_new2020_\\images")

except FileExistsError:
    # directory already exists
    pass   

try: 
    os.makedirs("D:\\NBC_new2020_\\images")
    #os.makedirs("D:\\NBC_new2020_\\images")

except FileExistsError:
    # directory already exists
    pass 
############################################################################

#calculate contour of all images from the path
#############################################################
img = []
contours = []
area = []

    for fn in glob.glob("D:\\NBC_new2020_\\images\\*.png"):
        img = cv2.imread(fn, 0)
        ret, thresh = cv2.threshold(img, 39, 255, 0)
        contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

        for i in contours:
           area.append(cv2.contourArea(i))   



#print(contours)
dframe = pd.DataFrame(area)
print(dframe)
...