python 绘制椭圆形mask
时间: 2023-06-30 08:27:00 浏览: 137
你可以使用 Python 中的 PIL(Python Imaging Library)模块来绘制椭圆形的 mask,具体步骤如下:
1. 导入 PIL 模块:
```python
from PIL import Image, ImageDraw
```
2. 创建一个空白的图像并获取其 Draw 对象:
```python
img = Image.new('L', (width, height), 0)
draw = ImageDraw.Draw(img)
```
其中,'L' 表示图像的模式为灰度图像,(width, height) 表示图像的大小,0 表示图像的初始颜色为黑色。
3. 绘制椭圆形:
```python
draw.ellipse((x0, y0, x1, y1), fill=255)
```
其中,(x0, y0) 和 (x1, y1) 分别表示椭圆形的左上角和右下角的坐标,fill=255 表示椭圆形的颜色为白色。
4. 获取椭圆形的 mask:
```python
mask = img.convert('1')
```
其中,'1' 表示将图像转换为二值图像(即黑白图像),mask 中的白色像素即为椭圆形所覆盖的像素,黑色像素则表示未被覆盖的像素。
完整的代码示例:
```python
from PIL import Image, ImageDraw
# 创建一个空白的图像并获取其 Draw 对象
width, height = 512, 512
img = Image.new('L', (width, height), 0)
draw = ImageDraw.Draw(img)
# 绘制椭圆形
x0, y0, x1, y1 = 100, 100, 400, 300
draw.ellipse((x0, y0, x1, y1), fill=255)
# 获取椭圆形的 mask
mask = img.convert('1')
# 显示图像和 mask
img.show()
mask.show()
```
阅读全文