Анализ шумоподавляющих комет - PullRequest
0 голосов
/ 14 июля 2020

Я пытался уменьшить шум в прикрепленном изображении. По сути, я хочу удалить фоновую пыль с изображения. В настоящее время я попытался найти небольшие точки по всему изображению (все, что помещается в сетку 10 на 10 с низкой интенсивностью зеленого пикселя), а затем затемнил область 10 на 10. Однако я надеялся убрать больше шума с изображения. Есть ли способ запустить некоторые фильтры в OpenCv для этого.

1 Ответ

0 голосов
/ 14 июля 2020

Простой подход может заключаться в следующем: преобразовать изображение в оттенки серого, установить пороговое значение и применить в нем морфологическое отверстие, чтобы получить результаты оценки.

img = cv2.imread("commitdust.png")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

ret, th = cv2.threshold(gray, 80, 255, cv2.THRESH_BINARY)

k = np.array([[0, 0, 1, 0, 0],
              [0, 1, 1, 1, 0],
              [1, 1, 1, 1, 1],
              [0, 1, 1, 1, 0],
              [0, 0, 1, 0, 0]], dtype=np.uint8)
th = cv2.morphologyEx(th, cv2.MORPH_OPEN, k)

cv2.imshow("th", th)
cv2.waitKey(0)
cv2.destroyAllWindows()
...