全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1228
推到 Plurk!
推到 Facebook!

小波轉換程式片斷問題

缺席
cceCKF
一般會員


發表:13
回覆:13
積分:5
註冊:2004-04-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-02-11 21:46:50 IP:203.70.xxx.xxx 訂閱
我要對影像做小波轉換處理, Divide_Img將影像像素取出並儲存至blocks陣列中, 然後再對其做運算.. 奇怪的是寫入haarbook時檔案容量一直增加, 而且計算結果都是50, 不知道哪邊出了問題@@    請各位大大提示, 謝謝    <textarea class="cpp" rows="10" cols="60" name="code"> void TForm1::Divide_Img(float *ptr) { PhoHeight = Form2->Image1->Picture->Height; PhoWidth = Form2->Image1->Picture->Width; float *temp = ptr; int x, y; //將一張512*512的圖片分割成64*64個8*8的blocks FILE *SavePixel; SavePixel = fopen("codeword.txt", "w"); //整理儲存至neurous struct for(int i = 0; i < 64; i ) { x = 0; for (int m = 0; m < 8; m ) { x = m; x = i * 8; for(int j = 0; j < 64; j ) { y = 0; for(int n = 0; n < 8; n ) { y = n; y = j * 8; fprintf(SavePixel, "%6.0f", *(temp (x * 2) * PhoWidth y)); neurous.blocks[i][j][m][n] = *(temp (x * 2) * PhoWidth y); } } fprintf(SavePixel, "\n"); } } fclose(SavePixel); } ..... /*小波轉換*/ float idx_L[64][64][8][8], idx_H[64][64][8][8]; int x, y; //將codeword經過haar來轉換 FILE *SavePixel; SavePixel = fopen("haarbook.txt", "w"); //水平分割 for(int i = 0; i < 64; i ) { for (int m = 0; m < 8; m ) { for(int j = 0; j < 64; j ) { x = 0, y = 0; for(int n = 0; n < 8; n 2) { idx_L[i][j][m][x] = (neurous.blocks[i][j][m][n] neurous.blocks[i][j][m][n 1]) / 2; neurous.blocks[i][j][m][x] = idx_L[i][j][m][x]; //idx_H[i][j][m][y] = (neurous.blocks[i][j][m][n] - neurous.blocks[i][j][m][n 1]) / 2; //neurous.blocks[i][j][m][y 4] = idx_H[i][j][m][y]; fprintf(SavePixel, "%6.0f", neurous.blocks[i][j][m][x]); //fprintf(SavePixel, "%6.0f", neurous.blocks[i][j][m][y]); x = 1; //y = 1; } } fprintf(SavePixel, "\n"); } } /* //垂直分割 for(int j = 0; j < 64; j ) { for (int n = 0; n < 8; n ) { for(int i = 0; i < 64; i ) { x = 0, y = 4; for(int m = 0; m < 8; m 2) { idx_L[i][j][x][n] = (neurous.blocks[i][j][m][n] neurous.blocks[i][j][m 1][n]) / 2; idx_H[i][j][y][n] = (neurous.blocks[i][j][m][n] - neurous.blocks[i][j][m 1][n]) / 2; neurous.blocks[i][j][x][n] = idx_L[i][j][x][n]; neurous.blocks[i][j][y][n] = idx_H[i][j][y][n]; fprintf(SavePixel, "%6.0f", neurous.blocks[i][j][x][n]); fprintf(SavePixel, "%6.0f", neurous.blocks[i][j][y][n]); x = 1; y = 1; } } fprintf(SavePixel, "\n"); } } */ fclose(SavePixel); } </textarea>
------
我想多學一點
系統時間:2024-04-30 2:11:23
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!