画像のためのNumPy

Pythonで学ぶ画像処理

Rebeca Gonzalez

Data Engineer

画像のためのNumPy

  • 画像処理の基礎
    • 反転
    • 特徴抽出・分析

公園を歩くかわいい犬

犬の左右反転画像

Pythonで学ぶ画像処理

画像はNdArray

マドリードの建物

# Matplotlibで画像を読み込み
madrid_image = plt.imread('/madrid.jpeg')

type(madrid_image)
<class 'numpy.ndarray'>
Pythonで学ぶ画像処理

NumPyで色を扱う

ぶどう画像と3つの色チャンネル

Pythonで学ぶ画像処理

NumPyで色を扱う

# 赤成分を取得
red = image[:, :, 0]

# 緑成分を取得
green = image[:, :, 1]

# 青成分を取得
blue = image[:, :, 2]

各チャンネルを個別表示

Pythonで学ぶ画像処理

NumPyで色を扱う

若い女性の各チャンネルをグレースケールで表示

plt.imshow(red, cmap="gray")    
plt.title('Red')
plt.axis('off')
plt.show()
Pythonで学ぶ画像処理

shape

マドリードの建物

# 画像のshapeにアクセス
madrid_image.shape
(426, 640, 3)
Pythonで学ぶ画像処理

size

マドリードの建物

# 画像のsizeにアクセス
madrid_image.size
817920
Pythonで学ぶ画像処理

反転:上下

# 画像を上下反転
vertically_flipped = np.flipud(madrid_image)

show_image(vertically_flipped, 'Vertically flipped image')

マドリードの画像(上下反転)

Pythonで学ぶ画像処理

反転:左右

# 画像を左右反転
horizontally_flipped = np.fliplr(madrid_image)

show_image(horizontally_flipped, 'Horizontally flipped image')

マドリードの画像(左右反転)

Pythonで学ぶ画像処理

ヒストグラムとは

暗い画像のヒストグラム 明るい画像のヒストグラム

Pythonで学ぶ画像処理

カラー・ヒストグラム

若い女性のRGB画像の各色のヒストグラム

Pythonで学ぶ画像処理

ヒストグラムの活用

  • 解析
  • 二値化
  • 明るさとコントラスト
  • ヒストグラム平坦化

二値化した画像

Pythonで学ぶ画像処理

Matplotlibでのヒストグラム

赤のヒストグラム

# 画像の赤成分
red = image[:, :, 0]

# 赤ヒストグラムを取得 plt.hist(red.ravel(), bins=256)
Pythonで学ぶ画像処理

Matplotlibでヒストグラムを可視化

blue = image[:, :, 2]

plt.hist(blue.ravel(), bins=256)
plt.title('Blue Histogram')
plt.show()

画像の青のヒストグラム

Pythonで学ぶ画像処理

Passons à la pratique !

Pythonで学ぶ画像処理

Preparing Video For Download...