python图片二值化
时间: 2023-09-03 08:15:27 浏览: 87
在 Python 中进行图片二值化可以使用 Pillow 库。Pillow 是 Python Imaging Library 的一个分支,支持多种图片格式的读取、处理和保存。下面是一个简单的二值化示例:
```python
from PIL import Image
# 打开图片
img = Image.open("example.jpg")
# 转为灰度图像
gray = img.convert('L')
# 二值化
threshold = 128
table = []
for i in range(256):
if i < threshold:
table.append(0)
else:
table.append(1)
binImg = gray.point(table, '1')
# 保存图片
binImg.save("example_bin.jpg")
```
这个示例中,我们首先打开了一张图片,并使用 `convert()` 方法将其转为灰度图像。然后,我们设置了一个阈值为 128,将像素值小于阈值的像素设为 0,其余像素设为 1,得到了一个二值化的图像。最后,我们将二值化后的图像保存到了本地。
相关问题
python 图像二值化
Python 图像二值化可以使用 OpenCV 库中的 cv2.threshold() 函数实现。该函数可以将图像转换为黑白二值图像,使得图像中的目标物体更加突出。以下是一个简单的示例代码:
```python
import cv2
# 读取图像
img = cv2.imread('image.jpg', 0)
# 二值化处理
ret, thresh = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)
# 显示结果
cv2.imshow('image', thresh)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述代码中,cv2.threshold() 函数的第一个参数是输入图像,第二个参数是阈值,第三个参数是最大像素值,第四个参数是二值化类型。在本例中,我们使用的是 THRESH_BINARY 类型,表示将像素值大于阈值的像素设置为最大像素值,将像素值小于等于阈值的像素设置为 0。
python图像二值化
在 Python 中,可以使用 PIL(Python Imaging Library)库中的 Image 模块来实现图像的二值化。以下是一个简单的示例代码:
```python
from PIL import Image
# 打开图像
img = Image.open("image.png")
# 将图像转为灰度图像
img_gray = img.convert('L')
# 对图像进行二值化处理
threshold = 128
table = []
for i in range(256):
if i < threshold:
table.append(0)
else:
table.append(1)
img_bw = img_gray.point(table, '1')
# 显示二值化后的图像
img_bw.show()
```
在这个示例中,我们首先打开一张图像,然后将其转换为灰度图像。然后我们使用阈值 128 对灰度图像进行二值化处理,得到一个黑白图像。最后,我们使用 `show()` 方法显示二值化后的图像。
需要注意的是,这个示例中使用的是简单的固定阈值二值化方法,也可以使用其他更加复杂的方法,如自适应阈值二值化等。
阅读全文