(57)【要約】【課題】物体の画像の各画素を２値信号に変換した２値画像を用いて、物体の画像の周囲長を算出する周囲長算出方法およびその方法を用いた周囲長算出装置を提供することを課題とする。【解決手段】物体画像の周囲長を算出する周囲長算出方法において、物体画像の各画素を２値信号に変換した２値画像に対して２×２の窓を用いてラスタスキャンを行い、１つの画素の画素値が１である第１の領域の数と、隣接する２つの画素の画素値が１である第２の領域の数と、３つの画素の画素値が１である第３の領域の数とを算出することを特徴とする。【選択図】    図３
2004287930.tif 000002
【特許請求の範囲】
【請求項１】
物体画像の周囲長を算出する周囲長算出方法において、物体画像の各画素を２値信号に変換した２値画像に対して２×２の窓を用いてラスタスキャンを行い、１つの画素の画素値が１である第１の領域の数と、隣接する２つの画素の画素値が１である第２の領域の数と、３つの画素の画素値が１である第３の領域の数と、を算出することを特徴とする周囲長算出方法。
【請求項２】
第１の領域が、
【数１】
2004287930.tif 000014
第２の領域が、
【数２】
2004287930.tif 000015
第３の領域が、
【数３】
2004287930.tif 000016
であることを特徴とする請求項１記載の周囲長算出方法。
【請求項３】
第１の領域に対応する第１の係数０．５を有し、第２の領域に対応する第２の係数１を有し、第３の領域に対応する第３の係数√２を有することを特徴とする請求項２記載の周囲長算出方法。
【請求項４】
第１の領域の数と第１の係数を積算し、第２の領域の数と第２の係数を積算し、第３の領域の数と第３の係数を積算し、これらの総和を周囲長として算出することを特徴とする請求項３記載の周囲長算出方法。
【請求項５】
第３の領域がない場合に、第１の係数を１に変更することを特徴とする請求項４記載の周囲長算出方法。
【請求項６】
物体画像の周囲長を算出する周囲長算出装置において、２×２の窓を用いてラスタスキャンを行い、１つの画素の画素値が１である第１の領域と、隣接する２つの画素の画素値が１である第２の領域と、３つの画素の画素値が１である第３の領域の数とを判別する領域判別部と、判別された第１から第３の領域の数を算出する算出部と、を備えることを特徴とする周囲長算出装置。
【請求項７】
第１の領域が、
【数４】
2004287930.tif 000017
第２の領域が、
【数５】
2004287930.tif 000018
第３の領域が、
【数６】
2004287930.tif 000019
であることを特徴とする請求項６記載の周囲長算出装置。
【請求項８】
第１の領域に対応する第１の係数０．５を有し、第２の領域に対応する第２の係数１を有し、第３の領域に対応する第３の係数√２を有することを特徴とする請求項７記載の周囲長算出装置。
【請求項９】
第１の領域の数と第１の係数との積算結果と、第２の領域の数と第２の係数との積算結果と、第３の領域の数と第３の係数との積算結果との総和を周囲長として算出する制御部を備えることを特徴とする請求項８記載の周囲長算出装置。
【請求項１０】
制御部が、第３の領域がない場合に、第１の係数を１に変更することを特徴とする請求項９記載の周囲長算出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、物体画像の各画素を２値信号に変換した２値画像を用いて、物体画像の周囲長を算出する周囲長算出方法および装置に関する。
【０００２】
【従来の技術】
【０００３】
従来、図形の周囲長を算出する方法として、物体画像の輪郭（エッジまたは境界ともいう）を追跡（トレース）することにより、物体画像の周囲長を算出する境界線追跡法を知られている。しかしながら、この方法を用いた論理回路は規模としては比較的大きく、高速化、低価格が難しい点があった。
【０００４】
そこで、論理回路の簡単な装置として、ラスタスキャン入力データの２×２の局所領域における画素に注目し、周囲長を算出する装置がある。このような装置として、例えば、ラスタスキャン入力データの２×２の局所領域において各画素の値を調べ、ラベル領域の境界を検出して、境界点同士が縦方向、横方向および斜め方向のいずれかに隣接するかを判定して、その局所領域における境界点同士の隣接数を縦方向、横方向および斜め方向いずれに隣接するかを判定して、その局所領域における境界同士の隣接数を縦方向、横方向および斜め方向別に算出するラベル領域周囲長算出装置が知られている（特許文献１参照）。
【０００５】
【特許文献１】
特開平７−７３３２２号公報
【０００６】
しかしながら、その装置では隣接数を縦方向、横方向および斜め方向別に算出算するのみで、縦方向、横方向および斜め方向別に重みづけがなされておらず、周囲長の算出精度が悪いという問題点があった。
【０００７】
【発明が解決しようとする課題】
本発明は上記事情に鑑み、物体画像の各画素を２値信号に変換した２値画像を用いて、物体画像の周囲長を算出する周囲長算出方法およびその方法を用いた周囲長算出装置を提供することを課題とする。
【０００８】
【課題を解決するための手段】
本発明の周囲長算出方法は、物体画像の周囲長を算出する周囲長算出方法において、物体画像の各画素を２値信号に変換した２値画像に対して２×２の窓を用いてラスタスキャンを行い、１つの画素の画素値が１である第１の領域の数と、隣接する２つの画素の画素値が１である第２の領域の数と、３つの画素の画素値が１である第３の領域の数と、を算出することを特徴とする。
【０００９】
本発明の周囲長算出方法において、第１の領域が、
【数７】
2004287930.tif 000003
第２の領域が、
【数８】
2004287930.tif 000004
第３の領域が、
【数９】
2004287930.tif 000005
であることが好ましい。
【００１０】
また、第１の領域に対応する第１の係数０．５を有し、第２の領域に対応する第２の係数１を有し、第３の領域に対応する第３の係数√２を有することが好ましい。
【００１１】
また、第１の領域の数と第１の係数を積算し、第２の領域の数と第２の係数を積算し、第３の領域の数と第３の係数を積算し、これらの総和を周囲長として算出することが好ましい。
【００１２】
また、第３の領域がない場合に、第１の係数を１に変更することが好ましい。
【００１３】
本発明の周囲長算出装置は、物体画像の周囲長を算出する周囲長算出装置において、２×２の窓を用いてラスタスキャンを行い、１つの画素の画素値が１である第１の領域と、隣接する２つの画素の画素値が１である第２の領域と、３つの画素の画素値が１である第３の領域の数とを判別する領域判別部と、判別された第１から第３の領域の数を算出する算出部と、を備えることを特徴とする。
【００１４】
本発明の周囲長算出装置おいて、第１の領域が、
【数１０】
2004287930.tif 000006
第２の領域が、
【数１１】
2004287930.tif 000007
第３の領域が、
【数１２】
2004287930.tif 000008
であることが好ましい。
【００１５】
また、第１の領域に対応する第１の係数０．５を有し、第２の領域に対応する第２の係数１を有し、第３の領域に対応する第３の係数√２を有することが好ましい。
【００１６】
また、第１の領域の数と第１の係数との積算結果と、第２の領域の数と第２の係数との積算結果と、第３の領域の数と第３の係数との積算結果との総和を周囲長として算出する制御部を備えることが好ましい。
【００１７】
また、制御部は、第３の領域がない場合に、第１の係数を１に変更することが好ましい。
【００１８】
【発明の実施の形態】
まず、本発明の周囲長算出方法を実施するために使用する周囲長算出装置について説明する。図１に周囲長算出装置の一実施形態の構成を示すブロック図を示す。
【００１９】
この周囲長算出装置は、マイクロコンピュータ１と、画像処理装置２から構成されている。
また、マイクロコンピュータの代わりに市販のパーソナルコンピュータを使用できる。
【００２０】
マイクロコンピュータ１は、ＣＰＵ１１と、メモリ１２から構成されている。メモリ１２は、ＲＡＭやＲＯＭ等から構成することができる。
【００２１】
画像処理装置２は、マスクレジスタ２１（４ビット）、論理回路２２、カウンタ２３、２４、２５から構成される。論理回路２２はＡＮＤ−ＯＲ回路から構成され、論理演算を行う。また、論理回路２２の代わりに論理演算をコンピュータに行わせても良い。
【００２２】
次に、周囲長算出装置の動作について説明する。
まず、マイクロコンピュータ１のメモリ１２に保持された２値画像を４ビットのマスクレジスタ２１に読み出す。メモリ１２に記憶された２値画像は、メモリ１２に２次元アドレス、（ｍ−１，ｎ−１）、（ｍ，ｎ−１）、（ｍ−１，ｎ）、（ｍ，ｎ）に“１”または“０”として保持されている。ここで、ｍ，ｎは画像の座標を表わす。ＲＡＭ１２に保持された２値画像の例を図２に示す。
ここで、メモリ１２に予め保持された２値画像を用いたが、２値化する前の画像からマイクロコンピュータ１を用いて２値画像を生成しても良い。その処理について、以下に説明する。スキャナーやＣＣＤカメラ等を用いて物体の形状を認識すべく物体を画像としてマイクロコンピュータ１のメモリ１２に取り込む。この画像はメモリ１２にグレースケールのデジタル画像として記憶される。このグレースケールのデジタル画像を物体と背景部分とを区別できる任意の明るさの閾値で、例えば物体表面の明るさと背景部分の明るさとの間の明るさの閾値を設定して２値化して２値画像を得ることができる。この処理は、メモリ１２に予め記憶されている画像処理プログラムにより実行できる。
【００２３】
図２に示すように、２値画像３０はｍ×ｎ個の画素から構成されており、ｍ＝１２、ｎ＝１２である。物体画像３１は“１”で表示された部分であり、背景画像３２は“０”で表示された部分である。物体画像３１は非“０”である数値であっても良い。また、物体画像３１は“０”で表示し、背景画像３２は“１”で表示しても良い。
【００２４】
マスクレジスタ２１のマスクパターン（２×２の窓）は、
【数１３】
2004287930.tif 000009
で定義される。
【００２５】
図３は、マスクパターンＸ（２×２の窓）を用いて２値画像３０を矢印Ｔで示すように、左上から右下の方向へラスタスキャンしている様子を表わしている。このようにして、メモリ１２に保持された２値画像１０は４ビットのマスクレジスタ２１に読み出される。
【００２６】
マスクパターンＸ（２×２の窓）は、３種類からなり、以下のように表わされる。
第１のマスクパターンは、
【数１４】
2004287930.tif 000010
第２のマスクパターンは、
【数１５】
2004287930.tif 000011
第３のマスクパターンは、
【数１６】
2004287930.tif 000012
で表わされる。このように、マスクパターンＡ，Ｂ，Ｃはそれぞれ４つパターンを持っている。
【００２７】
次に、マスクレジスタ２１に読み込まれた２値画像３０は、論理回路２２中のＡＮＤ回路に入力される。ＡＮＤ回路の動作については、図４、５、６、７を用いて説明する。図４に示すＡＮＤ回路にマスクレジスタ２１から出力されたマスクパターンＸを入力するとき、出力Ｏｋ＝１となる入力パターンは、
【数１７】
2004287930.tif 000013
である。このように、入力信号全てが合致するとき、出力はＯｋ＝１となるようにＡＮＤ回路は構成されている。
【００２８】
第１のマスクパターンＡの１番目のマスクパターンを入力するとき、出力Ｏ１＝１となるＡＮＤ回路は、図５に示されるような構成となる。
【００２９】
同様にして、第１のマスクパターンＡの２番目、３番目、４番目のマスクパターンを入力するとき、それぞれ出力Ｏ２＝１、Ｏ３＝１、Ｏ４＝１となるようにＡＮＤ回路を構成する。
【００３０】
第２のマスクパターンＢの１番目のマスクパターンを入力するとき、出力Ｏ１＝１となるＡＮＤ回路は、図６に示されるような構成となる。
【００３１】
同様にして、第２のマスクパターンＢの２番目、３番目、４番目のマスクパターンを入力するとき、それぞれ出力Ｏ２＝１、Ｏ３＝１、Ｏ４＝１となるようにＡＮＤ回路を構成する。
【００３２】
第３のマスクパターンＣの１番目のマスクパターンを入力するとき、出力Ｏ１＝１となるＡＮＤ回路は、図７に示されるような構成となる。
【００３３】
同様にして、第３のマスクパターンＣの２番目、３番目、４番目のマスクパターンを入力するとき、それぞれ出力Ｏ２＝１、Ｏ３＝１、Ｏ４＝１となるようにＡＮＤ回路を構成する。
【００３４】
このように、論理回路２２は、第１のマスクパターンＡ（４種類）に対して４個のＡＮＤ回路、第２のマスクパターンＢ（４種類）に対して４個のＡＮＤ回路、第３のマスクパターンＣ（４種類）に対して４個のＡＮＤ回路を備えており、計１２個のＡＮＤ回路を備えている。
【００３５】
次に、論理回路２２中のＯＲ回路（図８）について説明する。図８のＯＲ回路にＡＮＤ回路から出力されたＯ１、Ｏ２、Ｏ３、Ｏ４が入力され、Ｏ１、Ｏ２、Ｏ３、Ｏ４の何れかが、“１”になればＯＲ回路から信号“１”がカウンタ２３に出力される。同様にカウンタ２４、２５にそれぞれに対応したＯＲ回路を図９、１０に示した。論理回路２２は、カウンタ２３、２４、２５に対応して３個のＯＲ回路を備えている。
【００３６】
次に、カウンタ２３、２４、２５について説明する。カウンタ２３は数値（係数）０．５、カウンタ２４は数値（係数）１、カウンタ２５は数値（係数）√２が割り与えられている。論理回路２２中のＯＲ回路から出力信号“１”を受けたカウンタは出力信号の数に応じてカウントしていく。
【００３７】
次に、各カウンタから出力されたカウントデータをメモリ１２に記憶する。ＣＰＵ１１は、メモリ１２から各カウンタに割り与えられた数値と各カウンタのカウントデータをそれぞれ積算し、その総和を求める。その総和が２値画像３０（図２）の周囲長となる
【００３８】
前述した周囲長算出装置における周囲長を算出する方法を算出式で表わすと、周囲長Ｌは以下のように式Ｇで表わされる。
Ｌ＝０．５×Ｄ＋１×Ｅ＋√２×Ｆ・・・Ｇ
ＤはマスクパターンＡによって変換された数値（係数）０．５の個数、ＥはマスクパターンＢによって変換された数値（係数）１の個数、ＦはマスクパターンＡによって変換された数値（係数）√２の個数を表わしている。
【００３９】
但し、ラスタスキャン後の変換値に√２がない場合、式Ｇの第１項の係数を数値１に置き換える。これは、周囲長算出装置において、メモリ１２に予め格納されたプログラムとＣＰＵ１１によって達成される。具体的には、メモリ１２に記憶された数値（係数）０．５を２倍する処理が行われる。この場合の周囲長Ｌを算出する式は下記式Ｇ‘と表わされる。
Ｌ＝１×Ｄ＋１×Ｅ・・・Ｇ‘
【００４０】
これらの式Ｇ、Ｇ‘を用いて代表的な２値画像の周囲長を求める方法について説明する。
【００４１】
図１１はデジタル円の２値画像４０を示し、図１２はマスクパターンＸでラスタスキャンを行って数値変換したパターン４１を示している。その結果、周囲長Ｌは式Ｇにパターン４１で表わされたそれぞれの数値の個数をＤ、Ｅ、Ｆに代入することにより、以下の式で表わされる。
Ｌ＝１×４＋０．５×８＋４√２＝８＋５．６５６＝１３．６５６
【００４２】
図１３はデジタル正方形の２値画像５０を示し、図１４はマスクパターンＸでラスタスキャンを行って数値変換したパターン５１を示している。その結果、周囲長Ｌは式Ｇ‘にパターン５１で表わされたそれぞれの数値の個数をＤ、Ｅに代入することにより、以下の式で表わされる。
Ｌ＝１×１２＋１×４＝１６
【００４３】
【発明の効果】
本発明の画像処理方法は物体の２値画像を簡単な論理演算を用いて、物体画像の周囲長を算出することが可能となった。また、本発明は論理回路によるハードウェア処理でも簡単に行えるため、高速処理が可能で安価な画像処理装置を作ることができる。
【図面の簡単な説明】
【図１】画像処理装置のブロック図である。
【図２】メモリに記憶され２値画像の一例を示した図である。
【図３】２値画像をラスタスキャンしている様子を示した図である。
【図４】ＡＮＤ回路の一例を示した図である。
【図５】ＡＮＤ回路の一例を示した図である。
【図６】ＡＮＤ回路の一例を示した図である。
【図７】ＡＮＤ回路の一例を示した図である。
【図８】ＯＲ回路の一例を示した図である。
【図９】ＯＲ回路の一例を示した図である。
【図１０】ＯＲ回路の一例を示した図である。
【図１１】２値画像の一例を示した図である。
【図１２】図１１の２値画像をラスタスキャンして数値変換したパターン図である。
【図１３】２値画像の一例を示した図である。
【図１４】図１３の２値画像をラスタスキャンして数値変換したパターン図である。
【図１】
2004287930.tif 000020
【図２】
2004287930.tif 000021
【図３】
2004287930.tif 000022
【図４】
2004287930.tif 000023
【図５】
2004287930.tif 000024
【図６】
2004287930.tif 000025
【図７】
2004287930.tif 000026
【図８】
2004287930.tif 000027
【図９】
2004287930.tif 000028
【図１０】
2004287930.tif 000029
【図１１】
2004287930.tif 000030
【図１２】
2004287930.tif 000031
【図１３】
2004287930.tif 000032
【図１４】
2004287930.tif 000033