用python写一个程序,输入图片,输出其二值化图片
时间: 2024-09-06 07:08:04 浏览: 102
benaryzation.zip python批量二值化可修改阈值
要使用Python编写一个程序,实现输入一张图片并输出其二值化图片的功能,可以使用图像处理库Pillow(PIL的一个分支)来完成。以下是一个简单的示例代码:
```python
from PIL import Image
def binary_image(input_path, output_path, threshold=128):
# 打开图片
image = Image.open(input_path)
# 将图片转换为灰度模式
image_gray = image.convert('L')
# 应用阈值进行二值化处理
image_binary = image_gray.point(lambda p: p > threshold and 255)
# 保存二值化后的图片
image_binary.save(output_path)
# 使用示例
input_image_path = 'input.jpg' # 这里替换为你要处理的图片路径
output_image_path = 'output.jpg' # 输出文件的路径
binary_image(input_image_path, output_image_path)
```
这段代码定义了一个`binary_image`函数,它接受输入图片的路径、输出图片的路径以及一个可选的阈值参数。函数首先打开输入的图片,然后将其转换为灰度模式,接着应用一个阈值进行二值化处理,最后保存处理后的图片。
要运行这个程序,需要先确保安装了Pillow库。如果未安装,可以通过以下命令进行安装:
```bash
pip install Pillow
```
运行上述代码后,你将得到一个二值化的图片文件,其中每个像素点要么是纯黑(值为0),要么是纯白(值为255),具体取决于其灰度值是否大于设定的阈值。
阅读全文