批量处理图片二值化方法代码
时间: 2023-10-04 17:12:40 浏览: 43
以下是Python实现的基本二值化处理代码,可以批量处理图片:
```python
from PIL import Image
# 二值化处理函数
def bina(image):
threshold = 128 # 阈值
# 转换为灰度图
img = image.convert('L')
# 获取图像尺寸
width, height = img.size
# 遍历像素点,进行二值化处理
for x in range(width):
for y in range(height):
if img.getpixel((x, y)) < threshold:
img.putpixel((x, y), 0)
else:
img.putpixel((x, y), 255)
return img
# 批量处理文件夹下的图片
def batch_bina(folder):
import os
# 获取文件夹下的所有文件名
files = os.listdir(folder)
for file in files:
# 判断是否是图片文件
if file.endswith(".jpg") or file.endswith(".png"):
# 打开图片并进行二值化处理
image = Image.open(os.path.join(folder, file))
image = bina(image)
# 保存处理后的图片
image.save(os.path.join(folder, "bina_" + file))
# 测试
batch_bina("images")
```
上述代码中,`bina()`函数是对单张图片进行二值化处理的函数,`batch_bina()`函数是对指定文件夹下所有图片进行二值化处理的函数。其中,阈值可以根据实际情况进行调整。