トップへ
田村研究室

マルチメディア論および演習

2009年度

2009
5/19

Excelを使った画像処理技法の体験

ここでは,ビットマップ画像をExcelの表として読み込み(画像の各ピクセルの値をExcelの各セルに読み込み),Excel上で操作することで画像処理技法の基本を理解する.

準備

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

※サンプル画像は,自分で用意したものでも構わない.ただし,24bitフルカラー形式で255×255画素以内の大きさのBMP画像でなければならない.実用上は用意したサンプル画像のように128×128画素程度が望ましい.自分で用意したサンプル画像を使用する場合には,あらかじめ縮小しておいた方がよい.

使い方

次の手順で起動する.

  • 一度Excelを起動して,メニューバーから次の設定を行う
  • 「ツール」→「マクロ」→「セキュリティ」→「セキュリティレベル」→「中」をクリックして設定
    				
  • いったんExcelを終了
  • 改めてダウンロードしたExcelファイルを開く
  • 警告画面が表示されるので,マクロ実行を承認
  • 「マクロを有効にする」
    				

起動すると,自動的にダイアログ画面が開くので,各ボタンで操作すること.各ボタンは次のような動作である.

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

演習内容

  • 画像データの確認:「入力」シートを開いて,そこで「セルの着色」ボタンをクリックしてみよ.
    (参考:デジタル画像の階調数)
  • ◎画像の反転:「出力」シートの各セルに「=255 - 入力!同じ場所のセル」という式を入力してみよ.
  • 画像の2値化:「出力」シートの各セルに「=if(入力!同じ場所のセル>127, 255, 0)」として2値画像にせよ
  • 画像のγ変換: 「出力」シートの各セルにγ変換の式を入力し,γ値を0.5や2.0に変えてみてそれぞれの場合の結果画像を確認してみよ.ヒント: べき乗はpower(数値,指数)
  • 画像のS字変換: 「出力」シートの各セルにS字変換の式を入力し,パラメータを調整してそれぞれの場合の結果画像を確認してみよ.
  • ◎Sobelフィルタ: 「作業用」に縦方向微分,「作業用2」に横方向微分になるような式を入力し,「出力」には両方の結果の2乗した和の平方根値を格納して輪郭線を抽出してみよ.
    (参考: 画像に対するFIRフィルタ)

考察4

  • 入力画像や各出力画像のヒストグラムを調べてみよ.「ツール」→「分析ツール」→「ヒストグラム」で計算できる.ただしあらかじめ新規シートを用意して,0から255までの連続値をセルに格納しておき,ヒストグラムツールの「データ区間」にそのセル範囲を指定すること.「入力範囲」には画像のセルを全部指定すること.