More Related Content Similar to Pythonで画像処理をやってみよう! 第1回 - ヒストグラムと濃度変換 -
Similar to Pythonで画像処理をやってみよう! 第1回 - ヒストグラムと濃度変換 - (11) More from Project Samurai
More from Project Samurai (20) Pythonで画像処理をやってみよう! 第1回 - ヒストグラムと濃度変換 -1. 第31回 (2015/7/11) MPS 定例ミーティング
Python で画像処理をやってみよう!
第1回 - ヒストグラムと濃度変換 -
金子純也
(Morning Project Samurai 代表)
第30回 MPS ミーティング資料 (2015/07/11) (c) Junya Kaneko
2. 目次
• Morning Project Samurai (MPS) とは
• 画像認識とは
• ディジタル画像の基礎知識
• ヒストグラム
• 濃度変換
第30回 MPS ミーティング資料 (2015/07/11) (c) Junya Kaneko
3. Morning Project Samurai (MPS)
• Morning
- 土曜の朝を有意義に
• Project
- プロジェクト指向
• Samurai
- 謙虚に学習
- プロジェクトをバッサバッサ
と斬りまくる
プロジェクト
リーダー
シップ
メンバー
シップ
成果
人脈
UP!
UP!
UP!
キャリア
知識・技術
UP!
UP!
第30回 MPS ミーティング資料 (2015/07/11) (c) Junya Kaneko
4. これまでに行った活動
• 勉強会 (プレゼン)
- Webアプリの安全性について(XSS実習)
- コンピュータが動くメカニズム(論理回路基礎)
- プログラムテストについて
- JavaScript 入門 (実習)
- Python を用いた Youtube 動画リストの作成
(プログラム基礎、オブジェクト指向、サーバーからのデータ取得、
ドキュメントの検索と読み方、UML基礎)
- Python で OAuth を使ってみよう!
• プロジェクト
- MPS HP
- ぶらさぼり(東京メトロオープンデータ活用コンテスト)
- 企業内研修講師
- 世田谷まちづくりファンド (MPS Setagaya 設立)
- エジソンカー作成
第30回 MPS ミーティング資料 (2015/07/11) (c) Junya Kaneko
8. Be Active, Be Creative!!
MPS
第30回 MPS ミーティング資料 (2015/07/11) (c) Junya Kaneko
9. 目次
• Morning Project Samurai (MPS) とは
• 画像認識とは
• ディジタル画像の基礎知識
• ヒストグラム
• 濃度変換
第30回 MPS ミーティング資料 (2015/07/11) (c) Junya Kaneko
11. 画像認識 (Image Recognition)
Recognition:
The act of accepting that something is true or
important or that it exists
(出典: http://www.merriam-webster.com/)
物事の真偽や重要性、またはその存在を認める行動
Image Recognition:
画像や画像中にあるものが
一体何を意味しているかを理解する
第30回 MPS ミーティング資料 (2015/07/11) (c) Junya Kaneko
13. 必要となる (学べる) 知識と技術
• コンピュータ内での基本的な画像の扱い方
• 数学
(行列演算、フーリエ変換、etc.)
• パターン認識、学習アルゴリズム
(ニューラルネット、ベイジアンネットワーク、etc.)
• 上記を統合して実際にプログラミングできる技術
(コンピュータサイエンスに所属する大学3年生程度の知識)
第30回 MPS ミーティング資料 (2015/07/11) (c) Junya Kaneko
15. 必要となる (学べる) 知識と技術
• コンピュータ内での基本的な画像の扱い方
• 数学
(フーリエ変換、行列による座標変換、etc.)
• 学習アルゴリズム
(ニューラルネット、ベイジアンネットワーク、etc.)
• 上記を統合して実際にプログラミングできる技術
(コンピュータサイエンスに所属する大学3年生程度の知識)
第30回 MPS ミーティング資料 (2015/07/11) (c) Junya Kaneko
17. 目次
• Morning Project Samurai (MPS) とは
• 画像認識とは
• ディジタル画像の基礎知識
• ヒストグラム
• 濃度変換
第30回 MPS ミーティング資料 (2015/07/11) (c) Junya Kaneko
18. ディジタル画像
ピクセル
(r, g, b) = (255, 0, 0)
ピクセルの集合で表現される画像
- ピクセルは離散点
- 各ピクセルにおけるカラーや濃淡の情報も離散値
ピクセル
(r, g, b) = (255, 255, 255)
第30回 MPS ミーティング資料 (2015/07/11) (c) Junya Kaneko
20. カラーモデルによる色の表現
• RGB :
- 適切に選ばれた3つの原刺激の組みで表現
- コンピュータが主に使用
• HSV:
- (色相, 彩度, 明度) の組みで表現
- 人間が色を選ぶときに直感的に使いやすい
• YCbCr:
- 明度と色差の組みで表現
- ビデオやストリーミングで主に使用
- 人間の視覚特性に注目した効率の良い表現方法
(参考: http://cs.brown.edu/courses/cs092/VA10/HTML/ColorModels.html)
第30回 MPS ミーティング資料 (2015/07/11) (c) Junya Kaneko
22. ピクセルとその情報を
Python で取得してみよう! (下準備編)
• Pillow のインストール
pip install Pillow または pip3 install Pillow
• プログラムを置くフォルダを1つ作成
• JPEG 画像を1つ上で作成したフォルダに用意
第30回 MPS ミーティング資料 (2015/07/11) (c) Junya Kaneko
24. 練習問題
用意したJPEG画像の適当な位置から
100 * 100 ピクセル の正方形領域を
黒で塗りつぶして、結果を保存してみよう。
ヒント:
- ピクセル情報の更新: pxls[i, j] = (r, g, b)
- 画像の保存: img.save(‘filename.jpg’)
- 公式ドキュメント: pillow.readthedocs.org
第30回 MPS ミーティング資料 (2015/07/11) (c) Junya Kaneko
25. 目次
• Morning Project Samurai (MPS) とは
• 画像認識とは
• ディジタル画像の基礎知識
• ヒストグラム
• 濃度変換
第30回 MPS ミーティング資料 (2015/07/11) (c) Junya Kaneko
30. ランダムに生成された0から5までの整数
1000個の列のヒストグラムを描画
import matplotlib.pyplot as plt
import random
rnums = [random.randint(0, 4) for i in range(0, 1000)]
rand_hist = [0] * 5
for i in range(0, 1000):
rand_hist[rnums[i]] += 1
rand_hist = [i/1000 for i in rand_hist]
plt.bar(range(0, 5), rand_hist, 1, color="blue")
plt.show()
第30回 MPS ミーティング資料 (2015/07/11) (c) Junya Kaneko
32. 目次
• Morning Project Samurai (MPS) とは
• 画像認識とは
• ディジタル画像の基礎知識
• ヒストグラム
• 濃度変換
第30回 MPS ミーティング資料 (2015/07/11) (c) Junya Kaneko
46. 参考図書
1. 田村 秀行: コンピュータ画像処理. オーム社. 2002.
2. P.H.リンゼイ: 情報処理心理学入門1 感覚と知覚.
サイエンス社. 1983.
3. Richard Szeliski : Computer Vision: Algorithms and
Applications. Springer. 2010.
第30回 MPS ミーティング資料 (2015/07/11) (c) Junya Kaneko