加扰后加密图像的熵



我有一个名为Arnold 2-D地图的算法,它只是排列图像的像素,而不会改变像素的vlaues。但是当我计算主图像和加密版本的熵值时,值会有所不同。我无法理解这一点,因为由于熵的公式只涉及图像中像素值的概率,并且在应用 cat 地图后保持不变,那么为什么熵要改变。有人可以帮忙吗

让我们来看看matlab函数熵的内部:

edit entropy

->

I = im2uint8(I);
p = imhist(I(:));
% remove zero entries in p 
p(p==0) = [];
% normalize p so that sum(p) is one.
p = p ./ numel(I);
E = -sum(p.*log2(p));

因此,它根据图像的直方图计算熵。所有空间数据都将丢失。你是对的,在任何不影响强度值的变换中,熵根本不应该改变。另请注意,在计算熵之前,数据类型已更改为 uint8,因此任何可能的浮点误差等都应被截断。

这就剩下阿诺德地图了。我建议你看看它,某处可能存在错误、图像溢出或像素丢失。

最新更新