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

У меня есть изображение, которое я выравниваю, а затем использую гистограмму 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.

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

  • solvePnPRansac возвращает нулевое значение для rvecs и tvecs
  • Система сдвинутых изображений Numpy
  • Установите OpenCV для Python (несколько версий python)
  • создать многоканальный нулевой циферблат в python с cv2
  • Обучение и обнаружение HOG в Python с использованием OpenCV
  • Ubuntu 16.04 - Почему я не могу установить libtiff4-dev?
  • Сравнение большого набора изображений по содержанию
  • Реализация распознавания лиц с круглой LBP
  •  
    Interesting Posts for Van-Lav

    Как определяется порядок предметов в легенде matplotlib?

    Использование python ctypes и libc для записи указателя void в двоичный файл

    Python regex '\ s' не соответствует спецификации Unicode (U + FEFF)

    Python CSV: удалить кавычки из значения

    Как извлечь символьную ngram из предложений? – python

    Как вы base-64 кодируете PNG-изображение для использования в data-uri в файле CSS?

    Может ли python lambda / fn работать от имени произвольного вызывающего?

    Состояние задачи сельдерея зависит от CELERY_TASK_RESULT_EXPIRES

    Как вставить флажок в форме django

    Где Python сохраняет привязку имени закрытия функции?

    Прочитать удаленный файл с использованием подпроцесса python и ssh?

    многоязычная вставка с использованием mongoengine в mongodb

    Как запрограммировать двойное нажатие клавиши, чтобы ключ, не являющийся модификатором, вел себя как ключ-модификатор в моей программе?

    Каков формат, в котором пароли Django хранятся в базе данных?

    Объект django -NoneType не может быть вызван

    Python - лучший язык программирования в мире.