用python分解图片的8个位平面

from PIL import Image
I = Image.open('lena.bmp')
I.show()
I = np.array(I)
IMG=[0,0,0,0,0,0,0,0]

for i in range(8):
    IMG[i]=I%2
    I=I/2
    image = Image.fromarray(IMG[i]*255)
    image.save(str(i)+'.bmp')
    image.show()


支持bmp,tiff,png等格式

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
灰度图的位平面分解是将灰度图像的每个像素值用二进制表示,并按位将相同位数的像素值组合在一起,形成一组位平面图。在Python中进行灰度图位平面分解的方法如下: 1. 首先,读取原始的灰度图像,可以使用OpenCV库的`cv2.imread()`函数将图像加载到程序中。 2. 将图像转换为灰度图,使用OpenCV库的`cv2.cvtColor()`函数将彩色图像转换为灰度图像。 3. 对每个位平面进行分解,可以使用NumPy库中的`numpy.unpackbits()`函数将每个像素值转换为二进制表示。 4. 将每个位平面图像进行保存或进一步处理。可以使用OpenCV库的`cv2.imwrite()`函数将位平面图像保存到磁盘上。 下是一个示例代码,展示了如何在Python中进行灰度图位平面分解: ```python import cv2 import numpy as np # 读取灰度图像 image = cv2.imread('image.jpg', 0) # 进行位平面分解 bit_planes = [np.unpackbits(image, axis=2)[:, :, i for i in range(8)] # 保存位平面图像 for i, plane in enumerate(bit_planes): cv2.imwrite('bit_plane_{}.jpg'.format(i), plane) ``` 在上述代码中,我们首先使用`cv2.imread()`函数读取灰度图像。然后,使用`np.unpackbits()`函数将每个像素值转换为二进制表示,得到一组位平面图像。最后,使用`cv2.imwrite()`函数将每个位平面图像保存到磁盘上。 这样,我们就可以通过位平面分解得到灰度图像的每个位平面图。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [位平面分解与合成---OpenCV-Python开发指南(4)](https://blog.csdn.net/liyuanjinglyj/article/details/113769212)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Opencv+Python学习记录10:位平面分解+图像加密和解密(内附详细代码)](https://blog.csdn.net/qq_53914247/article/details/123823464)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值