餘弦轉換 誰可幫幫我啊 拜託....T^T |
尚未結案
|
jero
一般會員 發表:2 回覆:1 積分:0 註冊:2005-03-12 發送簡訊給我 |
程式結果總是錯誤(可執行 但數據錯) 由於bcb需要project
所以我用C++程式代替 至於陣列部分就不多佔宣告版面
input是原始陣列 outfput是FDCT後的陣列 outiput是IDCT後陣列都是8x8
拜託各位解答了 用整天都不知道錯在哪.....OTz
//----------------宣告部份
float sqrt2n=1/sqrt(2*8); float temp=0.0,sqrt2n=1/sqrt(2*8); for(i=0;i<8;i ){ for(j=0;j<8;j ){ Cos[i][j]=cos(float(2*i 1)*j*pi/float(2*8)); } } //----------------FDCT部分 for(i=0;i<8;i ){ for(j=0;j<8;j ){ for(x=0;x<8;x ){ for(y=0;y<8;y ){ temp =Cos[x][i]*Cos[y][j]*(input[x][y]-128); } } temp*=(sqrt2n*c[i]*c[j]); outfput[i][j]=int(temp); } } //------------------IDCT部分 for(i=0;i<8;i ){ for(j=0;j<8;j ){ for(x=0;x<8;x ){ for(y=0;y<8;y ){ temp =c[x]*c[y]*Cos[i][x]*Cos[j][y]*outfput[x][y]; } } temp*=sqrt2n; temp =128; if(temp<0) outiput[i][j]=0; else if(temp>255) outiput[i][j]=255; else outiput[i][j]=int(temp); } }發表人 - jero 於 2005/08/18 17:55:30 發表人 - jero 於 2005/08/18 18:58:19 |
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
|
jero
一般會員 發表:2 回覆:1 積分:0 註冊:2005-03-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |