首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从直方图均衡化图像中去除噪声?

如何从直方图均衡化图像中去除噪声?
EN

Stack Overflow用户
提问于 2016-04-18 10:11:23
回答 1查看 3K关注 0票数 8

我有一个图像,我正在平衡,然后使用爪形直方图,如下所示:

代码语言:javascript
复制
self.equ = cv2.equalizeHist(self.result_array)
clahe = cv2.createCLAHE(clipLimit=100.0, tileGridSize=(8,8))
self.cl1 = clahe.apply(self.equ)

我得到的结果是:

我想去掉所有的黑点,那就是噪音。最终,我试图从上面所示的图像中提取出血管,这些血管是黑色的,在这样做的时候,噪音会使提取不准确。

EN

回答 1

Stack Overflow用户

发布于 2016-04-27 15:54:49

我的论文很大一部分是关于降低图像中的噪声,我使用了一种降低图像噪声的技术,同时保留图像中锐利的边缘信息。我在这里引用自己的话:

利用正弦余弦滤波[参考]对图像进行滤波,是去除条纹图像噪声的有效方法。低通滤波器与提取条纹图像的正弦和余弦产生的两幅图像相交,然后将其分割成切线,恢复相位方向图,但噪声降低。该技术的优点是,该过程可以重复多次,以减少噪音,同时保持相变的尖锐细节。

下面是我使用的代码:

代码语言:javascript
复制
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处放置白色,kernel是应用于数据的统一滤波器的图像像素大小。应该不需要太多的迭代就能看到一个积极的结果,可能在5到20之间。

希望有帮助:)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36691020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档