ゼミナール A/B 自主研究編 自主研究に関する資料: http://www.am.sanken.osaka-u.ac.jp/~okura/seminar/

Slides:



Advertisements
Similar presentations
主専攻実験 第1回 ガイダンス資料 TA : 野坂 龍佑 (M2), 高林大輔 (M1)
Advertisements

情報処理 第9回第9回第9回第9回. 今日の内容 Excel の起動と画面構成 –Excel の起動 –Excel の画面構成と基本用語 データの入力 – 文字の入力 – 数値の入力 – 日時の入力 – オートフィル.
画像情報処理 1 プログラミング課題 知的画像処理研究室 M2 大村 瑞穂. 目次 プログラミング課題の準備 – ファイルのダウンロード・解凍・コンパイル サンプルプログラムの説明 画像処理の方法 レポートに載せる画像について 例題と第 1 回レポート課題.
画像情報処理1 ~画像処理プログラミング~ 2015/05/01 知的画像処理研究室 M1 吉原寛樹
クリックすると、 [SourceEditor2.0] の インストール / 更新・起動 クリックすると、 [MarkReader2.0] の インストール / 更新・起動 クリックすると、 [MarkReader2.0] の インストール / 更新・起動 SQS ホームページ
数学のかたち 数学解析の様々なツール GRAPSE編 Masashi Sanae.
第5章 JMPのインストールと基本操作 廣野元久
初年次セミナー 第13回 2次元グラフィックス(1).
画像処理学習用RTコンポーネントライブラリ 田窪 朋仁,大原 賢一,吉岡 健伸(大阪大学)
7-1.WEKOコンテンツ 一括登録 マニュアル Version2.5
Cornell Spectrum Imagerの使い方
TeX で数式を書くための PowerPoint アドイン Ver (2011/06/26) Ver. 0.1 (2007/5/30)
大杉 直樹†, 神谷 年洋‡, 門田 暁人†, 松本 健一† †奈良先端科学技術大学院大学 情報工学科 {naoki-o, akito-m,
情報処理演習 (9)グラフィックス システム科学領域 日浦 慎作.
初年次セミナー 第14回 2次元グラフィックス(2).
GridLayout オブジェクト(省略)
情報処理 第8回.
情報処理 第7回.
情報処理入門A・B 第7回 ワープロソフト入門(2)
REIMEI EISA Viewerの使い方
1 インストール・起動する 「SQS」で検索 SQSホームページ 動作環境 JavaSE 6以上 (JRE6)
デスクトップを画像として保存する(1) ① デスクトップの画像をクリップボードへコピーする。
数理情報工学演習第一C プログラミング演習 (第3回 ) 2014/04/21
表紙 Windows用起動画面集        ~劇場版 v.1,00~ 作成:カズキング 場所:ブログ「俺らしいブログ」
PCの情報を得る - 「システム情報」 ①「スタート」→「すべてのプログラム」→「アクセサリ」→「システム ツール」→「システム情報」とクリックする。 ②左欄の項目を選択すると、右欄に情報が表示される。
Imageの描画 画像を読み込んで表示すること。 import java.awt.*;が必要。
11.1 表の作成 表の各部名称 列 行 セル 罫線.
画像ファイル(ppm)の読み書き 画像データ用のメモリ確保・解放
第14章 ファイル操作 (コマンドプロンプト版)
Excelによる3-D/等高線グラフの描画 2変数関数の描画 Excel によるグレイスケールマップ風描画
デスクトップを画像として保存する(1) ① デスクトップの画像をクリップボードへコピーする。
Excelによる3-D/等高線グラフの描画 2変数関数の描画 Excel によるグレイスケールマップ風描画
OpenCV を使った画像処理コンポーネントの作成例 田窪 朋仁(大阪大学)
コンピュータビジョン特論第2回 コンピュータでの画像の扱いと OpenCVの使い方
情報処理 第6回.
情報処理 第6回.
画像ファイル(ppm)の読み書き 画像データ用のメモリ確保・解放
2014/05/02 知的画像処理研究室 M1 中津美冴 画像情報処理1 ~画像処理プログラミング~ 2014/05/02 知的画像処理研究室 M1 中津美冴
簡単PowerPoint (PowerPoint2007用)
情報処理 第7回 表がある文書の作成.
オーサリングツール&ブラウザの 技術的トピック
第2回 Microsoft Visual Studio C++ を使ってみよう
【プログラミング応用】 必修2単位 通年 30週 授業形態:演習.
Microsoft Visual Studio 2005 の使い方
Office IME 2010 を使う.
情報処理 第8回.
行列による画像処理 デジタル表現論 担当者:劉 雪峰 2017年6月1日.
電界中の電子の運動 シミュレータ作成 精密工学科プログラミング基礎 資料.
画像処理プログラムの説明.
実行時情報に基づく OSカーネルのコンフィグ最小化
第14章 ファイル操作 (コマンドプロンプト版)
2019/2/24 情報処理 第13回.
諸連絡 USBメモリの販売について 日時:6月23日(月)授業開始前 商品:プリンストン社製32MBのUSBメモリ
ゲームプログラミング講習  第3章 ゲーム作成 ブロック崩しを作ります ゲームプログラミング講習 第3章 ゲーム作成.
Windows XP  ウィルスバスターインストール方法.
デジタル画像とC言語.
画像処理プログラミング 知的画像処理研究室 M2 小林 佳奈美.
情報コミュニケーション入門b 第11回 Web入門(2)
~目次~ Ⅰ.動作環境 Ⅱ.ファイルのダウンロード Ⅲ.システムのインストール Ⅳ.初期設定 Ⅴ.アンインストール
卒研1 第1回資料 OpenCVを用いた画像処理
vc-3. ダンプリスト,配列 (Visual Studio C++ の実用知識を学ぶシリーズ)
Excelによる3-D/等高線グラフの描画 2変数関数の描画 Excel によるグレイスケールマップ風描画
画面への描画 Graphics オブジェクト 紙 ペン Pen オブジェクト Brush オブジェクト 画面のピクセルをカプセル化
アルゴリズムとデータ構造1 2009年6月15日
vc-3. ダンプリスト,配列 (Visual Studio C++ の実用知識を学ぶシリーズ)
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
アルゴリズムとデータ構造 2010年6月17日
情報処理Ⅱ 2005年11月25日(金).
CGプログラミング論 平成28年5月11日 森田 彦.
Kinectで画像処理 第2回.
Presentation transcript:

ゼミナール A/B 自主研究編 自主研究に関する資料: http://www.am.sanken.osaka-u.ac.jp/~okura/seminar/

ドキュメントスキャナ 黒板や紙、斜めから見づらい? → 正対するように変換しよう

黒板(紙)の四隅をクリックすると、 正対化するプログラム レベル1 黒板(紙)の四隅をクリックすると、 正対化するプログラム

クリックしなくても、画像を入力するだけで レベル2 クリックしなくても、画像を入力するだけで 自動変換するプログラム

開発環境 Lubuntu 18.04ベースの仮想環境を提供 VirtualBox Lubuntu 18.04 (Ubuntuの軽量化版) C/C++環境 OpenCV 3.2 Eclipse 2018-09 + CDT 画像を読み込んでグレースケール化して 表示するサンプルプログラム付き もちろん、自前で環境構築をしても構いません。 その場合はソースコードをダウンロードしてください。

インストール方法 VirtualBox をインストールする USB2.0/3.0機器などを使いたい場合などは、 VitrualBox Extension Packもインストールする イメージをダウンロードする (5GB) http://www.am.sanken.osaka-u.ac.jp/~okura/seminar/ 仮想OSを登録する 新規作成→Ubuntu (64bit)→すでにある仮想ハードディスク 参考(ユーザ名をseminarと読み替えてください): https://sites.google.com/site/alcon2015prmu/download-sample/vbox 起動 ユーザ名 seminar パスワード seminar (管理者パスワードも seminar) (Guest Additions のインストール) 解像度の変更などがうまく動かない場合にインストール 参考: https://kledgeb.blogspot.com/2014/11/ubuntu-virtualbox-31-autorunshguest.html

インストール方法(補足) Q: Ubuntu (32-bit)しか選択できない PCのメモリーサイズ より小さく Ubuntu (64bit) を選択 Q: Ubuntu (32-bit)しか選択できない A: BIOS設定で仮想化支援機能をEnableにする (例:CPU configuration → Intel Virtualization Technology) http://did2memo.net/2015/07/10/virtualbox-64-bit-os/

設定例 本体メモリを超えない程度に大きく 可能なら複数コア 128MB その他、問題が発生した場合 パフォーマンスを上げたい場合は、 VirtualBox に関するウェブサイト などを参考にしてください

サンプルプログラムの起動 サンプルプログラムは /home/seminar/project/以下にあります Eclipseを起動 ディレクトリ構造 seminar/ src/ seminar.cpp:メインファイル utils.h:ハフ変換した線を表示する関数 img/ サンプル画像 サンプルプログラムは /home/seminar/project/以下にあります Eclipseを起動 seminar/src/ の中の seminar.cpp を見てみる デバッグ起動する 元画像と白黒版が表示される (何かキーを押すと終了)

OpenCV コンピュータビジョンのための様々なプログラムを 含んだオープンソースライブラリ 参考URL http://opencv.org/ リファレンス OpenCV3.2 https://docs.opencv.org/3.2.0/

OpenCV における画像フォーマット cv::Mat 主なメンバー,ゲッター class CV_EXPORTS Mat { int dims; /* 次元数 (>=2) */ int rows; /* 行列の行数(画像の高さ) */ int cols; /* 行列の列数(画像の幅) */ uchar *data; /* 画像データへのポインタ */ int depth(); /* 色毎のビット数(0-255なら8bits) */ int channels(); /* 色数(RGB:3, グレースケール:1) */  ・・・ };

画像データの並び x y data BGR BGR BGR ・・・ 画像 原点: 左上 走査方向: 水平→垂直の順

画素値へのアクセス方法 8bit グレースケール画像の場合 8bit BGRカラー画像の場合 32bit 実数値行列の場合 cv::Mat img; // 画像データ img.at<unsigned char>(y, x) // ピクセル(x, y) 8bit BGRカラー画像の場合 cv::Mat img; // 画像データ img.at<cv::Vec3b>(y, x)[0] // ピクセル(x, y)のB img.at<cv::Vec3b>(y, x)[1] // ピクセル(x, y)のG img.at<cv::Vec3b>(y, x)[2] // ピクセル(x, y)のR 32bit 実数値行列の場合 cv::Mat img; // 画像データ img.at<float>(i, j) // i行j列目のデータ

サンプルプログラムの説明 int main(int argc, char **argv){ cv::Mat img, imgGray; std::string filename = "./img/3.jpg"; img = cv::imread(filename); /* 画像読み込み */ cv::namedWindow("source"); /* 入力画像用ウインドウ作成・表示 */ cv::imshow("source", img); cv::waitKey(); /* 何かキーを押すと処理開始 */ cv::cvtColor(img, imgGray, cv::COLOR_BGR2GRAY); /* グレースケール化 */ cv::namedWindow("grayscale"); /* 結果画像用ウインドウ作成・表示 */ cv::imshow("grayscale", imgGray); cv::waitKey(); /* 何かキーを押すと終了 */ }

レベル1:ヒント cv::setMouseCallback cv::findHomography cv::warpPerspective ウインドウに対するマウスの振る舞いによるコールバック関数を指定する cv::findHomography 与えられた点群セットに対するホモグラフィ行列を計算する cv::warpPerspective 計算されたホモグラフィ行列を使って、画像を幾何変換する その他、便利そうな関数 cv::circle 画像に指定された大きさ・太さ・色の円を描く cv::imwrite 画像を保存する

皆さんでアイデアを出しあい、 いろいろな方法を考えてみてください レベル2:ヒント 皆さんでアイデアを出しあい、 いろいろな方法を考えてみてください cv::Canny Cannyのエッジ検出(グレースケール画像を入力とする) cv::HoughLines エッジ画像を入力として、ハフ変換する util.h内の自作関数 void drawLines (cv::Mat img, std::vector <cv::Vec2f> lines, cv::Scalar color, int thinkness) ハフ変換された線を描画する img: 入力画像 lines: HoughLinesの出力 color: 線の色(e.g. cv::Scalar(0,0,255)なら赤) thickness: 線の太さ

予定表 12/14 研究室見学・自主研究の説明 12/21 自主研究(1) 12/26 自主研究(2)(水曜日なので注意!) 12/14 研究室見学・自主研究の説明 12/21 自主研究(1) 12/26 自主研究(2)(水曜日なので注意!) 1/4 自主研究(3)・発表資料作成 1/11 発表練習・発表資料修正 1/25 発表会 2/1  総括 注意:1/11に発表練習をするので、 それまでに必ず発表資料を仕上げること。

何か問題・質問があれば 以下に連絡してください 八木研 助教 大倉 史生 okura@am.sanken.osaka-u.ac.jp