rgb的熵計算
#include
#include
#include
using namespace std;
#define a 65536
int main()
,g[a] = , b[a] = ;
//定義頻率分量
double r_f[256] = ,g_f[256] = ,b_f[256] = ;
//定義熵
double r_s = 0,g_s = 0, b_s = 0;
//分別讀取r、g、b三個分量到陣列中
unsigned char sum[2562563];
fread(sum, 1, 2562563, image);
for (int i = 0, j = 0; i < 256256*3; i = i + 3, j++)
//計數三通道各顏色值次數
for (int i = 0; i < 256; i++)
if (int(g[j] == i))
if (int(b[j] == i)) }}
//計算頻率
for (int i = 0; i < 256; i++)
//將頻率寫入檔案
fprintf(red, 「值\t概率\n」);
for (int i = 0; i < 256; i++)
fprintf(green, 「值\t概率\n」);
for (int i = 0; i < 256; i++)
fprintf(blue, 「值\t概率\n」);
for (int i = 0; i < 256; i++)
//計算並輸出熵
for (int i = 0; i < 256; i++)
if (g_f[i] != 0)
if (b_f[i] != 0)
}cout << 「r的熵為」 << r_s << endl;
cout << 「g的熵為」 << g_s << endl;
cout << 「b的熵為」 << b_s << endl;
fclose(image);
fclose(red);
fclose(green);
fclose(blue);
return 0;
}yuv 的熵的計算
#include
#include
#include
using namespace std;
#define res 256*256//解析度
int main()
, u[res / 4] = , v[res / 4] = ; //定義y、u、v分量
double y1[256] = , u1[256] = , v1[256] = ; //定義y、u、v概率分量
double y2 = 0, u2 = 0, v2 = 0; //定義y、u、v的熵
}file* picture, * party, * partu, * partv;
fopen_s(&picture, "/d/資料壓縮/down.yuv", "rb");
fopen_s(&party, "/d/資料壓縮/party.txt", "w");
fopen_s(&partu, "/d/資料壓縮/partu.txt", "w");
fopen_s(&partv, "/d/資料壓縮partv.txt", "w");
if (picture == 0)
printf("讀取失敗!");
else
for (int i = res; i < res * 1.25; i++)
for (int i = res * 1.25; i < res * 1.5; i++)
//分別統計y、u、v三通道的顏色強度級的頻數
for (int i = 0; i < res; i++)
for (int i = 0; i < (res / 4); i++)
//分別計算y、u、v三通道的256個顏色強度級的概率
for (int i = 0; i < 256; i++)
//將概率寫入檔案
for (int i = 0; i < 256; i++)
//計算並輸出熵
for (int i = 0; i < 256; i++)
if (u1[i] != 0)
if (v1[i] != 0)
}printf("y的熵為%f\n", y2);
printf("u的熵為%f\n", u2);
printf("v的熵為%f\n", v2);
}system("pause");
return 0;
————————————————
YUV和RGB的互轉
yuv和rgb的轉換 模擬訊號 rgb轉yuv y 0.299r 0.587g 0.114b u 0.493 b y 0.147r 0.289g 0.436b v 0.877 r y 0.615r 0.515g 0.100b yuv轉rgb r y 1.14v g y 0.394u 0.581v b...
RGB和YUV的區別和轉換
rgb和yuv都是色彩空間,用於表示顏色,兩者可以相互轉化 至於電視採用yuv分量形式是由itu 國際電信聯盟 規定的,因為其能減少資料儲存空間和資料傳輸頻寬,同時又能非常方便的相容黑白電視!yuv是被歐洲電視系統所採用的一種顏色編碼方法 屬於pal 是pal和secam模擬彩色電視制式採用的顏色空...
常見的RGB和YUV格式分析
rgb1 rgb4 rgb8都是調色盤型別的rgb格式,在描述這些 型別的格式細節時,通常會在bitmapinfoheader資料結構後面跟著乙個調色盤 定義一系列顏色 它們的影象資料並不是真正的顏色值,而是當前畫素顏色值在調色盤中的索引。以rgb1 2色位圖 為例,比如它的調色盤中定義的兩種顏色值...