Python 图像处理

  • 常用的三个图像相关模块:PIL, cv2, matplotlib
  • 一般使用numpy读取文件,因为numpy可以按照数据类型读取;用PIL或matplotlib读取文件或图像,因为cv2读取到的图像是通道顺序是BGR
  • 用cv2处理图像,cv2就是opencv,专门用于图像处理。或numpy处理图像对应的矩阵。
  • 用matplotlib显示,在jupyter notebook内matplotlib可以插入到cell间显示

基本操作

  • 读入,显示,保存
import matplotlib.pyplot as plt
import matplotlib.image as mpimg 
import numpy as np

img = mpimg.imread('Lena.jpg') 
plt.imshow(image)

图像读入后,数据格式是一个 numpy数组。
注意pyplot读入彩色图像时,通道是BGR而不是RGB。

显示灰度图

def bgr2gray(bgr):
    return np.dot(rgb[...,:3], [0.114, 0.587, 0.229])
plt.gray()
plt.imshow(image)

对灰度图像来说,必须调用 plt.gray() 才能显示二维数组表示的灰度图,否则会上色。

matplotlib 画图

  • 画散点图
    plt.scatter(x, y, s=20, marker='.', c='r')
    x,y为相同长度的数组,s散点大小,marker为形状,’.'表示点,c表示颜色。
    可以将散点图用于在图像上进行标记
  • 只在终端运行程序,如何保存图像? 这样引入pyplot(必须先调用matplotlib.use('Agg')),之后调用画图函数就不会报错,然后使用plt.savefig()就可以保存图像了。
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值