python分割图片数字_数字图像处理-位图切割

位图切割

设一幅灰度图像中的每一个像素都由 8 比特表示, 则图像转换为由 8 张 1 比特平面组成, 其范围从最低有效位的位平面 0 到最高有效位的位平面 7. 在 8 比特字节中, 平面 0 包含图像中像素的最低有效位, 而平面 7 则包含最高有效位. 较高阶位(尤其是前 4 位)包含了大多数在视觉上很重要的数据.

代码实现

import PIL.Image

import scipy.misc

import numpy as np

flat = 7

def convert_2d(r):

s = np.empty(r.shape, dtype=np.uint8)

for j in range(r.shape[0]):

for i in range(r.shape[1]):

bits = bin(r[j][i])[2:].rjust(8, '0')

fill = int(bits[-flat - 1])

s[j][i] = 255 if fill else 0

return s

im = PIL.Image.open('/img/jp.jpg')

im = im.convert('L')

im_mat = np.asarray(im)

im_conveted_mat = convert_2d(im_mat)

im_conveted = PIL.Image.fromarray(im_conveted_mat)

im_conveted.show()

实验结果

原图

第 7 个位平面

第 6 个位平面

第 5 个位平面

第 4 个位平面

第 3 个位平面

第 2 个位平面

第 1 个位平面

第 0 个位平面

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值