トップへ
田村研究室

工学基礎実験1 表計算ソフトを用いた画像処理実験

2017年度

2017
3/17

表計算ソフトを使った画像処理実験

PDFテキスト

目的

本実験では,ビットマップ画像を表計算ソフトに表データとして読み込み(画像の各ピクセルの値を各セルに読み込み),表計算ソフト上で操作することで, 画像データの概念と画像処理技法の基本を理解することを目的とする.

準備

この実験では,Excelを使用する.自宅のWindowsパソコンで実験作業をする場合にはMicrosoft Officeを使用すること.

    Excelのような表計算ソフトでは画像ファイルを読み込んでそのまま貼り付けて表示する機能はあるものの,画像ファイルのデータをセルのデータとして読み込む機能はない.そこで,セルに画素データを読み込むためのマクロを自作した.そのマクロ機能付のExcelファイルと,体験に使用するサンプル画像のデータを次のリンクを右クリックしてデスクトップなどに各自ダウンロードすること.

    ※サンプル画像は,自分で用意したものでも構わない.ただし,グレースケール128×128画素の大きさのbmp画像でなければならない.

    使い方

    ダウンロードしたデータをダブルクリックして起動すると警告画面が表示されるので,マクロ実行を承認すること.

    「マクロの有効化」

    メニュー画面が開くので必要に応じて利用する.

    				画像読込      PGM形式の画像ファイルを読み込んで現在のシートに展開.
    				セルの着色     現在開いているシートのセルの値にしたがって,セルの背景色を着色.
    				          シートを縮小表示すれば,シート自体を画像のように観ることができる.
    				セルの色削除    現在開いているシートのセルの背景色を削除.
    				画像保存      現在のシート内容をPGM形式の画像として保存
    				

    これらのボタンは動作が遅いので注意すること.

    実験課題

    下記作業を行い(1)から(5)で作成した画像データを保存せよ.また作成したシートも別シート(必要なら別ファイル)として保存せよ.ここで作成する画像ファイルはPGM形式のため自宅のWindowsパソコンではそのままでは表示できない.画像ファイルを右クリックしてGIMPを選択して開き, 「名前をつけて保存」してJPEG形式など一般的な画像形式に変換して保存するか,自宅のWindowsでIrfanViewをダウンロードしてインストールすれば表示することができる.また,作成したシートは前述のOpenOffice.orgを自宅でインストールすれば自由に参照でき,自宅でも追加作業が可能である.

    • 画像データの読み込み: 「画像読込」で「工学基礎実験」好きなデータ
    • 画像データの確認:「入力」シートを開いて,そこで「セルの着色」ボタンをクリックしてみよ.(ものすごく時間がかかるので,場合によっては省略)
      (参考:デジタル画像の階調数)
    • (1)画像の反転:「出力」シートの各セルに「=255 - 入力.同じ場所のセル」という式を入力してみよ.
    • (2)画像の2値化:「出力」シートの各セルに「=if(入力.同じ場所のセル>127, 255, 0)」として2値画像にせよ
    • (3)画像のγ変換: 「出力」シートの各セルにγ変換の式を入力し,γ値を0.5や2.0に変えてみてそれぞれの場合の結果画像を確認してみよ.ヒント: べき乗はpower(数値,指数)
    • (4)画像のS字変換: 「出力」シートの各セルにS字変換の式を入力し,a値を0.01や0.03に変更してそれぞれの場合の結果画像を確認してみよ.ヒント: eは自然対数2.71...のことでexは=exp(x)で計算できる.
    • (5)Sobelフィルタ: 「作業用」に縦方向微分,「作業用2」に横方向微分になるような式を入力し,「出力」には両方の結果の2乗した和の平方根値を格納して輪郭線を抽出してみよ.
      例えば入力.C3セルにおける縦微分値を求めるには, 作業用シートのC3の位置で「 = 入力.D2 + 入力.D3*2 +入力.D4 -入力.B2 -入力.B3*2 -入力.B4」を計算すればよい.横微分もセルの向きを変えて同様に計算できる.
          「入力」  マスク
      				B2 C2 D2    -1 0 1
      				B3 C3 D3    -2 0 2
      				B4 C4 D4    -1 0 1
      				

      最後に「出力」シートのC3セルで, 「=sqrt( 作業用.C3*作業用C3 + 作業用2.C3*作業用2.C3) 」を計算すればよい.sqrt関数はルートを計算する関数である. (参考: 画像に対するFIRフィルタ)

    レポートの提出に関して

    • 締切り: 一週間後
    • 提出方法: 田村(E21棟202室)に検印をもらった後,事務室前BOXに提出

    レポート内容について

    次の目次にしたがうこと.指定の表紙を使用すればワープロでの作成を認める.

    • 1. まえがき (何の授業の何のテーマに関するレポートか)
    • 2. 目的 (実験の目的について書く.上記参照)
    • 3. 実験内容 (どういう機材を使ってどういう課題でどういうことを行ったか.この実験の場合には作成した数式など詳しく)
    • 4. 実験結果 (この実験の場合にはどういう画像を得られたか画像を掲載)
    • 5. 考察 (下記参照)
    • 6. まとめ (なにをしてどんな結果になって何が分かったのか簡潔にまとめる)
    • 参考文献 (参考にした画像処理の本は何か)

    考察内容について

    最低限次について考察すること.

    • 各画像処理はどんなことをする画像処理か, どうしてその式でそういう結果が得られるのか説明
    •  
     

    また各人の興味や余力に応じて応用的な考察をしてみよ.例えば次のようなものが考えられる.

     
    • Γ変換やS字変換などでパラメータΓやaの値をさらに変化させると出力画像はどう変わるか.
    • それぞれの処理で(一部でもよい)別の画像で試すとどうなるか.
    • 入力画像や各出力画像のヒストグラムを調べる.その結果から何がわかるか.FREQUENCY 関数を使うと計算できる.
    • 入力画像や各出力画像のヒストグラムを調べる.その結果から何がわかるか.FREQUENCY 関数を使うと計算できる.
      =FREQUENCY(データ格納場所, 区間の指定)
      ただしあらかじめ新規シートを用意して,0から255までの連続値をセルに格納しておき,「区間の指定」にそのセル範囲を指定すること.「データの格納場所」には画像のセルを全部指定すること.
      セル範囲の指定は
      B2:DY129
      のようにコロンで最初と最後のセルを指定する.
    • 課題以外の画像処理について調べる.例えば「画像の平滑化処理」「画像の鮮明化処理」など,余力があればそれを実際に確かめてみよ.

    その他レポート作成上の注意

    • 章の見出しを必ずつける. 例: 1. まえがき
    • 図や表の見出しを必ずつける. 図は図の下に.表は表の上に.
    • ページ番号をつけること.
    • 章の見出しを必ずつける. 例: 1. まえがき
    • 参考文献は次のように書く
    •  [番号] 著者名, 書名, 出版社, 出版年
      例:  [1] 田村仁, 「レポートの書き方」, 日工大出版, 2010年

    後片付けについて

    作成した画像とシートは自分のUSBメモリなどに保存して持ち帰るか, x-Gateを使って自分宛に添付メールで送信することで自宅から参照できる.その上で作成したデータなどは消去し,元に戻しておくこと.