基于自适应Sigmoid型函数的内镜图像增强与空间变颜色再现方法

14 篇文章 0 订阅
9 篇文章 0 订阅

论文题目:Image Enhancement and Space-variant Color Reproduction Method for Endoscopic Images using Adaptive Sigmoid Function

1 摘要

首先,使用YCCBR转换矩阵,将彩色图像分为亮度分量和色度分量,对均匀分布的亮度像素应用了具有两个控制参数的自适应Sigmoid 型函数。空间变色再现通过基于纹理信息转移和修改旧的色度,生成新的色度分量。最后,将新的亮度和色度分量转换为RGB彩色图像。提出的方法突出了一些组织和血管特征以及病变和息肉中的凹坑形态。并在图像质量、聚焦值、颜色再现效率和视觉表示统计量等方面,与其他相关方法的性能进行了比较。

2 理论介绍

该方法包括基于自适应Sigmoid 型函数的图像增强和空间交换颜色复制两个阶段。图1为所提方法的总体示图。该系统不操纵R、G和B组件,而是首先使用(1)将彩色内窥镜图像转换为YCbCr彩色空间。之后,Y用于图像增强,CB和CR用于生成新的色度图。
在这里插入图片描述
在这里插入图片描述

2.1 图像增强

Sigmoid 型函数是一种连续的非线性函数,在神经网络中经常被使用。使用 f ( x ) f(x) f(x)作为输入,Sigmoid 型函数为
在这里插入图片描述
在训练模式下,我们观察到,在一定的指数下,图像突出了一些血管特征和黏膜结构,但它随图像而变化。

为了控制指数并将其限制在某一点上,我们在Sigmoid 型函数中引入了两个系数。使用 x x x作为输入, g g g表示增益, k k k表示截止,Sigmoid 型函数如下所示:

在这里插入图片描述

通过控制这两个参数,可以突出显示图像的不同特征。由于该函数对像素值进行自适应变换,我们将其命名为自适应Sigmoid 型函数。这两个参数由两个不同的方程式控制,我们将在后面讨论。
在应用所提出的自适应Sigmoid 型函数之前,图像的像素使用直方图均衡化进行均匀分布。设 Y Y Y是一个给定的图像,由 n n n个从0到 L − 1 L-1 L1的整数像素强度矩阵表示为 m m m。设 p p p表示可能强度的bin的归一化直方图。
在这里插入图片描述
其中, z = 0 , 1 , . . . , L − 1 z = 0, 1, ..., L-1 z=0,1,...,L1图像的灰度值。将均匀分布的图像 g g g定义为:
在这里插入图片描述
其中, f l o o r ( ) floor() floor()将像素值取整为最接近的整数。然后,使用(6)和均匀分布的像素值来生成截止值 k k k,并使用(7)来增益 g g g。在这里,输入的 x x x是均匀分布的像素。

在这里插入图片描述
其中, A = 100 A=100 A=100 S m = 6 S_m=6 Sm=6 S n = 5 S_n=5 Sn=5.这些值是从训练模式中启发式地收集起来的。这些值产生所需的指数,突出了内镜图像中细微的血管和粘膜结构。从图2中,我们可以看到黏膜和血管的特征以及一些凹坑形态。

在这里插入图片描述

2.2 色彩重构

该方法通过对原始灰度图像像素之间的亮度和纹理信息进行匹配,得到了色度信息。在开始时,使用(8)对亮度和两个色度在0-1值之间进行了归一化。
在这里插入图片描述
在匹配过程中,从所有像素中减去原始灰度图像的每个像素,并使用(9)定位位置。
在这里插入图片描述
在这里, l o c a t e ( ) locate() locate()保持为零的位置, f i , j o r ( x ) f_{i,j}^{or}(x) fi,jor(x)是原始图像的单个像素, f o r ( x ) f^{or}(x) for(x)是所有的像素。现在基于(9),可以发生三种场景。首先,它可以定位一个单一位置的几个位置。在这种情况下,使用(10)从多个Cb和多个Cr的一个Cr生成单个Cb。
在这里插入图片描述
第二,它可能只定位一个单一的一个位置。然后根据单个位置生成单个Cb和Cr。第三,它可能根本不会定位到任何位置。在这种情况下,它将生成默认值0.5作为相应位置的Cb和Cr。最后,利用(11)将新生成的Cb、Cr和增强的luma Y转换为RGB图像。图3为使用该方法得到的原始图像及其相应的增强彩色图像。
在这里插入图片描述

3 结论

在这里插入图片描述

4 总结

这篇论文主要是通过构造自适应sigmod函数对灰度图像进行增强,然后通过色彩重构对图像进行还原,从而达到对彩色图像增强的目的。

5 code


if __name__ == '__main__':

    imgPath = "./img/1.jpg"
    img = cv2.imread(imgPath)
    
    yCbCr = cv2.cvtColor(img, cv2.COLOR_RGB2YUV)
    Y, Cb, Cr = cv2.split(yCbCr)

    k ,g = UniformlyDistributedImage(Y)

    enhanceImg = np.copy(Y)

    for i in range(Y.shape[0]):
        for j in range(Y.shape[1]):
            enhanceImg[i, j] = Y[i, j] * AdaptiveSigmoid(Y[i, j], g, k)
            # print(enhanceImg[i, j])

    cv2.imshow("img", Y)
    # cv2.waitKey(0)
    cv2.imshow("enhanceImg", enhanceImg)
    cv2.waitKey(0)


完整代码:AdaptiveSigmoidImageEnhancement.py

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Christo3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值