使用Matplotlib

1.绘制图像、点和线

1.1 显示图像

1.1.1 代码

from PIL import Image
from pylab import *
# 读取图像到数组中
img = Image.open("C:\\Users\\cgs\\Desktop\\pictures\\1 (2).jpg")

# 绘制图像
img.show()

1.1.2 运行图像

1.2 读取图像到数组中

1.2.1 代码

from PIL import Image
from pylab import *
# 读取图像到数组中
img = array(Image.open("C:\\Users\\cgs\\Desktop\\pictures\\1 (2).jpg"))

print(img)

1.2.2 结果显示

[[[250 197 104]
  [253 200 106]
  [250 199 107]
  ...
  [187 207 221]
  [187 205 222]
  [187 205 222]]

 [[255 201 106]
  [255 202 106]
  [252 199 105]
  ...
  [185 206 220]
  [186 204 220]
  [186 204 220]]

 [[236 172  78]
  [248 186  90]
  [255 204 107]
  ...
  [186 204 220]
  [186 204 220]
  [186 204 220]]

 ...

 [[191 208 225]
  [189 207 224]
  [191 208 225]
  ...
  [204 220 235]
  [204 220 235]
  [204 220 235]]

 [[189 207 224]
  [188 206 223]
  [191 208 225]
  ...
  [204 220 235]
  [204 220 235]
  [204 220 235]]

 [[189 207 224]
  [188 206 223]
  [189 207 224]
  ...
  [204 220 235]
  [204 220 235]
  [204 220 235]]]

1.3 找4个点

# 一些点
x = [100, 100, 400, 400]
y = [200, 500, 200, 500]

1.4 使用颜色*号标记绘制点

# 使用红色星状标记绘制点
plot(x, y, 'r*')

1.4.1 一些知识

# 基本颜色格式
'b'    # 蓝色
'g'    # 绿色
'r'    # 红色
'c'    # 青色
'm'    # 品红
'y'    # 黄色
'k'    # 黑色
'w'    # 白色
# 基本线型格式
'-'     # 实线
'--'    # 虚线
':'     # 点线
# 基本绘制标记格式
'.'     # 点
'o'     # 圆圈
's'     # 正方形
'*'     # 星型
'+'     # 加号
'x'     # 叉号

1.5 绘制连接前两个点的线

# 绘制链接前两个点的线
plot(x[:2], y[:2])

1.6 删除坐标轴

# 删除坐标轴
axis('off')

1.7 添加标题, 显示绘制图像

# 添加标题, 显示绘制的图像
title("mountain")
show()

1.8 结果

1.8.1 总代码

from PIL import Image
from pylab import *
# 读取图像到数组中
img = array(Image.open("C:\\Users\\cgs\\Desktop\\pictures\\1 (2).jpg"))

# 绘制图像
imshow(img)

# 一些点
x = [100, 100, 400, 400]
y = [200, 500, 200, 500]

# 使用红色星状标记绘制点
plot(x, y, 'r*')

# 绘制链接前两个点的线
plot(x[:2], y[:2])

# 删除坐标轴
axis('off')

# 添加标题, 显示绘制的图像
title("mountain")
show()

1.8.2 运行结果

2. 图像轮廓和直方图

2.1 运行代码

from PIL import Image
from pylab import *

# 读取图像到数组中
img_numpy = array(Image.open("C:\\Users\\cgs\\Desktop\\pictures\\1 (2).jpg").convert('L'))

# 新建一个图像
figure() # 
 
# 不使用颜色信息
gray()

# 在原点的左上角显示轮廓图像
contour(img_numpy, origin = 'image')
axis('equal') # 避免图像变形
axis('off') # 使坐标轴不显示
figure()
hist(img_numpy.flatten(), 128) # flatten()方法对图像进行压平处理
show()

2.2 显示结果图片

3.交互式标注

3.1 运行代码

from PIL import Image
from pylab import *

# 读取图像到数组中
img_numpy = array(Image.open("C:\\Users\\cgs\\Desktop\\pictures\\1 (2).jpg"))

imshow(img_numpy)
print("Please click 3 points")
x = ginput(3)
print("you clicked:", x)
show()

3.2 结果图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值