[問題] 請問bmp圖檔

看板C_and_CPP作者 (小鬼)時間15年前 (2009/05/05 17:32), 編輯推噓0(006)
留言6則, 3人參與, 最新討論串1/2 (看更多)
小弟想請問如何每次只讀取bmp檔裡的一個bit 以下是我讀檔的程式碼 可是應該只是把test.bmp複製過去test_bit.bmp而已 我該怎麼修改 謝謝! ttt = 0; row1 = width*3;(考慮RGB) col1 = heigh; if( ( rfp = fopen("test.bmp", "rb")) == NULL || ( wfp = fopen("test_bit.bmp", "wb")) == NULL ) { printf("Can not open file(s)! "); return 0; } fread ( title, sizeof(char), 54, rfp ); fwrite( title, sizeof(char), 54, wfp ); fread( img, sizeof(char), heigh*width*3, rfp ); for( i = 0; i < heigh*width*3; i++ ) img1[i] = img[i]; fwrite( img1, sizeof(char), heigh*width*3, wfp ); fclose(wfp); fclose(rfp); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.135.8.248

05/05 17:45, , 1F
我有爬文 但還是看不太懂
05/05 17:45, 1F

05/05 18:19, , 2F
一個bit還是一個pixel?
05/05 18:19, 2F

05/05 18:20, , 3F
現有的函式庫OpenCV,兩三行就可以做完你要做的事
05/05 18:20, 3F

05/05 18:21, , 4F
Google一下吧
05/05 18:21, 4F

05/05 20:13, , 5F
bit有點不合理,你要的話讀出以後存在記憶體,算出位置就可以
05/05 20:13, 5F

05/05 20:15, , 6F
BTW 我記得bmp 會有padding這個動作,程式好像沒考慮
05/05 20:15, 6F
文章代碼(AID): #1A00U_EN (C_and_CPP)
文章代碼(AID): #1A00U_EN (C_and_CPP)