[問題] C語言讀圖檔

看板C_and_CPP作者 (heymei)時間14年前 (2011/08/12 20:25), 編輯推噓0(008)
留言8則, 4人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Dev-C++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 目前想把一個raw檔讀入一維陣列 每一個raw檔的pixel有8個位元 所以宣告char陣列 來儲存352*288的圖檔 所以宣告101376的字元陣列。 自己的寫法如下: FILE *fptr; int i= 0; unsigned char num[101376]= {0}; fptr = fopen("c:\\HW\\HW2_Porsche918Spyder.yuv","rb"); fread(&num,sizeof(unsigned char),101376,fptr); unsigned char num_int[101376]={0}; //宣告字元陣列來裝轉換int後的值 char *endptr; for(i=0;i<101376;i++) num_int[i] = strtol(&num, &endptr, 2); 問題1:這樣使用fread對嗎? 問題2:這樣使用strtol對嗎? 餵入的資料(Input): 讀入一個幾乎整片綠的法拉利raw圖檔 預期的正確結果(Expected Output): 小弟覺得讀進來的結果 應該值在0~255之間 錯誤結果(Wrong Output): 但出來的值幾乎是22上下誤差不到2.. 我感覺好像是錯的... 請大大幫忙>"< 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.234.29

08/12 20:34, , 1F
....
08/12 20:34, 1F

08/12 20:35, , 2F
不需strtol...
08/12 20:35, 2F

08/12 20:49, , 3F
而且請自己先去複習什麼是binary檔...
08/12 20:49, 3F

08/12 20:51, , 4F
而且自己試著輸出num array...
08/12 20:51, 4F

08/12 23:02, , 5F
覺得讀圖檔問題可以在精華區開專區了
08/12 23:02, 5F

08/12 23:03, , 6F
@_@ 同感
08/12 23:03, 6F

08/13 07:04, , 7F
上次圖檔有兩篇好文,版主要不要收集一下.讓在下以後可
08/13 07:04, 7F

08/13 07:04, , 8F
以偷偷會點皮毛
08/13 07:04, 8F
文章代碼(AID): #1EHHlKj3 (C_and_CPP)
文章代碼(AID): #1EHHlKj3 (C_and_CPP)