close
在 .Net 下 24bit bitmap 儲存 圖片的格式並不是大家熟悉的 RGB
儲存的方式是 BGR 剛好顛倒過來
如果要計算灰階
以 100 *100 的 24 bit 圖為例
Dim bits as integer = 100*100 * 3
Dim tempByte as byte
for i = 0 to 100-1
for j = 0 to bits -1 step 3
B = bgrValue( j + i * bits)
G = bgrValue( j + 1 + i * bits)
R = bgrValue( j + 2 + i * bits)
tempByte = (B + G + R ) /3
bgrValue( j + i * bits) = tempByte
bgrValue( j + 1 + i * bits) = tempByte
bgrValue( j + 2 + i * bits) = tempByte
next
next
這樣就可以得到 此圖片的灰階 一維陣列
但如果是要比較精確的灰階 要改成
tempByte = B * 0.114 + G * 0.587 + R * 0.299
只是如果圖片一大 灰階用這兩種計算都會被拖慢,尤其是 第二種方法
全站熱搜