Re: [問題] 用迴圈跑sprintf 讀圖有問題
我請我朋友看了一下
但還是找不出哪裡有問題 有點急 ><
我說一下我的程式架構好了
int main()
{
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_l2.bmp", Number);
get_depth(Dep);
get_raw(FileName, OutName);
}
}
int get_depth(const char *fname_d)
int get_raw(const char *fname_s, const char *fname_t)
流程大致上是這樣
在 get_depth 函式裡讀取深度資訊
在 get_raw 函式讀取bmp圖的 R G B 資訊還有大小等等
get_raw 讀取完圖檔資訊後
在這函式裡面又用了另外兩個 depth_section() 和 shift() 函式
depth_section 函式則是利用函式 get_depth 讀到的資訊 來將深度做分段
而 shift 函式就是將剛剛所做的分段來位移 不同深度有不同位移量
最後 get_raw 函式的最後面會將位移後的新圖寫入 產生一張新的圖出來
我在 get_raw 函式裡面有印出 *fname_s 和 *fname_t 都是正確的
在 get_depth 函式裡也有印出 *fname_d 也是正確的
表示都有讀到不同張的圖
我用 fp_s = fopen(fname_s, "rb") 來開圖
最後也有用fclose(fp_s); 來close 掉
使用malloc 最後也有free掉
我還試了另一個
就是拿掉 depth_section 這函式
就單純讀檔和shift這樣
但結果還是一樣
都只能讀到第一張 讀了不管幾張進來 產生新的圖每張都一樣
整個不知道怎麼辦了 >< 弄了好幾天了有點急
這裡附上程式碼 http://0rz.tw/UYRj2
感謝了
※ 引述《skatekid (俏皮一哥)》之銘言:
: 開發平台(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.168.200
※ 編輯: skatekid 來自: 140.117.168.200 (08/17 17:34)
→
08/17 17:48, , 1F
08/17 17:48, 1F
推
08/17 17:54, , 2F
08/17 17:54, 2F
→
08/17 17:55, , 3F
08/17 17:55, 3F
→
08/17 17:55, , 4F
08/17 17:55, 4F
推
08/17 18:02, , 5F
08/17 18:02, 5F
→
08/17 18:02, , 6F
08/17 18:02, 6F
→
08/17 18:03, , 7F
08/17 18:03, 7F
→
08/17 18:04, , 8F
08/17 18:04, 8F
→
08/17 18:04, , 9F
08/17 18:04, 9F
→
08/17 20:12, , 10F
08/17 20:12, 10F
→
08/17 20:24, , 11F
08/17 20:24, 11F
→
08/17 20:27, , 12F
08/17 20:27, 12F
→
08/17 22:42, , 13F
08/17 22:42, 13F
→
08/17 23:31, , 14F
08/17 23:31, 14F
→
08/17 23:53, , 15F
08/17 23:53, 15F
→
08/18 00:03, , 16F
08/18 00:03, 16F
→
08/18 00:03, , 17F
08/18 00:03, 17F
→
08/18 00:04, , 18F
08/18 00:04, 18F
→
08/18 00:07, , 19F
08/18 00:07, 19F
→
08/18 00:11, , 20F
08/18 00:11, 20F
→
08/18 00:12, , 21F
08/18 00:12, 21F
→
08/18 00:14, , 22F
08/18 00:14, 22F
→
08/18 03:41, , 23F
08/18 03:41, 23F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):