【レポート】画像処理をコンピュータで実現

【レポート】画像処理をコンピュータで実現

目的 

 自身で撮影したデジタル画像をトリミング、拡大、縮小、コントラスト強調などの画像処理をコンピュータで実現する。

実験内容

画像のトリミング

 画像から任意の位置を視点として128×128の画像を切り出す。以降これを画像の拡大、縮小、コントラスト強調の画像処理に使用する元の画像とする。

画像の拡大

 画像のサイズを各辺2倍のサイズに変更する。拡大には2つの方法を用いる。

 内挿(隣接濃度値)の補間による拡大

 各画素間を2倍にし、間に両端の画素値の平均として用いる。

 4画素の平均による拡大

 4画素の平均値を計算して、該当する4画素に同じ値として埋めることで拡大画像を作成した。

 画像の縮小

  画像のサイズを各辺1/2倍のサイズに変更する。縮小には3つの方法を用いる。

 間引きによる縮小

   縦方向、横方向ともに1画素ずつ間引いて作成する。

 4画素の平均による縮小

   4画素の平均値を縮小画素の1画素として作成する。

 4画素の最大による縮小

   4画素のうち最大値を縮小画素の1画素とする。

 コントラスト強調画像

  濃度ヒストグラムを作成しそれをもとに累積ヒストグラムを作成した。作成した累積ヒストグラムをヒストグラム均等化法により強調画像を作成した。

結果

 携帯電話で撮影し、グレースケールに変更した画像を図1に示す。それをトリミングした画像を図2に示す。

トリミングした画像を内挿(隣接濃度値)の補間によって拡大した画像を図3に示す。

4画素の平均値をとり拡大した画像を図4に示す。

間引きによって縮小した画像を図5に示す。

4画素の平均によって縮小した画像を図6に示す。

4画素の最大値をとり縮小した画像を図7に示す。

コントラスト強調を施した画像を図8に示す。

トリミングした画像の256階調のヒストグラムを図9に示す。

上記ヒストグラムを32階調に圧縮したヒストグラムを図10に示す。

256階調のヒストグラムをもとに作成した累積ヒストグラムを図11に示す。

コントラスト強調画像の256階調のヒストグラムを図12に示す。

図1 携帯電話で撮影したグレースケールの画像
図2 グレースケールの画像をトリミングした画像
図3 トリミングした画像を内挿(隣接濃度値)の補間によって拡大した画像
図4 トリミングした画像を4画素の平均によって拡大した画像

図4 トリミングした画像を4画素の平均によって拡大した画像

内挿の補間による画像(図3)ほうが4画素の平均によって縮小した画像(図4)に比べ、綺麗な画像となった。

図5 トリミングした画像を間引きによって縮小した画像とその拡大画像
図6 トリミングした画像を4画素の平均によって縮小した画像とその拡大画像
図7 トリミングした画像を4画素の最大によって縮小した画像とその拡大画像

3つの縮小画像のうち4画素の最大値をとった画像(図)7が一番濃く見られた。

また、3つの縮小画像のうち4画素の平均によって縮小画像のした画像(図6)が一番滑らかな画像になった。

図8 トリミングした画像をコントラスト強調した画像と元のトリミング画像
  図9 トリミング画像の256階調のヒストグラム
図10 トリミング画像の32階調のヒストグラム

トリミング画像の256階調のヒストグラム(図9)から5~15と130~150の濃度が多く表れているのが確認できる。

図11 トリミング画像の累積ヒストグラム

累積ヒストグラム(図11)から0~10と130~150の間で累積の仕方が大きく、傾きが大きくなっていることが確認できる。

図12 コントラスト強調画像の256階調のヒストグラム
図13 コントラスト強調画像の32階調のヒストグラム

コントラスト強調画像のヒストグラム(図12)から処理前のヒストグラム(図9)に比べ、濃度が平均的に分布していることが分かる。

考察

 まず、拡大画像を作成するために用いた2つの方法から考察する。1つ目の方法は1つ1つの画素の間隔を広げてその間の画素値をその両端の画素値の平均で設定し埋める内挿の補間によって拡大した方法であった。2つ目の拡大方法は4画素の平均値を計算して、該当する4画素に同じ値として埋める方法であった。今回、1つ目の方法を用いた図3と2つ目の方法を用いた図4を比較してみると図3の方が綺麗な画像になり、特にズボンの色の写りが違うのが分かる。図4は平均値を取っていくため、画素ごとの差があまりない、つまり濃淡が出にくく、ぼやけた画像になっているが、図3の方は内挿の補間の部分を隣あう画素の平均をとるため1画素ごとに違う画素値になっているため今回、図3の方が綺麗な画像になった。また、拡大画像をよく見るとどちらのパターンでも下端がうまく拡大できていなことがわかる。これは拡大するプログラムを確認すればわかる。たとえばg[2*i][2*j]=(f[i][j]+f[i+1][j]+f[i][j+1]+f[i+1][j+1])/4などである。これはiまたはjが127のとき、つまり拡大画像の下端や右端に相当する箇所においてi+1やj+1が存在せず、正しい画素値が出力されない。これが下端や右端が正しく拡大されない原因だと考えられる。

 次に縮小画像を作成するために用いた3つの方法を考察する。まず1つ目の方法は間引きである。これは縮小する際に元の画像のピクセルを1つおきに取っていくものである。そのため画素値の差が生じやすいと考えることができ明暗がつきやすいものと推測でき、実際、間引きでの縮小画像の図5を見てみると図6,7と比べ一番明暗がついていた。2つ目の方法は4つの画素値の平均を縮小画像の1つピクセルに入れるものであり平均を取るため濃度値に差が生まれにくいと考えられ、この方法を用いた画像の図6を見ると一番滑らかな画像である。また3つ目の方法は4つの画素の中で一番大きい画素値を取り出していくものであり、この方法を用いた図7を見てみると図5,6と比べ白みがかった部分が多くなり、特に黒いズボン以外の場所で白みがかっているのがよく分かる。また、明るい画像となった。

 次に、図9の濃度ヒストグラムについて考察する。グラフを見てみると5~15と130~150に集中しており、この画像はほぼ2つの色で構成されていることが分かる。

 コントラスト強調についての考察。コントラスト強調とはヒストグラムを均等化することでできる。つまり、明暗をはっきりさせメリハリのある画像にすることである。均等化するには頻度の高いところは間隔をあけて幅を広くとり、逆に頻度が低いところではその間隔を狭める必要がある。コントラスト強調画像を作成する際に累積ヒストグラムを利用した。累積ヒストグラムは、先に作成したヒストグラムでの各画素値の頻度をすべて足していくものであり、増加率が高いところでは頻度が高く、増加率が低いところでは頻度が低い。つまり、頻度の割合(累積頻度÷(128×128))を濃度値に適用すれば均等化が可能になると考えられる。これは、累積頻度×255÷(128×128)で求められる。これを用いて濃度値を変換し得られたコントラスト強調画像が図8の左の図である。もとの画像である図8の右の図と比べると立体感があり多くの色が使われているように思える。これは頻度が集中しているところには多くの画素を割り振ったためと考えられる。また、右のヒストグラムを32階調に圧縮することで図13のようにヒストグラムは分布が均等化されわかりやすくなった。また、全ての画素が同じくらいの頻度で現れておりコントラストがついていることが確認出来る。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です