- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经将图像文件读取到这样的数组中
A = imread(fileName);
现在我想计算香农熵。在 maltab 中发现的香农熵实现是字节级熵分析,它认为一个文件由 256 字节级组成。
wentropy(x,'shannon')
但我需要执行二元熵分析,这需要将文件视为由 65536 个级别组成。任何人都可以建议我一个完成此任务的好方法。
最佳答案
可以使用以下公式计算随机变量的熵:
p(x)
是 Prob(X=x)
。
给定一组 n
观察值 (x1, x2, .... xn)
然后计算 P(X=x)
对于所有 x 值的范围(在您的情况下,它将在 (0 and 65535)
之间,然后对所有值求和。最简单的方法是使用 hist
byteLevel = 65536
% count the observations
observationHist = hist(observations, byteLevel);
% convert to a probability
probXVal = observationHist ./ sum(observationHist);
% compute the entropy
entropy = - sum( probXVal .* log2(probXVal) );
在文件交换上有几个值得一试的实现。
注意:您从哪里得知 wentropy
使用 256 字节级别?我在码头的任何地方都看不到吗?请记住,在 Matlab 中,彩色图像的像素有 3 个 channel (R、G、B),每个 channel 需要 8 位(或 256 字节级别?)。
另外,因为每个 channel 都绑定(bind)在 [0 256)
之间,您可以创建从 P(R=r,G=g,B=b)
到 P(X=x)
如下:
data = imageData(:,:,1);
data = data + (imgData(:,:,2) * 256);
data = data + (imgData(:,:,3) * 256 * 256);
我相信您随后可以使用 data
计算每个 channel 独立的图像的总熵。
关于matlab - 如何计算字节二元组的香农熵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13344760/
我们有一个 WPF 应用程序,允许用户下载加密内容,并且我们希望提供离线解密该内容的功能。我的想法是下载 key 并使用 DPAPI 存储它们,但我在使用熵参数时遇到了问题。 是否有任何方法可以生成熵
在 php.ini 的 session 部分,有一个名为 session.entropy_length 的指令。 我知道它用于使 session ID 的生成“更加随机”。 它如何使 session
在 php.ini 的 session 部分,有一个名为 session.entropy_length 的指令。 我知道它用于使 session ID 的生成“更加随机”。 它如何使 session
我使用决策树算法来解决二元分类问题,目标是最大限度地减少分类的误报(最大化阳性预测值)(诊断工具的成本非常高) 。 有没有办法在基尼/熵分割标准中引入权重来惩罚误报错误分类? Here例如,修改后的基
我想检查我的 std::random_device 实现是否具有非零熵(即非确定性),使用 std::random_device::entropy() 函数。然而,根据至cppreference.co
我在 tensorflow_decision_forests 文档 ( https://github.com/tensorflow/decision-forests ) ( https://www.t
我是一名优秀的程序员,十分优秀!