[問題] bcb影像處理方面的問題

看板C_and_CPP (C/C++)作者 (eva)時間16年前 (2009/09/15 21:02), 編輯推噓2(204)
留言6則, 2人參與, 最新討論串1/1
請問各位... 我要寫一個3*3的mask 將周圍8個當成z中間是d 將影像的像素值0~255輸出在txt檔 但是我這樣寫的結果是 前面的z都是0 只有d是正確的 有人可以幫我解開我的疑惑嗎 謝謝~ OpenPictureDialog1->Execute() ; Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName) ; int i,j,z,d,p[10],h,w,x; Graphics::TBitmap *Bmp = new Graphics::TBitmap(); Byte *ptr; Bmp->Assign(Image1->Picture->Bitmap); AnsiString FileName; FILE *fp; SaveDialog1->Filter = "文字文件 (*.txt)|*.TXT"; SaveDialog1->DefaultExt="txt"; if(SaveDialog1->Execute()) { FileName = SaveDialog1->FileName; } fp = fopen(FileName.c_str(),"w"); for(h=0;h<Bmp->Height;h++) { ptr = (Byte *)Bmp->ScanLine[h]; for(w=0;w<Bmp->Width;w++) { p[1]=p1[i-1][j-1]; p[2]=p1[i][j-1]; p[3]=p1[i+1][j-1]; p[4]=p1[i-1][j]; p[9]=p1[i][j]; p[5]=p1[i+1][j]; p[6]=p1[i-1][j+1]; p[7]=p1[i][j+1]; p[8]=p1[i+1][j+1]; for (int x=1;x<9 ;x++) { p1[i][j]=ptr[w]; z=p[x]; fprintf(fp, "%d ", z); } d=p[9]; fprintf(fp, "%d ", d); fprintf(fp, "\n"); } } fclose(fp); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.171.114.217

09/15 21:35, , 1F
p1在哪裡??i和j又是打裡給值的??把自己的程式碼整理好
09/15 21:35, 1F

09/15 21:37, , 2F
在貼上來好唄....~_~
09/15 21:37, 2F

09/15 22:02, , 3F
剛開始寫程式,可能想的太天真了,SORRY
09/15 22:02, 3F

09/15 22:07, , 4F
應該沒什麼天不天真的, 從描述是程式可以跑了, 只是貼出
09/15 22:07, 4F

09/15 22:08, , 5F
來的部份顯然不完整, 這樣不容易看到底發生什麼問題@_@"
09/15 22:08, 5F

09/15 22:27, , 6F
恩,我改好了,也可以順利執行了,3Q~
09/15 22:27, 6F
文章代碼(AID): #1Ahv1jtV (C_and_CPP)
文章代碼(AID): #1Ahv1jtV (C_and_CPP)