python 讀 bitmap 顯示它的值

  1. python 讀 bitmap 顯示它的值

python 讀 bitmap 顯示它的值

原文連結: https://darkblack01.blogspot.com/2016/04/python-bitmap.html
移植時的最後更新日期: 2016-04-23T17:24:20.275+08:00

原本想寫一個smooth演算法的。
但是,想不到python的前置作業還滿麻煩的。(小小的不習慣)

我準備了一張這樣的影像
顏色: 灰階
色階: 8bit/pixel (我比較喜歡叫演色性)
大小: 5 pixel ×5 pixel


原本不打算使用任何的lib進行coding,但是因為手邊並無「沒有檔頭」的影像。
準備好的影像檔,也是.bmp格式,所以就去找了一下適合的lib來解決檔頭的問題。

找到了一個叫PIL的lib,好像很厲害。
跟著這一份教學,有小小的練習了一下,如果當初研究(研究影像處理)所是用python,不知道會是怎麼樣的情況呀(遠望)

說遠了

然後,這次的實作,只有將影像讀取出來,並且顯示所有的pixel值。
from PIL import Image

bmp_image = Image.open( ‘sample.bmp’ )

for i_vertical in range(bmp_image.height):
line_horizon = [bmp_image.getpixel((i_horizon, i_vertical)) for i_horizon in range(bmp_image.width) ]
print(*line_horizon)

bmp_image.close()
effective python說用這樣比較快
from PIL import Image

bmp_image = Image.open( ‘sample.bmp’ )

line_horizon = (bmp_image.getpixel((i_horizon, i_vertical)) for i_vertical in range(bmp_image.height) for i_horizon in range(bmp_image.width))
for x in range(bmp_image.height):
for y in range(bmp_image.width):
print(next(line_horizon), ’ ‘, end = ‘’)
print(’’)

bmp_image.close()
執行結果:
(我有手動讓它對齊)

255 0 0 0 0
255 255 0 0 0
255 0 255 0 255
0 255 0 255 0
0 0 0 255 0
255 255 255 255 255