У меня есть некоторые изображения и связанные с ними объекты, обозначенные правдой. Например, это изображение показывает выделенные объекты для одного из исходных изображений выделенные объекты синим цветом
Учитывая это изображение и его исходный источник, я хотел бы создать некоторые маски на основе этих контуров, используя openCV2 или лыжный маг.
Используя Контуры, я могу примерно достичь этого, но у меня есть две проблемы:
1- Почему я получаю повторные маски? (пожалуйста, обратитесь к приложенному фрагменту) 2- Как решить проблему с двумя касающимися предметами
from skimage import io
from skimage import measure
import matplotlib.pyplot as plt
image = io.imread('path/to/the/attached/image')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
contours = measure.find_contours(gray, 0.1)
for n, contour in enumerate(contours):
r_mask = np.zeros_like(gray, dtype='bool')
r_mask[np.round(contour[:, 0]).astype('int'), np.round(contour[:,
1]).astype('int')] = 1
r_mask = ndimage.binary_fill_holes(r_mask)
io.imshow(r_mask)
plt.show()
Спасибо