C語言讀取黑白BMP圖,如何用C語言程式從bmp格式的圖片中讀取圖片的灰度值

時間 2022-04-03 04:30:19

1樓:世青易牛躍

1.黑白bmp檔案圖的畫素大多是從62位元組(從0數起)開始。具體從哪一位元組開始,

決定於檔案中第10位元組(從0數起)開始處4位元組的整形數是多少.

因為檔案頭後面不是緊接著畫素值.

2.黑白bmp圖的一個畫素用一個bit表示。一般0表示背景(預設為白色),1表示前景色(預設為黑色)。即一個位元組代表相鄰的8個畫素。

3.320*240的黑白bmp圖,每行320個畫素用40個位元組表示,240行,應占40*240=9600位元組。加上前頭62位元組,檔案大小應為9662位元組。

4.bmp影象素的儲存順序是自底向上。所以檔案最後40個位元組表示的是第一行的畫素值。

5.行寬如不是8的倍數,也擴充套件到8的倍數。如行寬321,

則每行畫素需用41個位元組儲存。你的行寬320,恰好是8的倍數,沒有這個問題。

2樓:鬱詩蕊初令

位深為1的bmp圖,一般是有要有顏色表的,沒有時用黑白色代替。

資料儲存是1位為一個畫素點。

要使用左移位右移位運算。

比如讀出一個位元組

abytep=

(a>>7);//就是第一個畫素點的顏色索引。再顏色表中找出對應的顏色就行了。

p=((a<<1)>>6);//這就是第二個畫素點了.

同理可以得到其他的畫素點

如何用c語言程式從bmp格式的**中讀取**的灰度值

3樓:尼瑪真響亮

lz我可以給你一個我以前寫過的簡單解析bmp的**。可以取出rgb,再算灰度估計就很容易了吧。

c語言,怎樣讀取一個bmp**?

C語言BMP檔案,如何用C語言程式設計來顯示一個bmp檔案

bmp格式檔案是點陣圖,裡面儲存的是畫素點的紅 綠 藍三原色的亮度,並沒有儲存什麼特定的圖形,所以bmp檔案不能直接讀取出特定圖形的個數.當然通過圖形識別技術,也是可以識別出直線,圓等幾何資訊.文字識別技術可以識別出其中包含的文字資訊 臉部識別技術可以識別出人臉部的特徵資訊.這些演算法都比較複雜.都...

如何用C語言迴圈讀取檔案內容,怎麼用C語言讀取 TXT檔案中的字串

迴圈讀取一個檔案的內容。這樣做沒有任何意義,不如把讀取的內容保持在變數當中,節省空間時間。如果非要反覆讀取的話可以使用rewind函式把檔案指標重置。函式名 rewind 功 能 將檔案內部的位置指標重新指向一個流 資料流 檔案 的開頭注意 不是檔案指標而是檔案內部的位置指標,隨著對檔案的讀寫檔案的...

如何用c 對bmp圖固定閾值二值化

讀到每個畫素點的rgb值,計算一下 如何用c語言實現對影象的二值化?該函式用於對影象進行閾值分割運算 引數 lpstr lpdibbits 指向源dib影象指標 long lwidth 源影象寬度 象素數 long lheight 源影象高度 象素數 bool imagechangeproc thr...