python语句现实下列功能1、循环将后缀为.b m p灰度图像分割成8X8的小块并输出,2、并对每个像素值减去128 并输出
时间: 2023-04-01 22:00:55 浏览: 83
可以使用以下 Python 代码实现:
```python
import os
from PIL import Image
# 待处理的文件夹路径
folder_path = "path/to/folder"
# 遍历文件夹中的所有 bmp 文件
for filename in os.listdir(folder_path):
if filename.endswith(".bmp"):
# 打开图像并转换为灰度图像
img = Image.open(os.path.join(folder_path, filename)).convert("L")
# 获取图像的宽度和高度
width, height = img.size
# 将图像分割成 8x8 的小块并输出
for y in range(, height, 8):
for x in range(, width, 8):
box = (x, y, x+8, y+8)
block = img.crop(box)
block.save(os.path.join(folder_path, f"{filename}_{x}_{y}.bmp"))
# 对每个像素值减去 128 并输出
for i in range(8):
for j in range(8):
pixel = block.getpixel((i, j))
block.putpixel((i, j), pixel-128)
block.save(os.path.join(folder_path, f"{filename}_{x}_{y}_subtracted.bmp"))
```
这段代码会遍历指定文件夹中的所有后缀为 .bmp 的图像文件,将它们转换为灰度图像,并将每个图像分割成 8x8 的小块。对于每个小块,它会将每个像素值减去 128,并输出两个文件:一个是原始的小块图像,另一个是减去 128 后的小块图像。
阅读全文