我需要減少像下面這樣的影像中的噪聲,即填充白色物體中的孔。我用opencv嘗試了一些東西,但它最終洗掉了部分物件,如您所見。有沒有更好的方法來做到這一點而不會丟失物件本身?任何幫助表示贊賞!
這是我到目前為止所擁有的:
import numpy as np
import cv2
def remove_noise(gray, num):
Y, X = gray.shape
nearest_neigbours = [[
np.argmax(
np.bincount(
gray[max(i - num, 0):min(i num, Y), max(j - num, 0):min(j num, X)].ravel()))
for j in range(X)] for i in range(Y)]
result = np.array(nearest_neigbours, dtype=np.uint8)
cv2.imwrite('result.png', result)
return result
img = cv2.imread('img.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
remove_noise(gray, 10)
輸入影像:

輸出影像:

uj5u.com熱心網友回復:
按照
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/472829.html
標籤:python-3.x opencv 图像处理
