SlideShare uma empresa Scribd logo
1 de 17
2012年兼本研究室講義 4回目
                丹野嘉信
     http://ytanno.herokuapp.com/
         画像処理の応用例
http://www.youtube.com/watch?v=mT
    CUY4CUHFU&feature=youtu.be
今回はグループ課題
• http://youtu.be/lNf798BKT2g 動画
指定した領域を切り取って別のPictureBoxに描
画
作成時間 1時間
4人で協力すれば60 / 4 = 15分で終わります。
簡単ですね!
講義の目標の再確認
• 兼本先生が言った内容を実装できるようになる。
 (論文読みとかアルゴリズム理解はおいおい
やる)

プログラムの知識UPが目的

できれば三次元復元まで
ゲームに例えると

• 目標          倒すくらいのレベルまで上
  げる

• 講義は               レベルの底
  上げ
• 課題は実戦「訓練」   前週の課題難易度
                 今週の課題難易
度
目次
• イベントの追加方法
• マウスの座標取得
ここまでで聞ければ今週の課題はできます。

OpenCVSharp本編
• GrayScale
• BitmapConverter
イベントって何?
• ボタンが「右クリックされたら」
• ボタンが「左クリックされたら」
• PicuterBox上に「カーソルが乗ったら」

「 」 の部分がイベント
ボタンのイベント追加
• GUI上のボタンを選
  択
プロパティ →
    イナズママーク

追加したいイベントに
名前を入力

エンターキーで決定
プログラムのFormに移動
• 何かプログラムを書く
MessageBox.show(“ボタンが押されました”);
これでボタンが押されたら、メッセージ
ボックスが表示される
マウス座標取得
• イベント MouseDown 等 を選択
名前は付けなくても自動でやってくれます

• Point clickPoint = e.Location;




• 課題攻略のヒントです。
OpenCVSharp本編
• GrayScale 白-黒だけの画像
値がRGB = 256 * 256 * 256 通り
       GrayScale = 256 通り 画像処理しや
すい
プログラム
•   static void Main(string[] args)
•   {
•   string filePath = @"C:UserstannoDesktop15620931.jpg";

•   using (IplImage src = Cv.LoadImage(filePath, LoadMode.Color))
•   using (IplImage dst = Cv.CreateImage(new CvSize(src.Width, src.Height), BitDepth.U8, 1))
•   {
•   Cv.CvtColor(src, dst, ColorConversion.BgrToGray);

•   using (new CvWindow("src", src))
•   using (new CvWindow("dst", dst))
•   {
•   Cv.WaitKey();
•   }
•   }
•   }
BitmapConverter
• IplImage OpenCVSharpで画像データを扱う
  型
• Bitmap WindowsFormで画像データを扱う
  型

BitmapConverterの役割
IplImage ⇔ Bitmap
IplimageをPictureBoxに表示
プログラム
private void InitGrayScale()
{
string filePath = @"C:UserstannoDesktop15620931.jpg";

using (IplImage src = Cv.LoadImage(filePath, LoadMode.Color))
using (IplImage dst = Cv.CreateImage(new CvSize(src.Width, src.Height), BitDepth.U8,
1))
{
Cv.CvtColor(src, dst, ColorConversion.BgrToGray);

    pictureBox1.Image =BitmapConverter.ToBitmap(src);
    pictureBox2.Image = BitmapConverter.ToBitmap(dst);

}
}
まとめ
• 今週の課題は4人で協力
       一人当たり15分で終わる大変ぬるい
内容
• 画像処理する時は大体GrayScaleを使う
• BitmapConverterはPictureBoxとOpenCVSharp
  の架け橋
• イベントは自分で作らないと発生しない
• ソロはリアルでは難しい
予告(次の週の予定)
• Webカメラからリアルタイム(fps単位)
  で画像データを取得

リアルタイムで人間検知とか顔検知とかで
きるとできることが増えます
ご清聴ありがとうございまし
      た
分からないことがあればメールくださ
        い

Mais conteúdo relacionado

Semelhante a 2012 kanemotolablecture4

2012 kanemotolablecture1
2012 kanemotolablecture12012 kanemotolablecture1
2012 kanemotolablecture1ytanno
 
初心者向けJavaScript/HTML5ゲームプログラミング
初心者向けJavaScript/HTML5ゲームプログラミング初心者向けJavaScript/HTML5ゲームプログラミング
初心者向けJavaScript/HTML5ゲームプログラミングKazuki Miyanishi
 
プログラミング生放送@プログラミング生放送勉強会 第20回@品川
プログラミング生放送@プログラミング生放送勉強会 第20回@品川プログラミング生放送@プログラミング生放送勉強会 第20回@品川
プログラミング生放送@プログラミング生放送勉強会 第20回@品川jz5 MATSUE
 
2012 kanemotolablecture2
2012 kanemotolablecture22012 kanemotolablecture2
2012 kanemotolablecture2ytanno
 
20160728 hyperscale #03
20160728 hyperscale #0320160728 hyperscale #03
20160728 hyperscale #03ManaMurakami1
 
Bridging between Vision and Language
Bridging between Vision and LanguageBridging between Vision and Language
Bridging between Vision and LanguageShion Honda
 
Duotone の子テーマを作ろう、そうしよう - Wordcamp Fukuoka 2010
Duotone の子テーマを作ろう、そうしよう - Wordcamp Fukuoka 2010Duotone の子テーマを作ろう、そうしよう - Wordcamp Fukuoka 2010
Duotone の子テーマを作ろう、そうしよう - Wordcamp Fukuoka 2010Odyssey Eightbit
 
How to django at first
How to django at firstHow to django at first
How to django at firstMaito Kuwahara
 
勉強会 Cvml python基礎
勉強会 Cvml python基礎勉強会 Cvml python基礎
勉強会 Cvml python基礎真哉 杉野
 
【更新版】20190628玉川大学脳トレ社会科学oTree演習編
【更新版】20190628玉川大学脳トレ社会科学oTree演習編【更新版】20190628玉川大学脳トレ社会科学oTree演習編
【更新版】20190628玉川大学脳トレ社会科学oTree演習編Akira Goto
 
「オリジナル時計」事前課題用テキスト
「オリジナル時計」事前課題用テキスト「オリジナル時計」事前課題用テキスト
「オリジナル時計」事前課題用テキストTairo Moriyama
 
Kaggle参加報告: Champs Predicting Molecular Properties
Kaggle参加報告: Champs Predicting Molecular PropertiesKaggle参加報告: Champs Predicting Molecular Properties
Kaggle参加報告: Champs Predicting Molecular PropertiesKazuki Fujikawa
 
いぬねこ写真館
いぬねこ写真館いぬねこ写真館
いぬねこ写真館murajun1978
 
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第4回
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第4回(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第4回
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第4回Project Samurai
 
「機械学習とは?」から始める Deep learning実践入門
「機械学習とは?」から始める Deep learning実践入門「機械学習とは?」から始める Deep learning実践入門
「機械学習とは?」から始める Deep learning実践入門Hideto Masuoka
 

Semelhante a 2012 kanemotolablecture4 (20)

2012 kanemotolablecture1
2012 kanemotolablecture12012 kanemotolablecture1
2012 kanemotolablecture1
 
初心者向けJavaScript/HTML5ゲームプログラミング
初心者向けJavaScript/HTML5ゲームプログラミング初心者向けJavaScript/HTML5ゲームプログラミング
初心者向けJavaScript/HTML5ゲームプログラミング
 
プログラミング生放送@プログラミング生放送勉強会 第20回@品川
プログラミング生放送@プログラミング生放送勉強会 第20回@品川プログラミング生放送@プログラミング生放送勉強会 第20回@品川
プログラミング生放送@プログラミング生放送勉強会 第20回@品川
 
Gws in fukuoka
Gws in fukuokaGws in fukuoka
Gws in fukuoka
 
2012 kanemotolablecture2
2012 kanemotolablecture22012 kanemotolablecture2
2012 kanemotolablecture2
 
画像処理入門
画像処理入門画像処理入門
画像処理入門
 
pi-8. クラス設計
pi-8. クラス設計pi-8. クラス設計
pi-8. クラス設計
 
20160728 hyperscale #03
20160728 hyperscale #0320160728 hyperscale #03
20160728 hyperscale #03
 
Bridging between Vision and Language
Bridging between Vision and LanguageBridging between Vision and Language
Bridging between Vision and Language
 
Duotone の子テーマを作ろう、そうしよう - Wordcamp Fukuoka 2010
Duotone の子テーマを作ろう、そうしよう - Wordcamp Fukuoka 2010Duotone の子テーマを作ろう、そうしよう - Wordcamp Fukuoka 2010
Duotone の子テーマを作ろう、そうしよう - Wordcamp Fukuoka 2010
 
How to django at first
How to django at firstHow to django at first
How to django at first
 
勉強会 Cvml python基礎
勉強会 Cvml python基礎勉強会 Cvml python基礎
勉強会 Cvml python基礎
 
animation1.0
animation1.0animation1.0
animation1.0
 
【更新版】20190628玉川大学脳トレ社会科学oTree演習編
【更新版】20190628玉川大学脳トレ社会科学oTree演習編【更新版】20190628玉川大学脳トレ社会科学oTree演習編
【更新版】20190628玉川大学脳トレ社会科学oTree演習編
 
「オリジナル時計」事前課題用テキスト
「オリジナル時計」事前課題用テキスト「オリジナル時計」事前課題用テキスト
「オリジナル時計」事前課題用テキスト
 
Kaggle参加報告: Champs Predicting Molecular Properties
Kaggle参加報告: Champs Predicting Molecular PropertiesKaggle参加報告: Champs Predicting Molecular Properties
Kaggle参加報告: Champs Predicting Molecular Properties
 
いぬねこ写真館
いぬねこ写真館いぬねこ写真館
いぬねこ写真館
 
Tokyo r30 beginner
Tokyo r30 beginnerTokyo r30 beginner
Tokyo r30 beginner
 
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第4回
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第4回(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第4回
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第4回
 
「機械学習とは?」から始める Deep learning実践入門
「機械学習とは?」から始める Deep learning実践入門「機械学習とは?」から始める Deep learning実践入門
「機械学習とは?」から始める Deep learning実践入門
 

Mais de ytanno

How to be friend with Attiny202 which is small microcontroller
How to be friend with Attiny202 which is small microcontrollerHow to be friend with Attiny202 which is small microcontroller
How to be friend with Attiny202 which is small microcontrollerytanno
 
Process of Interval Photograph System
Process of Interval Photograph SystemProcess of Interval Photograph System
Process of Interval Photograph Systemytanno
 
How to make an effort for good job
How to make an effort for good jobHow to make an effort for good job
How to make an effort for good jobytanno
 
How To Bind Cuda And OpenCV
How To Bind Cuda And OpenCV How To Bind Cuda And OpenCV
How To Bind Cuda And OpenCV ytanno
 
How to autorun graphic application
How to autorun graphic applicationHow to autorun graphic application
How to autorun graphic applicationytanno
 
How to setup 3D printer (Ender 3 pro)
How to setup 3D printer (Ender 3 pro)How to setup 3D printer (Ender 3 pro)
How to setup 3D printer (Ender 3 pro)ytanno
 
How to set https server
How to set https serverHow to set https server
How to set https serverytanno
 
How to write code in Attiny10
How to write code in Attiny10How to write code in Attiny10
How to write code in Attiny10ytanno
 
How to set up two i2cs on Attiny841
How to set up two i2cs on Attiny841How to set up two i2cs on Attiny841
How to set up two i2cs on Attiny841ytanno
 
How to write code on MachXO2
How to write code on MachXO2How to write code on MachXO2
How to write code on MachXO2ytanno
 
K-means and X-means
K-means and X-meansK-means and X-means
K-means and X-meansytanno
 
さるでも分かりたい9dofで作るクォータニオン姿勢
さるでも分かりたい9dofで作るクォータニオン姿勢さるでも分かりたい9dofで作るクォータニオン姿勢
さるでも分かりたい9dofで作るクォータニオン姿勢ytanno
 
Xaml html5
Xaml html5Xaml html5
Xaml html5ytanno
 
C# でブラウザ操作
C# でブラウザ操作C# でブラウザ操作
C# でブラウザ操作ytanno
 
PI制御を作ってみた
PI制御を作ってみたPI制御を作ってみた
PI制御を作ってみたytanno
 
CharpTwitter
CharpTwitterCharpTwitter
CharpTwitterytanno
 
MongoDBCSharp
MongoDBCSharpMongoDBCSharp
MongoDBCSharpytanno
 
VisualStudinoの役に立ちそうな拡張機能をまとめてみた
VisualStudinoの役に立ちそうな拡張機能をまとめてみたVisualStudinoの役に立ちそうな拡張機能をまとめてみた
VisualStudinoの役に立ちそうな拡張機能をまとめてみたytanno
 
2013_kougi6
2013_kougi62013_kougi6
2013_kougi6ytanno
 
兼本研究室プログラム講義4回目
兼本研究室プログラム講義4回目兼本研究室プログラム講義4回目
兼本研究室プログラム講義4回目ytanno
 

Mais de ytanno (20)

How to be friend with Attiny202 which is small microcontroller
How to be friend with Attiny202 which is small microcontrollerHow to be friend with Attiny202 which is small microcontroller
How to be friend with Attiny202 which is small microcontroller
 
Process of Interval Photograph System
Process of Interval Photograph SystemProcess of Interval Photograph System
Process of Interval Photograph System
 
How to make an effort for good job
How to make an effort for good jobHow to make an effort for good job
How to make an effort for good job
 
How To Bind Cuda And OpenCV
How To Bind Cuda And OpenCV How To Bind Cuda And OpenCV
How To Bind Cuda And OpenCV
 
How to autorun graphic application
How to autorun graphic applicationHow to autorun graphic application
How to autorun graphic application
 
How to setup 3D printer (Ender 3 pro)
How to setup 3D printer (Ender 3 pro)How to setup 3D printer (Ender 3 pro)
How to setup 3D printer (Ender 3 pro)
 
How to set https server
How to set https serverHow to set https server
How to set https server
 
How to write code in Attiny10
How to write code in Attiny10How to write code in Attiny10
How to write code in Attiny10
 
How to set up two i2cs on Attiny841
How to set up two i2cs on Attiny841How to set up two i2cs on Attiny841
How to set up two i2cs on Attiny841
 
How to write code on MachXO2
How to write code on MachXO2How to write code on MachXO2
How to write code on MachXO2
 
K-means and X-means
K-means and X-meansK-means and X-means
K-means and X-means
 
さるでも分かりたい9dofで作るクォータニオン姿勢
さるでも分かりたい9dofで作るクォータニオン姿勢さるでも分かりたい9dofで作るクォータニオン姿勢
さるでも分かりたい9dofで作るクォータニオン姿勢
 
Xaml html5
Xaml html5Xaml html5
Xaml html5
 
C# でブラウザ操作
C# でブラウザ操作C# でブラウザ操作
C# でブラウザ操作
 
PI制御を作ってみた
PI制御を作ってみたPI制御を作ってみた
PI制御を作ってみた
 
CharpTwitter
CharpTwitterCharpTwitter
CharpTwitter
 
MongoDBCSharp
MongoDBCSharpMongoDBCSharp
MongoDBCSharp
 
VisualStudinoの役に立ちそうな拡張機能をまとめてみた
VisualStudinoの役に立ちそうな拡張機能をまとめてみたVisualStudinoの役に立ちそうな拡張機能をまとめてみた
VisualStudinoの役に立ちそうな拡張機能をまとめてみた
 
2013_kougi6
2013_kougi62013_kougi6
2013_kougi6
 
兼本研究室プログラム講義4回目
兼本研究室プログラム講義4回目兼本研究室プログラム講義4回目
兼本研究室プログラム講義4回目
 

2012 kanemotolablecture4