Python 如何从图像中删除独立的小遮罩?

Python 如何从图像中删除独立的小遮罩?,python,python-3.x,image,numpy,opencv,Python,Python 3.x,Image,Numpy,Opencv,我已经对图像进行了二值化。黄色=1遮罩,紫色=0背景: 我可以通过以下方式过滤整个遮罩是否小于某个阈值: def filter_image(img): if img.sum() < 10: return np.zeros(img.shape) else: return img def过滤器图像(img): 如果img.sum()小于10: 返回np.0(img.shape) 其他: 返回img 但是,如何消除这些小的黄点呢?也许您可以使

我已经对图像进行了二值化。黄色=1遮罩,紫色=0背景:

我可以通过以下方式过滤整个遮罩是否小于某个阈值:

def filter_image(img):
    if img.sum() < 10:
        return np.zeros(img.shape)
    else:
        return img
def过滤器图像(img):
如果img.sum()小于10:
返回np.0(img.shape)
其他:
返回img

但是,如何消除这些小的黄点呢?

也许您可以使用sequential来消除这些噪声


这些操作也称为和。

也许您可以使用sequential来消除这种噪声


这些操作也称为和。

,可以通过形态学变换轻松完成

你可以查看文件

像这样的方法应该会奏效:

import cv2
import numpy as np

img = cv2.imread('some_image.png',0)
kernel = np.ones((5,5),np.uint8)
closing = cv2.morphologyEx(img, cv.MORPH_CLOSE, kernel)
您可以使用内核中的值来关闭具有确定大小的孔


我希望它有助于

这可以通过形态学转换轻松完成

你可以查看文件

像这样的方法应该会奏效:

import cv2
import numpy as np

img = cv2.imread('some_image.png',0)
kernel = np.ones((5,5),np.uint8)
closing = cv2.morphologyEx(img, cv.MORPH_CLOSE, kernel)
您可以使用内核中的值来关闭具有确定大小的孔


我希望这有帮助

欢迎来到Stack Overflow!我可能建议引用文档/教程中除了链接之外的最基本的相关部分,以防URL移动。希望能在更多的地方见到你!欢迎来到堆栈溢出!我可能建议引用文档/教程中除了链接之外的最基本的相关部分,以防URL移动。希望能在更多的地方见到你!