Как удалить шум из изображения с выравниванием по гистограмме?

У меня есть изображение, которое я выравниваю, а затем использую гистограмму clahe, например:

self.equ = cv2.equalizeHist(self.result_array) clahe = cv2.createCLAHE(clipLimit=100.0, tileGridSize=(8,8)) self.cl1 = clahe.apply(self.equ) 

В результате я получаю:

введите описание изображения здесь

Я хочу избавиться от всех черных точек, которые являются шумом. В конечном счете, я пытаюсь вытащить кровеносные сосуды, которые являются черными на изображении, показанном выше, пытаясь сделать это, шум делает изъятие неточным.

One Solution collect form web for “Как удалить шум из изображения с выравниванием по гистограмме?”

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

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

И вот код, который я использовал:

 import numpy as np from scipy import ndimage def scfilter(image, iterations, kernel): """ Sine‐cosine filter. kernel can be tuple or single value. Returns filtered image. """ for n in range(iterations): image = np.arctan2( ndimage.filters.uniform_filter(np.sin(image), size=kernel), ndimage.filters.uniform_filter(np.cos(image), size=kernel)) return image 

Там image представляло собой массив с числами, представляющий изображение, линейно масштабируемое, чтобы помещать черный в 0 и белый на 2 * pi , а kernal – в пикселях изображения однородного фильтра, применяемого к данным. Не должно быть слишком много итераций, чтобы увидеть положительный результат, возможно, в области от 5 до 20.

Надеюсь, это поможет 🙂

  • Как правильно установить Python на OSX для использования с OpenCV?
  • Синхронизация аудио и видео с помощью OpenCV и PyAudio
  • Извлечение всех ограничивающих прямоугольников с использованием OpenCV Python
  • Я пытаюсь сделать малиновую пи-камеру работать с opencv
  • Как получить правильное значение альфа, чтобы идеально сочетать два изображения?
  • OpenCV-Python плотный SIFT
  • Импорт из ipython
  • Почему только импорт OpenCV приводит к массовому использованию ЦП?
  • Не можете найти ReleaseCapture в opencv при использовании python?
  • Отображение OpenCV-видео в tkinter с использованием многопроцессорности
  • Разница между «import cv» и «import opencv.cv» с использованием Python + OpenCV?
  • Python - лучший язык программирования в мире.