画像の自動輪郭抽出ソフトの開発
いわき明星大学
科学技術学部 システムデザイン工学科4年 加藤 優樹
現在,一部のCAD/CAMソフトではCG画像を入力して使用することができる.しかし,入力した画像から
図面またはモデルを作成する際,画像の輪郭に沿って線を描く必要がある.この場合,作図に手間がかかり,
誤差が生じる.この問題の解決およびCG画像の入力できないCAD/CAMソフトにもCG画像の輪郭情報が使用できる
ようにするため,本研究ではオリジナルの画像自動輪郭抽出ソフトを開発した.まず,Visual C++ソフトを用いて
インターフェイスを作成した.主なメニューは「BMP」(BMP画像ファイルの入力)および「輪郭処理」である.
次に,BMP画像ファイルを開いて描画すると同時に,画像ファイルから画像の幅と高さのデータを抜き出した.
そして,図1に示すように,画像の輪郭画素を次のようなアルゴリズムで抽出した.
(1) 輪郭画素を判断する
輪郭画素を判断する画像の左下から右上に向かって走査して各画素の色を調べて,白い画素であれば輪郭画素ではない.
白い画素でない場合,その上下左右の4つの画素のうち一つでも白い画素であれば輪郭画素と判断する.
(2)輪郭画素を繋ぐ
輪郭画素が判断された順は@〜Kであるが,輪郭線にするため,@ACDFHKJIGEBまたは
@BGIJKHFDCAの順で輪郭画素を繋ぐ必要がある.このため,図2のように,輪郭画素と判断された
画素Sの近傍の1から8番の八つの画素のうち,輪郭画素と判断されていた7番の画素と画素Sと繋ぐ.
このようなプロセスを繰り返し,繋げた順をリンクテーブルで記憶する.
図3は画像の輪郭線を抽出し描画した一例である.また,抽出された輪郭線を直線・円弧・Bスプラインに変換して
編集を行い,他のソフトウェアへのDXFフォーマットのデータファイルを出力することができる.
図1 輪郭画素の抽出 |
|
図2 輪郭画素の繋ぎ |
|
図3 輪郭線抽出例 |
|