我正在进行有钙化的乳房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个值。此外,这些值是概率的对数,因此它们是负的。