使用核密度估计创建图像的概率图



我正在进行有钙化的乳房X光检查(钙化点比周围组织更亮(。

这是我拥有的图像之一:原始图像

我通过创建热图得到了这张图片:原始图像热图

但是热图考虑了图像的整体亮度。为了创建一个考虑局部亮度的概率图,我曾考虑过用高斯滤波器进行内核密度估计,但我在实现方面遇到了问题。

我的目标是获得类似scikit learn的";物种分布的核密度估计";实例这是我尝试使用的代码:

import numpy as np
import cv2 as cv
from sklearn.neighbors import KernelDensity
img = cv.imread("mammo.tif", 0)
kde = KernelDensity(kernel="gaussian")
kde.fit(img)
sco = kde.score_samples(img)

原始图像的大小为4084x3328。我想得到一个相同大小的概率图,但我在变量sco中得到的是一个4084x1的向量,所有的值都是负值。

kde.fit(img)中,img的每一行都被视为具有3328个特征的单个观察。因此,您正在拟合核密度估计,其中核是具有3328个变量的多变量高斯分布。然后kde.score_samples(img)再次计算img的每一行的得分,这导致4084个值。此外,这些值是概率的对数,因此它们是负的。

最新更新