[問題] 用迴圈跑sprintf 讀圖有問題

看板C_and_CPP作者 (俏皮一哥)時間14年前 (2011/08/16 11:11), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Dev 問題(Question): 我寫了一個程式 用來處理五十張的彩色原圖和原圖的黑白深度圖 這程式是拿原圖和利用黑白深度圖的深度資訊來做位移(越亮部分位移越多) 然後再將位移後的新圖輸出來 我是用迴圈跑 使用sprintf這函式 可是跑出來的結果都是第一張圖的結果(每張圖都不同) 也就是我讀入 1.bmp 2.bmp 3.bmp.......50.bmp 和深度圖 1dep.bmp 2dep.bmp..... 也順利產生 1_new.bmp 2_new.bmp 3_new.bmp.....50_new.bmp 但是新出來的這五十張 每張都跟第一張長一樣 冏 想了好久想不透問題是什麼 求大家幫忙了THX 餵入的資料(Input): bmp圖檔 720x576 程式碼(Code):(請善用置底文網頁, 記得排版) char FileName[100], OutName[100], Dep[100]; for(int Number=1; Number<=50; Number++) { sprintf(Dep, "%ddep.bmp", Number); // 深度圖 sprintf(FileName, "%d.bmp", Number); // 原圖 sprintf(OutName, "%d_new.bmp", Number); // 輸出的圖 get_depth(Dep); // 讀取深度圖函式 get_raw(FileName, OutName); // 演算法 } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.157.142

08/16 11:13, , 1F
下中斷點慢慢 Trace
08/16 11:13, 1F

08/16 11:15, , 2F
你的問題會不會是出在get_depth跟get_raw裡面?
08/16 11:15, 2F

08/16 11:18, , 3F
可是跑第二次的時候 就應該是讀2.bmp 不知道為什麼結果
08/16 11:18, 3F

08/16 11:18, , 4F
還是1.bmp的圖
08/16 11:18, 4F

08/16 11:20, , 5F
單就這段程式看是沒問題的,請檢查其他地方吧
08/16 11:20, 5F
文章代碼(AID): #1EIT_uqT (C_and_CPP)
文章代碼(AID): #1EIT_uqT (C_and_CPP)