SlideShare a Scribd company logo
1 of 54
Download to read offline
OpenCVを用いた
ロボコンにおける画像処理
舞鶴高専 創造技術研究会5年 吉元裕真
OpenCVを用いた
ロボコンにおける画像処理
舞鶴高専 創造技術研究会5年 吉元裕真
画像処理 on ロボコン
入門編
• パパ (こと、吉元裕真)
• 舞鶴高専のロボコン部(S-ken)に所属
• 2012年度の部長
• 専門プログラム
あんた誰やねん
@ani_papa01 01YumaYoshimoto
何してきたん?
• 2009 鶴恋慕の装飾
• 2010 鶴車の装飾、ホームページ管理
• 2011 投鶴のプログラム、副部長
• 2012 鶴側努のプログラム、副部長
• 2013 卒研、差し入れ担当 ←new!!
半分装飾やないけー!?
2012の舞鶴のケースを参考に、
画像処理の使い方・考え方
何話すん?
に、ついてです
みんな画像処理やろうぜ
パソコンで画像処理を使うにあたり、
基礎的なことのみお話しします。
より具体的なことは、「511号室」まで
ロボコン 2012
ベスト・ペット
目標
ペット、人間についてきて欲しいよね
画像処理やるか!
パソコン載せるか!!!
やりたいこと
伴走者の方向を検知したい
伴走者までの距離を知りたい
ゴール前のマーカー読みたい
マーカー読みたいやん!
構成図
FT232
パソコン 制御回路
Webカメラ
ロボット本体
パソコン
構成図
(1) 撮影
(2) 画像処理
(3) 指示を出す
(4) 信号受信
(5) 各種動力へ
構成図
(1) 撮影
(2) 画像処理
(3) 指示を出す
(4) 信号受信
(5) 各種動力へ
パソコンと回路との接続
RS-232C規格
Dサブ9ピン
Dサブ25ピン
昔は…?
Dサブ端子があった。
RS-232C規格で、パソコンと
 UARTで直接通信できた。
しかし、今はない。
んじゃ、今は?
FT232
http://akizukidenshi.com/catalog/g/gK-01977/
FT232
USBを仮想的にRS-232Cとして使う
 モジュール
秋月電子で800円
http://akizukidenshi.com/catalog/g/gK-01977/
試したライブラリ
2012年度のロボコンでやった画像処理について
OpenCV ARToolKit Kinect
ちょっと前に大流行
Kinect
Kinect
Microsoft社が販売
Xbox360のコントローラー
ナチュナルユーザーインターフェイス
2011年の大学ロボコンで東大が
センサとしてKinectを採用
http://www.tekwind.co.jp/products/entry_9391.php
Kinectライブラリ
• OpenNI
• Kinect for Windows
第一案 Kinect
http://www.tekwind.co.jp/products/entry_9391.php
RGBカメラ
3D深度センサ
マルチアレイマイク
Kinect
できること カメラで画像取得
指定座標までの距離測定
人認識
人の骨格認識
音声取得
音源の方向推定
カメラの角度調整
あれ
それ
遅延はんぱねぇ
便利だし、誰かしら使ってる?
ARToolKit
ARとは?
• 拡張現実感(Augmented Reality)
• スマートフォンの「ARアプリ」という形で最近流行り
• 実は40年以上の歴史あり
http://kougaku-navi.net/ARToolKit/
ARToolKit
できること マーカーを認識できる
マーカーの座標
マーカーの種類を判別できる
取得画像にさらにCGを合成できる
あれ
それ
http://kougaku-navi.net/ARToolKit/
画像にCG重ねて
なんかやろうぜ
画像処理の古参
OpenCV
ゴール前マーカーは
OpenCV使うつもりだった
作ったマーカーが
こちらになります
布
紙
マーカーを探す アルゴリズム
1. 2値化する
2. マーカーを探す
3. マーカーの座標を確認し、ロボットの行動を決定
一般的な2値化
元画像 グレースケール 2値化
普通2値化とは、明度を基準にモノクロ化すること
2値化する
元画像
Hue (色相) Saturation (彩度) Value (明度)
Red (赤) Green (緑) Blue (青)
HSV色空間とは
http://ja.wikipedia.org/wiki/HSV色空間
HSV色空間とは
Hue (色相) Saturation (彩度) Value (明度)
0 < R && R < 255 &&
0 < G && G < 255 &&
0 < B && B < 255 &&
100 < H && H < 255 &&
100 < S && S < 255 &&
50 < V && V < 255
白
それ以外
黒
マーカーを探す アルゴリズム
1. 2値化する
2. マーカーを探す
3. マーカーの座標を確認し、ロボットの行動を決定
マーカーを探す
画像上のあるドットに対し、
複数のドットの白黒を判定する
マーカーを探す
マーカーを探す
マーカーを探す アルゴリズム
1. 2値化する
2. マーカーを探す
3. マーカーの座標を確認し、ロボットの行動を決定
ロボットの行動
前進左旋回 右旋回
画像処理って簡単!
みんなも Let’s 画像処理!
Thank you for your attention.

More Related Content

Viewers also liked

無線LANでロボットを動かす話
無線LANでロボットを動かす話無線LANでロボットを動かす話
無線LANでロボットを動かす話Hisaya Okada
 
20100717高専ロボコンのつながりとロボットをつくる会
20100717高専ロボコンのつながりとロボットをつくる会20100717高専ロボコンのつながりとロボットをつくる会
20100717高専ロボコンのつながりとロボットをつくる会Nobuhide takahata
 
「明日からできる!面白ガジェットの作り方」 プロ生勉強会 第35回@DMM.comラボ
「明日からできる!面白ガジェットの作り方」 プロ生勉強会 第35回@DMM.comラボ 「明日からできる!面白ガジェットの作り方」 プロ生勉強会 第35回@DMM.comラボ
「明日からできる!面白ガジェットの作り方」 プロ生勉強会 第35回@DMM.comラボ kirin_nico
 
Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Makoto Kawano
 
2013年度春学期 画像情報処理 第2回「空間周波数とフーリエ級数」
2013年度春学期 画像情報処理 第2回「空間周波数とフーリエ級数」2013年度春学期 画像情報処理 第2回「空間周波数とフーリエ級数」
2013年度春学期 画像情報処理 第2回「空間周波数とフーリエ級数」Akira Asano
 
これからはじめるIoTデバイス mbed入門編
これからはじめるIoTデバイス mbed入門編これからはじめるIoTデバイス mbed入門編
これからはじめるIoTデバイス mbed入門編Naoto Tanaka
 
C#/Java & Linux で始める ET ロボコン(leJOS編)
C#/Java & Linux で始める ET ロボコン(leJOS編)C#/Java & Linux で始める ET ロボコン(leJOS編)
C#/Java & Linux で始める ET ロボコン(leJOS編)Minoru Inachi
 
人生を豊かにする線形代数学
人生を豊かにする線形代数学人生を豊かにする線形代数学
人生を豊かにする線形代数学Fumiya Watanabe
 
THETA S + Raspberry pi 2でライブストリーミングしてみた(続)
THETA S + Raspberry pi 2でライブストリーミングしてみた(続)THETA S + Raspberry pi 2でライブストリーミングしてみた(続)
THETA S + Raspberry pi 2でライブストリーミングしてみた(続)Shuichiro Fukuoka
 
Analysis of Learning from Positive and Unlabeled Data
Analysis of Learning from Positive and Unlabeled DataAnalysis of Learning from Positive and Unlabeled Data
Analysis of Learning from Positive and Unlabeled DataTakanori Nakai
 
130710 02
130710 02130710 02
130710 02openrtm
 
Kernel entropy component analysis
Kernel entropy component analysisKernel entropy component analysis
Kernel entropy component analysisKoichiro Suzuki
 
モーションセンサーデバイス調査
モーションセンサーデバイス調査モーションセンサーデバイス調査
モーションセンサーデバイス調査@TMYSYSKW
 
インターネッツの繋がるしくみ(物理層編) #sa_study
インターネッツの繋がるしくみ(物理層編) #sa_studyインターネッツの繋がるしくみ(物理層編) #sa_study
インターネッツの繋がるしくみ(物理層編) #sa_studyShinichiro Yoshida
 

Viewers also liked (20)

無線LANでロボットを動かす話
無線LANでロボットを動かす話無線LANでロボットを動かす話
無線LANでロボットを動かす話
 
1b2_5
1b2_51b2_5
1b2_5
 
20100717高専ロボコンのつながりとロボットをつくる会
20100717高専ロボコンのつながりとロボットをつくる会20100717高専ロボコンのつながりとロボットをつくる会
20100717高専ロボコンのつながりとロボットをつくる会
 
「明日からできる!面白ガジェットの作り方」 プロ生勉強会 第35回@DMM.comラボ
「明日からできる!面白ガジェットの作り方」 プロ生勉強会 第35回@DMM.comラボ 「明日からできる!面白ガジェットの作り方」 プロ生勉強会 第35回@DMM.comラボ
「明日からできる!面白ガジェットの作り方」 プロ生勉強会 第35回@DMM.comラボ
 
基板を作ろう
基板を作ろう基板を作ろう
基板を作ろう
 
Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)
 
2013年度春学期 画像情報処理 第2回「空間周波数とフーリエ級数」
2013年度春学期 画像情報処理 第2回「空間周波数とフーリエ級数」2013年度春学期 画像情報処理 第2回「空間周波数とフーリエ級数」
2013年度春学期 画像情報処理 第2回「空間周波数とフーリエ級数」
 
これからはじめるIoTデバイス mbed入門編
これからはじめるIoTデバイス mbed入門編これからはじめるIoTデバイス mbed入門編
これからはじめるIoTデバイス mbed入門編
 
C#/Java & Linux で始める ET ロボコン(leJOS編)
C#/Java & Linux で始める ET ロボコン(leJOS編)C#/Java & Linux で始める ET ロボコン(leJOS編)
C#/Java & Linux で始める ET ロボコン(leJOS編)
 
人生を豊かにする線形代数学
人生を豊かにする線形代数学人生を豊かにする線形代数学
人生を豊かにする線形代数学
 
THETA S + Raspberry pi 2でライブストリーミングしてみた(続)
THETA S + Raspberry pi 2でライブストリーミングしてみた(続)THETA S + Raspberry pi 2でライブストリーミングしてみた(続)
THETA S + Raspberry pi 2でライブストリーミングしてみた(続)
 
Analysis of Learning from Positive and Unlabeled Data
Analysis of Learning from Positive and Unlabeled DataAnalysis of Learning from Positive and Unlabeled Data
Analysis of Learning from Positive and Unlabeled Data
 
130710 02
130710 02130710 02
130710 02
 
Kernel entropy component analysis
Kernel entropy component analysisKernel entropy component analysis
Kernel entropy component analysis
 
MVP Community Camp
MVP Community CampMVP Community Camp
MVP Community Camp
 
MDの基本と応用について
MDの基本と応用についてMDの基本と応用について
MDの基本と応用について
 
富山高専射水キャンパス ロボット紹介
富山高専射水キャンパス ロボット紹介富山高専射水キャンパス ロボット紹介
富山高専射水キャンパス ロボット紹介
 
周波数分析
周波数分析周波数分析
周波数分析
 
モーションセンサーデバイス調査
モーションセンサーデバイス調査モーションセンサーデバイス調査
モーションセンサーデバイス調査
 
インターネッツの繋がるしくみ(物理層編) #sa_study
インターネッツの繋がるしくみ(物理層編) #sa_studyインターネッツの繋がるしくみ(物理層編) #sa_study
インターネッツの繋がるしくみ(物理層編) #sa_study
 

Similar to OpenCVを用いたロボコンにおける画像処理(2013年ロボコン交流会)

2012年度webゼミ前期発表
2012年度webゼミ前期発表2012年度webゼミ前期発表
2012年度webゼミ前期発表Chihiro Koyama
 
師弟登壇2015 GMOペパボ @orzup
師弟登壇2015 GMOペパボ @orzup師弟登壇2015 GMOペパボ @orzup
師弟登壇2015 GMOペパボ @orzupAsami Nakano
 
ギルドワークスの現場コーチ
ギルドワークスの現場コーチギルドワークスの現場コーチ
ギルドワークスの現場コーチGuildWorks
 
プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1Hiroki Toyokawa
 
未踏カンファレンス2012「メルコグループと未踏ソフト」(スポンサーPR枠)<字幕付き>
未踏カンファレンス2012「メルコグループと未踏ソフト」(スポンサーPR枠)<字幕付き>未踏カンファレンス2012「メルコグループと未踏ソフト」(スポンサーPR枠)<字幕付き>
未踏カンファレンス2012「メルコグループと未踏ソフト」(スポンサーPR枠)<字幕付き>Daisuke Maki
 
【オープンセミナー岡山2014】 明日からできるデザイン脳
【オープンセミナー岡山2014】 明日からできるデザイン脳【オープンセミナー岡山2014】 明日からできるデザイン脳
【オープンセミナー岡山2014】 明日からできるデザイン脳Chihiro Tomita
 
【いまこそ】エンジニアとデザイナー【立ち上がれ】
【いまこそ】エンジニアとデザイナー【立ち上がれ】	【いまこそ】エンジニアとデザイナー【立ち上がれ】
【いまこそ】エンジニアとデザイナー【立ち上がれ】 Yuki Kuroki
 
エッセンシャルスクラムのエッセンス
エッセンシャルスクラムのエッセンスエッセンシャルスクラムのエッセンス
エッセンシャルスクラムのエッセンスYukei Wachi
 
【Unity道場スペシャル 2017幕張】大学、専門学校でunityの講座をおこなった感触
【Unity道場スペシャル 2017幕張】大学、専門学校でunityの講座をおこなった感触【Unity道場スペシャル 2017幕張】大学、専門学校でunityの講座をおこなった感触
【Unity道場スペシャル 2017幕張】大学、専門学校でunityの講座をおこなった感触Unity Technologies Japan K.K.
 
わかると楽しいInfrastructure as code
わかると楽しいInfrastructure as codeわかると楽しいInfrastructure as code
わかると楽しいInfrastructure as codeShohei Kobayashi
 
わたしのVisual studio環境
わたしのVisual studio環境わたしのVisual studio環境
わたしのVisual studio環境Keigo Ando
 
楽しんで始めるHoloLensアプリ設計
楽しんで始めるHoloLensアプリ設計楽しんで始めるHoloLensアプリ設計
楽しんで始めるHoloLensアプリ設計A AOKI
 
CoderDojo福井の取り組み
CoderDojo福井の取り組みCoderDojo福井の取り組み
CoderDojo福井の取り組みtecking
 
せっかくエンジニアやってるのになんで副業やらないんですか? - エンジニア副業Night #1
せっかくエンジニアやってるのになんで副業やらないんですか? - エンジニア副業Night #1せっかくエンジニアやってるのになんで副業やらないんですか? - エンジニア副業Night #1
せっかくエンジニアやってるのになんで副業やらないんですか? - エンジニア副業Night #1Yuki Okada
 
Moodle Developing Environment (J)
Moodle Developing Environment (J)Moodle Developing Environment (J)
Moodle Developing Environment (J)Takeshi Matsuzaki
 
SPI Japan 2012 「SEPG活動とアジャイルの親和性を考える」ポジショントーク用
SPI Japan 2012 「SEPG活動とアジャイルの親和性を考える」ポジショントーク用SPI Japan 2012 「SEPG活動とアジャイルの親和性を考える」ポジショントーク用
SPI Japan 2012 「SEPG活動とアジャイルの親和性を考える」ポジショントーク用Naoya Maekawa
 
ロボットサミットとは?in名古屋on2012年5月
ロボットサミットとは?in名古屋on2012年5月ロボットサミットとは?in名古屋on2012年5月
ロボットサミットとは?in名古屋on2012年5月Kenichi Yoshida
 
僕らの履歴書
僕らの履歴書僕らの履歴書
僕らの履歴書Yusuke Wada
 

Similar to OpenCVを用いたロボコンにおける画像処理(2013年ロボコン交流会) (20)

2012年度webゼミ前期発表
2012年度webゼミ前期発表2012年度webゼミ前期発表
2012年度webゼミ前期発表
 
師弟登壇2015 GMOペパボ @orzup
師弟登壇2015 GMOペパボ @orzup師弟登壇2015 GMOペパボ @orzup
師弟登壇2015 GMOペパボ @orzup
 
Ssi 20150519
Ssi 20150519Ssi 20150519
Ssi 20150519
 
ギルドワークスの現場コーチ
ギルドワークスの現場コーチギルドワークスの現場コーチ
ギルドワークスの現場コーチ
 
プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1
 
未踏カンファレンス2012「メルコグループと未踏ソフト」(スポンサーPR枠)<字幕付き>
未踏カンファレンス2012「メルコグループと未踏ソフト」(スポンサーPR枠)<字幕付き>未踏カンファレンス2012「メルコグループと未踏ソフト」(スポンサーPR枠)<字幕付き>
未踏カンファレンス2012「メルコグループと未踏ソフト」(スポンサーPR枠)<字幕付き>
 
【オープンセミナー岡山2014】 明日からできるデザイン脳
【オープンセミナー岡山2014】 明日からできるデザイン脳【オープンセミナー岡山2014】 明日からできるデザイン脳
【オープンセミナー岡山2014】 明日からできるデザイン脳
 
【いまこそ】エンジニアとデザイナー【立ち上がれ】
【いまこそ】エンジニアとデザイナー【立ち上がれ】	【いまこそ】エンジニアとデザイナー【立ち上がれ】
【いまこそ】エンジニアとデザイナー【立ち上がれ】
 
エッセンシャルスクラムのエッセンス
エッセンシャルスクラムのエッセンスエッセンシャルスクラムのエッセンス
エッセンシャルスクラムのエッセンス
 
【Unity道場スペシャル 2017幕張】大学、専門学校でunityの講座をおこなった感触
【Unity道場スペシャル 2017幕張】大学、専門学校でunityの講座をおこなった感触【Unity道場スペシャル 2017幕張】大学、専門学校でunityの講座をおこなった感触
【Unity道場スペシャル 2017幕張】大学、専門学校でunityの講座をおこなった感触
 
わかると楽しいInfrastructure as code
わかると楽しいInfrastructure as codeわかると楽しいInfrastructure as code
わかると楽しいInfrastructure as code
 
わたしのVisual studio環境
わたしのVisual studio環境わたしのVisual studio環境
わたしのVisual studio環境
 
楽しんで始めるHoloLensアプリ設計
楽しんで始めるHoloLensアプリ設計楽しんで始めるHoloLensアプリ設計
楽しんで始めるHoloLensアプリ設計
 
CoderDojo福井の取り組み
CoderDojo福井の取り組みCoderDojo福井の取り組み
CoderDojo福井の取り組み
 
せっかくエンジニアやってるのになんで副業やらないんですか? - エンジニア副業Night #1
せっかくエンジニアやってるのになんで副業やらないんですか? - エンジニア副業Night #1せっかくエンジニアやってるのになんで副業やらないんですか? - エンジニア副業Night #1
せっかくエンジニアやってるのになんで副業やらないんですか? - エンジニア副業Night #1
 
Moodle Developing Environment (J)
Moodle Developing Environment (J)Moodle Developing Environment (J)
Moodle Developing Environment (J)
 
SPI Japan 2012 「SEPG活動とアジャイルの親和性を考える」ポジショントーク用
SPI Japan 2012 「SEPG活動とアジャイルの親和性を考える」ポジショントーク用SPI Japan 2012 「SEPG活動とアジャイルの親和性を考える」ポジショントーク用
SPI Japan 2012 「SEPG活動とアジャイルの親和性を考える」ポジショントーク用
 
Si2016 発表スライド
Si2016 発表スライドSi2016 発表スライド
Si2016 発表スライド
 
ロボットサミットとは?in名古屋on2012年5月
ロボットサミットとは?in名古屋on2012年5月ロボットサミットとは?in名古屋on2012年5月
ロボットサミットとは?in名古屋on2012年5月
 
僕らの履歴書
僕らの履歴書僕らの履歴書
僕らの履歴書
 

More from Yuma Yoshimoto

JPEF OF OPERATION (ABSTRACT)
JPEF OF OPERATION (ABSTRACT)JPEF OF OPERATION (ABSTRACT)
JPEF OF OPERATION (ABSTRACT)Yuma Yoshimoto
 
PATTERN RECOGNITION AND MACHINE LEARNING (1.1)
PATTERN RECOGNITION AND MACHINE LEARNING (1.1)PATTERN RECOGNITION AND MACHINE LEARNING (1.1)
PATTERN RECOGNITION AND MACHINE LEARNING (1.1)Yuma Yoshimoto
 
プログラマ講習第3回
プログラマ講習第3回プログラマ講習第3回
プログラマ講習第3回Yuma Yoshimoto
 
プログラマ講習第2回
プログラマ講習第2回プログラマ講習第2回
プログラマ講習第2回Yuma Yoshimoto
 
プログラマ講習第1回
プログラマ講習第1回プログラマ講習第1回
プログラマ講習第1回Yuma Yoshimoto
 
プログラマ講習第0回
プログラマ講習第0回プログラマ講習第0回
プログラマ講習第0回Yuma Yoshimoto
 

More from Yuma Yoshimoto (6)

JPEF OF OPERATION (ABSTRACT)
JPEF OF OPERATION (ABSTRACT)JPEF OF OPERATION (ABSTRACT)
JPEF OF OPERATION (ABSTRACT)
 
PATTERN RECOGNITION AND MACHINE LEARNING (1.1)
PATTERN RECOGNITION AND MACHINE LEARNING (1.1)PATTERN RECOGNITION AND MACHINE LEARNING (1.1)
PATTERN RECOGNITION AND MACHINE LEARNING (1.1)
 
プログラマ講習第3回
プログラマ講習第3回プログラマ講習第3回
プログラマ講習第3回
 
プログラマ講習第2回
プログラマ講習第2回プログラマ講習第2回
プログラマ講習第2回
 
プログラマ講習第1回
プログラマ講習第1回プログラマ講習第1回
プログラマ講習第1回
 
プログラマ講習第0回
プログラマ講習第0回プログラマ講習第0回
プログラマ講習第0回
 

OpenCVを用いたロボコンにおける画像処理(2013年ロボコン交流会)