Image库
- Image.open(‘路径’)
打开图像,返回Image 类的对象,
Pillow以图像左上角为坐标(0,0),x轴向右,y轴向下
- ndarray与Image对象相互转换:
ndarray转为Image对象:
Image.fromarray(img, mode = '')
mode = '1': 灰度图
Image对象转为ndarray:
img = np.asarray(image)
ImageDraw模块
首先需要创建Draw对象:
draw = ImageDraw.Draw(im01)
- 画线
draw.line(xy,options)
含义:在变量xy列表所表示的坐标之间画线。
坐标列表可以是任何包含2元组[(x1,y1),(x2,y2)…]或者数字[x,y,…]的序列对象。它至少包括两个坐标。
变量options:
fill=颜色的数值(0~255)
width = 线的宽度
注意线连接不是很好,所以多段线段连接不好看,所以要在端点处画圆使其平滑
- 画圆
draw.ellipse((a,b,c,d),options)
含义:在给定的区域绘制一个椭圆形。
注意:(a,b,c,d)参数代表圆的四个顶点的坐标,代表该圆顺时针方向上以左端点为起点的四个顶点(左上右下)。
如果需要画一个以(x,y)为圆心,r为半径的圆,则使用以下代码即可:
draw.ellipse((x-r, y-r, x+r, y+r),fill=1)
变量options的outline给定椭圆形轮廓的颜色。Fill给定椭圆形内部的颜色。