python用PIL阈值抠图
时间: 2023-04-05 20:05:02 浏览: 154
可以回答这个问题。使用PIL库中的Image模块,可以通过设置阈值来实现抠图。具体操作可以参考以下代码:
```
from PIL import Image
# 打开图片
img = Image.open('image.jpg')
# 转换为灰度图像
img_gray = img.convert('L')
# 设置阈值
threshold = 150
# 抠图
img_binary = img_gray.point(lambda x: 255 if x > threshold else 0)
# 保存抠图结果
img_binary.save('binary_image.jpg')
```
这段代码将原始图片转换为灰度图像,然后根据设定的阈值将像素点分为黑白两类,最终得到抠图结果。
相关问题
python用pil库获取像素
可以使用PIL库中的Image模块来打开一张图片,然后使用load()方法获取图片的像素数据。示例代码如下:
```python
from PIL import Image
# 打开图片
img = Image.open('test.jpg')
# 获取像素数据
pixels = img.load()
# 打印第一个像素的RGB值
print(pixels[0, 0])
```
其中,`test.jpg`是要获取像素的图片文件名,`pixels`是一个二维的像素数组,每个元素代表一个像素的RGB值。可以通过索引来获取特定的像素值。例如上面代码中打印的是图片左上角第一个像素的RGB值。
python用pil库获取长宽
您可以使用Pillow库中的Image模块来获取图片的长宽。代码示例如下:
```python
from PIL import Image
# 打开图片文件
im = Image.open('image.jpg')
# 获取图片的长宽
width, height = im.size
print('图片宽度为:%d,图片高度为:%d' % (width, height))
```
其中,`im.size` 返回一个二元组,第一个元素表示图片的宽度,第二个元素表示图片的高度。