python - How would I implement a bit map? -
i wish implement 2d bit map class in python. class have following requirements:
- allow creating of arbitrarily sized 2d bitmaps. i.e. create 8 x 8 bitmap (8 bytes), like: - bitmap = bitmap(8,8)
- provide api access bits in 2d map boolean or integer values, i.e.: - if bitmap[1, 2] or bitmap.get(0, 1)
- able retrieve data packed binary data. each row of bit map concatenated , returned binary data. may padded nearest byte or similar. - bitmap.data()
- be able create new maps binary data retrieved: - new_bitmap = bitmap(8, 8, bitmap.data())
i know python able perform binary operations, i'd suggestions how best use them implement class.
bit-packing numpy ( scipy ) arrays looking for. example shows 4x3 bit (boolean) array packed 4 8-bit bytes. unpackbits unpacks uint8 arrays boolean output array can use in computations.
>>> = np.array([[[1,0,1], ...                [0,1,0]], ...               [[1,1,0], ...                [0,0,1]]]) >>> b = np.packbits(a,axis=-1) >>> b array([[[160],[64]],[[192],[32]]], dtype=uint8) if need 1-bit pixel images, pil place look.
Comments
Post a Comment