帮我写一个批量二值化jpg图片的python代码
时间: 2023-08-28 12:54:11 浏览: 121
图像二值化代码
当您说批量二值化图像,是指将一批图像转换为二值图像(只有黑色和白色,没有灰色)。下面是一个示例代码,演示如何使用OpenCV库将一批JPG图像进行二值化处理:
```python
import cv2
import os
def batch_binarization(input_folder, output_folder, threshold):
# 创建输出文件夹
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# 遍历输入文件夹中的图像文件
for filename in os.listdir(input_folder):
if filename.endswith('.jpg'):
# 读取图像
image_path = os.path.join(input_folder, filename)
image = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)
# 对图像进行二值化处理
_, binary_image = cv2.threshold(image, threshold, 255, cv2.THRESH_BINARY)
# 保存二值化后的图像
output_path = os.path.join(output_folder, filename)
cv2.imwrite(output_path, binary_image)
# 测试代码
input_folder = 'input_folder'
output_folder = 'output_folder'
threshold = 128 # 阈值,可根据需要进行调整
batch_binarization(input_folder, output_folder, threshold)
```
在上面的代码中,您需要提供输入文件夹的路径(包含要进行二值化的JPG图像文件),输出文件夹的路径(用于保存二值化后的图像),以及阈值(用于控制二值化过程中的灰度阈值)。请确保您已经安装了OpenCV库:`pip install opencv-python`。
请注意,这个代码只处理`.jpg`文件,如果您的图像文件扩展名不同,请相应地修改代码中的文件过滤条件。
希望这可以帮到您!如果您有任何其他问题,请随时提问。
阅读全文