Отслеживание белых областей на изображении - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть изображение с белыми кругами, обведенными черными полями. Я хочу измерить размер белых кругов, используя какую-либо форму программного обеспечения. Я пытался, но безуспешно. Вот мой текущий код без попыток добавления аннотаций:

import cv2
from scipy import ndimage
import os
import matplotlib.pyplot as plt

def load_images_from_folder(folder):
    images = []
    for filename in os.listdir(folder):
        img = cv2.imread(os.path.join(folder,filename),0)
        if img is not None:
            images.append(img)
    return images

rawframes=load_images_from_folder('BubbleSize/90FoamQuality/DryFoams')

blur = cv2.bilateralFilter(rawframes[0],1,200,200)
blur = cv2.Canny(blur,60,60)

blur = ndimage.binary_dilation(blur)
blur = ndimage.binary_dilation(blur)
blur = ndimage.binary_dilation(blur)
blur = ndimage.binary_dilation(blur)
blur = ndimage.binary_dilation(blur)
blur = ndimage.binary_dilation(blur)
blur = ndimage.binary_erosion(blur)
blur = ndimage.binary_erosion(blur)
blur = ndimage.binary_erosion(blur)
blur = ndimage.binary_erosion(blur)

plt.imshow(final,'binary')

До:

Before


После:

After

1 Ответ

0 голосов
/ 30 апреля 2020

Используйте функцию connectedComponentsWithStats, эта функция возвращает подключенные компоненты и эту область.

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