# 1.2.1 绘制图像、点和线
from PIL import Image
from pylab import *
# 在PyLab库中,约定图像左上角为坐标原点
# 读取图像到数组中
im = array(Image.open('C:/Users/Lenovo/Desktop/picture/call me the queen.jpg'))
# 绘制图像
imshow(im)
# 一些点
x = [100, 100, 400, 400]
y = [200, 500, 200, 500]
# 使用红色星状标记绘制点
plot(x, y, 'r*')
# 绘制连接前两个点的线
plot(x[:3], y[:3])
# 添加标题,显示绘制的图像
title('Plotting:"Call me the Queen"')
show()
# show命令首先打开图形用户界面(GUI),然后新建一个窗口
# 每个脚本中只能调用一次show()命令,通常在脚本的结尾调用
axis('off') # 不显示坐标轴
绘图时,很多选项可以用于控制图像的颜色和样式:
表1-1:用PyLab库绘图的基本颜色格式命令
颜色 | |
---|
'b' | 蓝色 |
'g' | 绿色 |
'r' | 红色 |
'c' | 青色 |
'm' | 品红 |
'y' | 黄色 |
'k' | 黑色 |
'w' | 白色 |
表1-2:用PyLab库绘图的基本线型格式命令
线型 | |
'-' | 实线 |
'--' | 虚线 |
':' | 点线 |
表1-3:用PyLab库绘图的基本绘制标记格式命令
标记 | |
'.' | 点 |
'o' | 圆圈 |
's' | 正方形 |
'*' | 星形 |
'+' | 加号 |
'x' | 叉号 |
1.2.2 图像轮廓和直方图
# 1.2.2 图像轮廓和直方图
from PIL import Image
from pylab import *
# 读取图像到数组中
im = array(Image.open('C:/Users/Lenovo/Desktop/picture/call me the queen.jpg').convert('L'))
# PIL的convert()方法将图像转换成灰度图像
# 新建一个图像
figure()
# 不使用颜色信息
gray()
# 在原点的左上角显示轮廓图像
contour(im, origin='image')
axis('equal')
axis('off') # 不显示坐标轴
# 灰度图像直方图可以使用hist()函数绘制
figure()
hist(im.flatten(), 128)
# hist()函数第二个参数指定小区间的数目,note该函数只接受一维数组作为输入
# 使用flatten方法将任意数组按照优先准则转换成一维数组
show()
1.2.3 交互式标注
# 1.2.3 交互式标注 标注一些点或一些训练数据
from PIL import Image
from pylab import *
# 读取图像到数组中
im = array(Image.open('C:/Users/Lenovo/Desktop/picture/call me the queen.jpg'))
imshow(im)
print("Please click 3 points")
x = ginput(3)
# PyLab库中的ginput函数可以实现交互式标注,点击的坐标(x,y)自动保存进x列表中
print("you clicked:", x)
show()