Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Math 有谁能给我提供一个算法来找到加密彩色图像的信息熵和相关性分析_Math_Image Processing - Fatal编程技术网

Math 有谁能给我提供一个算法来找到加密彩色图像的信息熵和相关性分析

Math 有谁能给我提供一个算法来找到加密彩色图像的信息熵和相关性分析,math,image-processing,Math,Image Processing,我有数学公式。但我怀疑人们是否能计算出彩色图像的熵,通常我只看到黑白图像 H ( m ) = ∑ - P ( m ) log P ( m ) 我应该如何计算pm的值 其次,我也有相关分析的公式,但我真的不知道如何找到它。我有相关公式 r (xy) = cov( x , y ) / squareroot(D ( x ) D ( y )) 据说x和y是灰度值。你所说的灰度值是什么意思?我如何计算这些值 问题1: 要计算熵,您需要估计每个RGB值的概率,即具有该值的像素数除以图像中的像素数。然后你

我有数学公式。但我怀疑人们是否能计算出彩色图像的熵,通常我只看到黑白图像

H ( m ) = ∑ - P ( m ) log P ( m )
我应该如何计算pm的值

其次,我也有相关分析的公式,但我真的不知道如何找到它。我有相关公式

r (xy) = cov( x , y ) / squareroot(D ( x ) D ( y ))
据说x和y是灰度值。你所说的灰度值是什么意思?我如何计算这些值

问题1: 要计算熵,您需要估计每个RGB值的概率,即具有该值的像素数除以图像中的像素数。然后你在所有的正概率上操作这个公式。有两种保持RGB计数的可能实现:

简单直方图-三维阵列256X256X256,速度慢且占用内存

稀疏直方图-保留一个以RGB为键、计数为值的哈希表

对于非常大的图像,第一种选择可能更好

然而,请注意,对于较小的图像,概率估计可能非常不准确,因为小噪声可能会将单一颜色传播到多个像素。在更坏的情况下,所有计数将为1。为了处理这个问题,您可以考虑使用较大的容器(例如,将RGB值除以4,因此只有64个3个容器)。 问题2:你说的是相关系数,又名


灰度只是灰度图像中像素值的常用术语,通常在0-255范围内。

我想你必须对彩色图像中每个不同颜色的像素进行计数,并将它们按相等的r、g、b值分组。然后计算出每组的概率来计算总熵。另外,这里有一个很好的链接解释灰度和如何计算:如果图像加密,熵将与原始图像不同,因此我希望你有密码-如果没有,你就卡住了。如果你确实有密码,那么它被加密的事实就无关紧要了。@马克,我不是在试图解密图像,我是在评估我的图像加密算法的效率!你可能因为没有问关于代码的问题而被否决。你问的是如何计算熵,我可以想象人们可以考虑的话题。此外,你的头衔意味着你不愿意做任何工作。你只是想把它给你。如果您要添加一个示例图像和代码来演示您的尝试,例如,一个,并询问有关您的代码的具体问题,那么我认为您可能会获得赞成票而不是反对票。@kkuilla我添加代码是有原因的。.我的老师不希望我向任何人透露算法。现在我只能添加那部分代码,但无论如何,我已经找到了解决方法,但这次我只想说,stackoverflow让我失望了!如果你不知道答案,那就保持沉默,为什么投反对票。你可以简单地添加评论,让我添加代码!