将多边形(在图像中)转换为蒙版

时间:2020-03-21 15:55:27

标签: python computer-vision object-detection

我有一些图像及其相关的地面真实轮廓物体。例如,此图像显示了原始图像之一的轮廓对象outlined objects in blue

鉴于此图像及其原始来源,我想使用openCV2或skimage基于这些轮廓创建一些蒙版。

使用轮廓,我可以大致实现这一目标,但是我有两个问题:

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()

谢谢

0 个答案:

没有答案