1樓:匿名使用者
1、熵是描述區域的隨機程度的,p=σc*logc,c是灰度概率值,當影象均勻時,各灰度值的概率基本相等,熵可以達到最大
2、例程:
#include
#include
int i,j;
double rowsum(double table[4],int nrow)//定義第i行的邊際概率函式
{for(i=0;i
2樓:匿名使用者
給你一個參考吧,希望有幫助:
熵的計算c++程式
#include
#include
int i,j;
double rowsum(double table[4],int nrow)//定義第i行的邊際概率函式
return 0;
}double liesum(double table[4][4],int nlie)//定義第j列的邊際概率函式
return 0;
}void main()
,,,};
for ( i=0;i<4;i++)//輸出概率矩陣
cout< rowsum(p,4);//呼叫函式輸出第i行的邊際概率 for (i =0;i<4;i++) cout< liesum(p,4);//呼叫函式輸出第j列的邊際概率 for ( j =0;j<4;j++) cout< // double p[4][4]; double h1=0.0; for( i=0;i<4;i++) double h2=0.0; for( j=0;j<4;j++) double h3=0.0; for(i=0;i<3;i++) for(j=0;j<4;j++) h3+=p[4][1]*(log(1.0/p[4][1])/log(2.0)); cout<<"x的熵:h(x)="< cout<<"y的熵:h(y)="< cout<<"(x,y)的熵:h(x,y)="< cout< cout<<"條件熵:h(x|y)="< cout<<"條件熵:h(y|x)="< cout<<"互資訊:i(x;y)="< /* int size=4;//定義聯合概率p為維陣列 double *p; p=new double[size]; for ( i=0;i<4;i++)//聯合概率計算 }for ( i=0;i<4;i++)//聯合熵的計算 }cout<<"聯合h(x,y)熵為"< delete p; */} 3樓: 同意上面.......................... 小丁創業 方法和詳細的操作步驟如下 1 第一步,開啟需要處理的影象,然後編寫以下 見下圖紅框標註處,轉到下面的步驟。2 第二步,執行完上面的操作之後,可以看到影象均衡的 見下圖,轉到下面的步驟。3 第三步,執行完上面的操作之後,畫出平衡 的直方圖,在平衡前後對 進行比較,見下圖。這樣,就解決了這個問... 阿瞞0超群 clc,clear,close im imread c users administrator desktop 123.png 讀取檔案路徑,im就是你要的舉證 1開啟影象 請選擇影象資料 str filepath filename image imread str 以對話方塊的形式選擇... 風若遠去何人留 長方形是平面幾何的概念,無法求體積,只有面積。只有立體幾何的長方體才可以求體積。對於長方形,要求面積,只需要將兩邊相乘即可。對於長方體,要求體積,只需要將三邊相乘即可。所以抽象到c語言的時候,這兩種計算,均是如果幾個數值,然後將所有數值相乘,最終輸出結果的過程。其中求面積需要輸入兩個...
matlab如何計算一幅影象中某一灰度值的畫素個數
MATLAB中怎樣提取一幅影象的RGB資訊,並且將結果輸出到矩陣中
如何用C語言求長方形體積,c語言 計算長方體的體積