到達目標
①ピクセル単位での演算を組み合わせた、基本的な画像処理技術に関する知識を習得する
②基礎的な画像処理アルゴリズムを、C言語のプログラムとして実装できる
【教育目標】D
【学習・教育到達目標】D-1
【キーワード】画像処理、アルゴリズム、データ構造、プログラミング
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
①C言語の基本 | C言語による基本的なプログラミングが十分にできる | 雛形を修正する形であれば、C言語による基本的なプログラミングができる | C言語による基本的なプログラミングが出来ず、書かれているコードを理解できない |
②グレイスケール画像とカラー画像 | グレイスケール画像とカラー画像の扱いがわかり、プログラムから扱うことができる | グレイスケール画像とカラー画像についてわかる | グレイスケール画像とカラー画像の扱いについて理解できない |
③濃度変換 | 様々な濃度変換手法について理解し、実装できる | 様々な濃度変換手法について理解できる | 濃度変換について理解できない |
④近傍演算 | 近傍演算を用いた各種フィルタや、輪郭抽出手法について理解し、実装できる | 近傍演算を用いた各種フィルタや、輪郭抽出手法について理解できる | 近傍演算について理解できない |
⑤ヒストグラムと画像統計量 | ヒストグラムや画像統計量を求めることができ、これらから画像の性質を理解することができる | ヒストグラムや画像統計量から、画像の性質を理解することができる | ヒストグラムや画像統計量について理解できない |
学科の到達目標項目との関係
教育方法等
概要:
プログラムを用いた画像データの生成や、ピクセル単位での基本的な演算を組み合わせた画像処理アルゴリズムの実装を通して、画像データの取り扱いや、画像処理に関する実用的なスキルを習得することを目的とする。具体的には、用意したプログラムコードの修正・追加により、画像処理に関する課題が達成できることを目標とする。
授業の進め方・方法:
授業の前半では、主にスライドを用いた解説を行う。残りの時間は、演習を行う。
演習では、あらかじめ用意しているプログラムを元に、基本的な考え方や理論をコードの修正・追加等により実装することで、各種画像処理を行う。画像ファイルの読み込みや画像データの表示には、既存のソフトウェアやライブラリを用いるが、画像処理に関わる部分は、ピクセル単位の低レベルの操作のみで実装する。
なお、C言語を十分に扱える必要があるため、最初の方の授業にてC言語の復習も行う。
注意点:
【事前学習】演習では、個々のピクセルの値を直接プログラムから操作することで、画像処理を行う。これまでに学んだプログラミ
ング言語について、十分に復習しておくこと。授業ではC言語をベースに解説を行う。
【評価方法・評価基準】課題(50%)と期末試験(50%)で評価する。詳細は第1回目の授業で告知する。課題等を課すので自学自習をしてレポート等を提出すること。必要な自己学習時間相当分のレポートの未提出が4分の1を超えた場合は、評価を60点未満とする。デジタル画像の扱いや、基本的な画像処理アルゴリズムの理解の程度と、それをC言語で記述できるスキルを評価する。総合成績60点以上を単位修得とする。
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
導入 C言語の復習(1) ~基本構文(コメント、演算子、マクロ、main()、スコープ)~ |
C言語の基本構文がわかる。
|
2週 |
C言語の復習(2) ~変数の型、型変換、定数、配列、真偽値、比較演算子、if、switch、三項演算子~ |
C言語における変数の型、配列、条件分岐を理解し、扱うことができる。
|
3週 |
C言語の復習(3) ~関数、標準ライブラリ関数の利用~ |
C言語における関数の記述方法がわかり、基本的な標準ライブラリ関数が利用できる。
|
4週 |
C言語の復習(4) ~ポインタ、ポインタと配列、構造体、typedef~ |
C言語におけるポインタを理解し、配列との関係がわかる。また構造体について理解し、typedefと組み合わせて利用できる。
|
5週 |
C言語の復習(5) ~動的配列、malloc()、free()~ OpenCV環境のセットアップ |
C言語における動的メモリの確保について理解し、ポインタと組み合わせて利用できる。 C言語からOpenCVを利用できる。
|
6週 |
デジタル画像とは OpenCVを用いた画像ファイルの入出力 |
デジタル画像についての基本がわかる。 OpenCVを用いて、画像データの入出力ができる。
|
7週 |
画像ファイルの種類 グレイスケール画像とカラー画像 |
ラスタ画像とベクタ画像、可逆圧縮と非可逆圧縮の違いがわかる。デジタル画像におけるカラーの表現方法がわかる。
|
8週 |
グレイスケール化 二値化 |
カラー画像のグレイスケール化、大津の方法による二値化についてわかる。
|
4thQ |
9週 |
濃度変換(1) ~明るさ/コントラスト/ガンマ変換、疑似カラー~ |
画素値の演算による濃度変換がわかる。
|
10週 |
ヒストグラム、画像統計値 濃度変換(2) ~ヒストグラム平坦化~ |
ヒストグラムと基本的な画像統計値が計算でき、その意味が理解できる。ヒストグラム平坦化についてわかる。
|
11週 |
近傍演算(1) ~平滑化(平均、ガウシアン)、先鋭化~ |
近傍演算を用いた平滑化、平滑化結果を用いた先鋭化ができる。
|
12週 |
近傍演算(2) ~メディアンフィルタ~ ごま塩ノイズと白色ノイズ |
メディアンフィルタがわかる。ごま塩ノイズや白色ノイズに対するノイズ除去についてわかる。
|
13週 |
近傍演算(3) ~輪郭抽出(Laplacian、Sobel、Prewitt)~ |
近傍演算を用いた輪郭抽出ができる。
|
14週 |
動画像処理 |
OpenCVを用いて取り込んだ動画像について、リアルタイムで画像処理を適用する事ができる。
|
15週 |
期末試験解説 |
|
16週 |
期末試験解説 画像処理のまとめ |
期末試験で分からなかった部分が理解できる。
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
評価割合
| 試験 | 課題 | 合計 |
総合評価割合 | 50 | 50 | 100 |
①C言語の基本 | 10 | 10 | 20 |
②グレイスケール画像とカラー画像 | 10 | 10 | 20 |
③濃度変換 | 10 | 10 | 20 |
④近傍演算 | 10 | 10 | 20 |
⑤ヒストグラムと画像統計量 | 10 | 10 | 20 |