有關影像處理的Histogram Specification反函數程式~~help>< |
尚未結案
|
33vc
一般會員 發表:2 回覆:1 積分:0 註冊:2004-06-07 發送簡訊給我 |
//Histogram Equalization Processing 長條圖等化的處理
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Image_Height = Image1->Picture->Height; //將影像的高存入Image_Height
Image_Width = Image1->Picture->Width;//將影像的寬存入Image_Width
float Graylevel[256]={0}; //將影像分成256階,0~255
int Temp; //儲存 Data[i][j] 的備份 for(int i = 0 ; i < Image_Height ; i++) //計算各階的數量
for(int j = 0; j < Image_Width ; j++)
{
Temp =(int) Data[i][j];
Graylevel[Temp]++;
}
for(int i = 0 ; i < 256 ; i++) //calculate the probability of each gray level
Graylevel[i] = (Graylevel[i]/((Image_Width)*(Image_Height)));//計算各階數量占全部數量的比例
for(int i = 1 ; i < 256 ; i++) // probability distribution function
Graylevel[i] += Graylevel[i-1];//累加前一個階數的值
for(int i = 0 ; i < 256 ; i++)
Graylevel[i] *= 255;//將範圍從0~1變成0~255 for(int i = 0; i < Image_Height; i++)
for(int j = 0; j < Image_Width; j++)
{
Temp=Data[i][j];
Data[i][j] = Byte(Graylevel[Temp]);;//判斷temp屬於那個階再得以長條圖等化
}
SetRawData();//顯示圖片的一個副程式 } 此程式的目的是將一張圖做長條圖等化,而如今需選擇一張圖讓已做過長條圖等化的grayleval值與選擇圖的graylevel值相等,需新宣告一個新的ingraylevel變數做反函數,
讓temp值可以對照新的ingraylevel得以產生新的圖。
★目前只剩Histogram Specification反函數的部分無法解出,請各位高手解解迷津~~如有問題請給予指教~~謝謝T_T
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |