用 scikit-image 让图像"动"起来

Python 图像处理

Rebeca Gonzalez

Data Engineer

什么是图像处理?

对图像与视频进行操作以:

  • 增强图像
  • 提取有用信息
  • 分析并决策

一群朋友的照片,检测出人脸

Python 图像处理

什么是图像处理?

对图像与视频进行操作以:

  • 增强图像
  • 提取有用信息
  • 分析并决策

原始为男士持相机拍照的图像,旁为阈值化结果,下方是其直方图

Python 图像处理

应用场景

  • 医学图像分析
  • 人工智能
  • 图像恢复与增强
  • 遥感/地理空间计算
  • 监控
  • 机器人视觉
  • 汽车安全
  • 还有更多…

展示 6 个图像处理应用:人脸检测、空间图像处理、医学图像分析、地理空间计算和汽车安全

Python 图像处理

用途

  1. 可视化:
    • 显示不可见的对象
  2. 图像锐化与恢复
    • 提升图像质量
  3. 图像检索
    • 查找目标图像
  4. 模式测量
    • 测量各类对象
  5. 图像识别
    • 区分图中对象
Python 图像处理

scikit-image 简介

  • 易用
  • 利用机器学习
  • 开箱即用的复杂算法

Scikit-image 库的标志

Python 图像处理

什么是图像?

一只鹿卧在草地上的照片,旁边是局部放大图,显示像素

Python 图像处理

什么是图像?

灰度图的像素强度矩阵

Python 图像处理

scikit-image 中的图像

from skimage import data

rocket_image = data.rocket()

火箭

Python 图像处理

RGB 通道

原始猫图在上,下面是 R、G、B 三个通道图

Python 图像处理

灰度图像

灰度图与其强度矩阵并排显示

Python 图像处理

RGB vs 灰度

from skimage import color
grayscale = color.rgb2gray(original)

rgb = color.gray2rgb(grayscale)

彩色宇航员与灰度宇航员并排

Python 图像处理

课程中的图像可视化

不必担心 Matplotlib!

def show_image(image, title='Image', cmap_type='gray'):
    plt.imshow(image, cmap=cmap_type)    
    plt.title(title)
    plt.axis('off')
    plt.show()
Python 图像处理

课程中的图像可视化

from skimage import color
grayscale = color.rgb2gray(original)

show_image(grayscale, "Grayscale")

宇航员

Python 图像处理

Passons à la pratique !

Python 图像处理

Preparing Video For Download...