Вам необходимо применить фильтр к вашему изображению, используя OpenCV, чтобы удалить черные точки (которые называются «шум»).Есть много 2D сверток, которые вы можете применить к изображению.
Этот фильтр найдет медианное значение каждого пикселя и окружающих его пикселей.Он может собирать столько пикселей от центра, сколько вам нужно, чтобы усилить эффект.
Вы можете применить другой тип размытия, который должен удалить шум, возможно,не совсем, но это, безусловно, уменьшит его эффект.Если вы работаете над черным и белым, что кажется вам, то это на самом деле может полностью удалить шум.
Редактировать
Попробуйте применить медианный фильтр снова после применения порога, который должен удалить шум намного лучше, чем раньше, так как значения являются двоичными:
image = cv2.imread('input1.jpg')
img_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
img_gray = cv2.medianBlur(img_gray, 5)
edges = cv2.Laplacian(img_gray, cv2.CV_8U, ksize=5)
ret,mask =cv2.threshold(edges,100,255,cv2.THRESH_BINARY_INV)
image2 = cv2.bitwise_and(image, image, mask=mask)
image2 = cv2.medianBlur(image2, 3) # this
cv2.imshow("Mask", mask)
Надеюсь, этопомогает!