求圖像的信息熵


  1948年,香農(Claude E. Shannon)提出了信息熵的概念,解決了對信息的量化度量問題。香農第一次用數學語言描述了概率於信息冗余度的關系。

  信息的定義:

    信息是確定性的增加。

    信息是物質、能量、信息及其屬性的標示。

  所謂信息熵,是一個數學上頗為抽象的概念,在這里不妨把信息熵理解成某種特定信息的出現概率。根據Charles H. Bennett對Maxwell's Demon的重新解釋,對信息的銷毀是一個不可逆過程,所以銷毀信息是符合熱力學第二定律(熵增定律)的。一般而言,當一種信息出現概率更高的時候,表明它被傳播得更廣泛,或者說,被引用的程度更高。我們可以認為,從信息傳播的角度來看,信息熵可以表示信息的價值。這樣子我們就有一個衡量信息價值高低的標准,可以做出關於知識流通問題的更多推論。

  【計算公式】

    H(x)=E[I(xi)]=E[ log(2,1/p(xi)) ]=-∑p(xi)log(2,p(xi)) (i=1,2,..n)

 

 1 double Entropy(Mat img)
 2 {
 3     //將輸入的矩陣為圖像
 4     double temp[256];
 5     /*清零*/
 6     for(int i=0;i<256;i++)
 7     {
 8         temp[i] = 0.0;
 9     }
10     /*計算每個像素的累積值*/
11     for(int m=0;m<img.rows;m++)
12     {
13         const uchar* t = img.ptr<uchar>(m);
14         for(int n=0;n<img.cols;n++)
15         {
16             int i = t[n];
17             temp[i] = temp[i]+1;
18         }
19     }
20     /*計算每個像素的概率*/
21     for(int i=0;i<256;i++)
22     {
23         temp[i] = temp[i]/(img.rows*img.cols);
24     }
25     double result = 0;
26     /*根據定義計算圖像熵*/
27     for(int i=0;i<256;i++)
28     {
29         if(temp[i]==0.0)
30             result = result;
31         else
32                  result = result-temp[i]*(log(temp[i])/log(2.0));
33     }
34     return result;
35 }
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM