美文网首页
图像显著性检测 LC算法

图像显著性检测 LC算法

作者: 壹米玖坤 | 来源:发表于2019-06-16 15:39 被阅读0次

    图像显著性检测算法之一:LC Algorithm

    基本思想

    计算某个像素在整个图像上的全局对比度,即该像素与图像中其他所有像素在颜色上的距离之和作为该像素的显著值。

    显著值计算

    图像 II 中某个像素 IkIk 的显著值计算如下:

    其中IiIi的取值范围为 [0,255][0,255], 即为灰度值。

    上式等于:

    NN表示图像中像素的数量。

    给定一张图像,每个像素IkIk的颜色值已知。假定Ik=amIk=am,则上式可进一步重构:

    其中,fnfn表示图像中第nn个像素的频数,以直方图的形式表示。

    代码实现

    直接调用OpenCV接口,实现图像中像素的直方图统计,即统计[0,255][0,255]中每个灰度值的数量。

    # 直方图,统计图像中每个灰度值的数量

    hist_array = cv2.calcHist([image_gray], [0],None, [256], [0.0,256.0])

    计算像素与其他所有像素在灰度值上的距离。

    defcal_dist(hist):

        dist = {}

    forgrayinrange(256):

    value =0.0

    forkinrange(256):

    value += hist[k][0] * abs(gray - k)

            dist[gray] = value

    returndist

    将灰度值图像中的像素值更新为对比度值(即距离度量)。

    foriinrange(image_width):

    forjinrange(image_height):

            temp = image_gray[j][i]

            image_gray_copy[j][i] = gray_dist[temp]

    image_gray_copy = (image_gray_copy - np.min(image_gray_copy)) / (np.max(image_gray_copy) - np.min(image_gray_copy))

    代码链接: https://github.com/asdfv1929/Saliency_LC_Algorithm

    结果展示

    原图:

    显著图:

    相关文章

      网友评论

          本文标题:图像显著性检测 LC算法

          本文链接:https://www.haomeiwen.com/subject/bcjgfctx.html