(57)【特許請求の範囲】
【請求項１】
少なくとも１つ以上の領域に領域分割された入力画像から、前記領域のうちのある１つの領域内に留まる矩形のうち面積最大となる矩形の中心位置と該矩形の縦横サイズを出力する内接矩形検出装置であって、
前記入力画像から階層画像を生成してメモリに格納し、その階層数を出力する収縮階層画像生成手段と、
前記階層画像から予め定義された背景色以外の少なくとも１色以上を有する階層画像のうち最下層の画像番号を対象階層番号として決定し出力する対象階層画像決定手段と、
前記対象階層番号に対応する階層画像の各色領域において予め与えられたマスクを走査して背景色以外の１つの色領域内に留まる面積最大のマスク縦横サイズとマスク中心位置を決定し、該面積最大マスクが留まった領域色をメモリに格納し、前記マスク縦横サイズと前記マスク中心位置を出力する最大矩形検出手段と、
前記マスク縦横サイズと前記マスク中心位置を入力画像上での縦横サイズ、中心位置に変換して夫々復元矩形縦横サイズ、復元矩形中心位置として出力する矩形復元手段と、
前記復元矩形縦横サイズ、復元矩形中心位置を用い、前記領域色内に留まるうちは入力画像上で拡大させ、縦横サイズ、中心位置を更新して出力する復元矩形拡大手段と、
を備えてなることを特徴とする内接矩形検出装置。
【請求項２】
少なくとも１つ以上の領域に領域分割された入力画像から、前記領域のうちのある１つの領域内に留まる複数の矩形のうち、互いに矩形同士が重複することのない矩形群の夫々の中心位置と縦横サイズを予めユーザによって与えられた検出矩形数分検出する内接矩形検出装置であって、
前記入力画像から階層画像を生成してメモリに格納し、その階層数を出力する収縮階層画像生成手段と、
前記階層画像から予め定義された背景色以外の少なくとも１色以上を有する階層画像のうち最下層の画像番号を対象階層番号として決定し出力する対象階層画像決定手段と、
前記対象階層番号に対応する階層画像の各色領域において予め与えられたマスクを走査して背景色以外の１つの色領域内に留まる面積最大のマスク縦横サイズとマスク中心位置を決定し、該面積最大マスクが留まった領域色をメモリに格納し、前記マスク縦横サイズと前記マスク中心位置を出力する最大矩形検出手段と、
前記マスク縦横サイズと前記マスク中心位置を入力画像上での縦横サイズ、中心位置に変換して夫々復元矩形縦横サイズ、復元矩形中心位置として出力する矩形復元手段と、
前記復元矩形縦横サイズ、復元矩形中心位置を用い、前記領域色内に留まるうちは入力画像上で拡大させ、縦横サイズ、中心位置を更新して出力する復元矩形拡大手段と、
前記拡大された矩形内部に属する入力画像の画素の画素値に背景色を代入して入力画像を更新し、検出された矩形の数である検出済矩形数を１増加させる入力画像更新手段と、
前記検出済矩形数と前記検出矩形数分を比較し引き続き矩形検出処理を繰り返すか否かを判定し、処理を繰り返す場合は前記収縮階層画像生成手段を起動し、繰り返さない場合は処理を終了する終了条件判定手段と、
を備えてなることを特徴とする内接矩形検出装置。
【請求項３】
前記収縮階層画像生成手段は、生成する階層画像の画素値を決定する際に処理対象の画像座標に対応する１段上の階層画像の対応画像座標と対応画素値を求め、
該対応画像座標の画素近傍内に画素値が前記対応画素値と異なる少なくとも１つ以上画素が存在すれば前記処理対象画像座標の画素値を前記背景色に、その他の場合は前記対応画素値として決定すること
を特徴とする請求項１又は２に記載の内接矩形検出装置。
【請求項４】
前記対象階層画像決定手段は、
前記収縮階層画像生成手段において出力された階層画像の階層数を受信し、
画像サイズが小さい階層を下層としたときの最下層の階層画像から処理を始め、階層画像で使用されている使用色数を数え上げて背景色以外の色が利用されているかどうかを判定する処理を、初めて該判定条件が満たされるまで上層の階層画像へと階層番号順に処理を行ない、前記判定条件が満たされた際の階層画像番号を対象階層画像番号とし出力すること
を特徴とする請求項１〜３のうちいずれか１項に記載の内接矩形検出装置。
【請求項５】
前記最大矩形検出手段は、
前記対象階層画像決定手段において出力された対象階層画像番号を受信して対象階層番号目の階層画像を対象階層画像としてメモリから読み出すと共に、予めユーザによって設定されたマスクの縦横サイズを全て読出し、
前記入力マスクの未処理のマスクのうち面積が最大となるマスクを処理マスクとして設定し、
該処理マスクを前記対象階層画像上に設定し、該処理マスク内の各画素の画素値に処理対象画像上で対応する画素の画素値をコピーし、該処理マスク内が全て同一画素値でかつ、その画素値が全て背景色以外の同一画素値となる条件を満たすまで処理マスクを対象階層画像上で走査し、前記条件が満たされない際には前記条件が満たされるまで全ての前記入力マスクに亘って処理を繰り返し、
前記条件が満たされた時には、処理マスク内の画素値を領域色としてメモリに格納した後、前記条件を満たした時の処理マスク中心位置と処理マスクの縦横サイズを矩形中心位置と矩形縦横サイズとして、対象階層番号と共に出力すること
を特徴とする請求項１〜４のうちいずれか１項に記載の内接矩形検出装置。
【請求項６】
前記矩形復元手段は、
前記最大矩形検出手段において出力された矩形中心位置、矩形縦横サイズ、対象階層番号を受信し、
対象階層画像を元階層画像、矩形中心位置、矩形縦横サイズを元中心位置、元縦横サイズ、対象階層画像に対する１階層上層の階層画像を上階層画像とし、
元階層画像に対する上階層画像の縦サイズ、横サイズ夫々の比率を用いて元中心位置、元縦横サイズを上階層画像における中心位置と縦横サイズに変換し、上階層画像を元階層画像、変換された中心位置と縦横サイズを元中心位置、元縦横サイズとして更新する処理を、
元階層画像の階層番号が最上層の番号に一致するまで繰り返し、
最後に元中心位置、元縦横サイズを復元矩形中心位置、復元矩形縦横サイズとして出力すること
を特徴とする請求項１〜５のうちいずれか１項に記載の内接矩形検出装置。
【請求項７】
少なくとも１つ以上の領域に領域分割された入力画像から、前記領域のうちのある１つの領域内に留まる矩形のうち面積最大となる矩形の中心位置と該矩形の縦横サイズを出力する処理をコンピュータに行わせるための内接矩形検出プログラムであって、
前記入力画像から階層画像を生成してメモリに格納し、その階層数を出力する収縮階層画像生成ステップと、
前記階層画像から予め定義された背景色以外の少なくとも１色以上を有する階層画像のうち最下層の画像番号を対象階層番号として決定し出力する対象階層画像決定ステップと、
前記対象階層番号に対応する階層画像の各色領域において予め与えられたマスクを走査して背景色以外の１つの色領域内に留まる面積最大のマスク縦横サイズとマスク中心位置を決定し、該面積最大マスクが留まった領域色をメモリに格納し、前記マスク縦横サイズと前記マスク中心位置を出力する最大矩形決定ステップと、
前記マスク縦横サイズと前記マスク中心位置を入力画像上での縦横サイズ、中心位置に変換して夫々復元矩形縦横サイズ、復元矩形中心位置として出力する矩形復元ステップと、
前記復元矩形縦横サイズ、復元矩形中心位置を用い、前記領域色内に留まるうちは入力画像上で拡大させ、縦横サイズ、中心位置を更新して出力する復元矩形拡大ステップと、
を実行させるための内接矩形検出プログラム。
【請求項８】
少なくとも１つ以上の領域に領域分割された入力画像から、前記領域のうちのある１つの領域内に留まる複数の矩形のうち、互いに矩形同士が重複することのない矩形群の夫々の中心位置と縦横サイズを予めユーザによって与えられた検出矩形数分検出する処理をコンピュータに行わせるための内接矩形検出プログラムであって、
前記入力画像から階層画像を生成してメモリに格納し、その階層数を出力する収縮階層画像生成ステップと、
前記階層画像から予め定義された背景色以外の少なくとも１色以上を有する階層画像のうち最下層の画像番号を対象階層番号として決定し出力する対象階層画像決定ステップと、
前記対象階層番号に対応する階層画像の各色領域において予め与えられたマスクを走査して背景色以外の１つの色領域内に留まる面積最大のマスク縦横サイズとマスク中心位置を決定し、該面積最大マスクが留まった領域色をメモリに格納し、前記マスク縦横サイズと前記マスク中心位置を出力する最大矩形決定ステップと、
前記マスク縦横サイズと前記マスク中心位置を入力画像上での縦横サイズ、中心位置に変換して夫々復元矩形縦横サイズ、復元矩形中心位置として出力する矩形復元ステップと、
前記復元矩形縦横サイズ、復元矩形中心位置を用い、前記領域色内に留まるうちは入力画像上で拡大させ、縦横サイズ、中心位置を更新して出力する復元矩形拡大ステップと、
前記拡大された矩形内部に属する入力画像の画素の画素値に背景色を代入して入力画像を更新し、検出された矩形の数である検出済矩形数を１増加させる入力画像更新ステップと、
前記検出済矩形数と前記検出矩形数分を比較し引き続き矩形検出処理を繰り返すか否かを判定し、処理を繰り返す場合は前記収縮階層画像生成ステップを起動し、繰り返さない場合は処理を終了する終了条件判定ステップと、
を実行させるための内接矩形検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも１つ以上の領域に領域分割された入力画像から、前記領域のうちのある１つの領域内に留まる矩形を検出し、該矩形の中心位置と該矩形の縦横サイズを出力する内接矩形検出装置および内接矩形検出プログラムに関する。
【背景技術】
【０００２】
プロジェクタ等の投影装置によって光が投射された３次元空間を前記投影装置とは異なる場所に設置されたカメラ等で撮影した画像を、光が投射された領域と投射されない領域に分割し、光が投影された領域において該領域内に留まる矩形を検出する従来の内接矩形検出装置では、検出した内接矩形の形状を補正して投影装置に入力することにより前記投影装置とは異なる観測者位置からも矩形として歪み無く観測させることを可能としている。
【０００３】
例えば、下記非特許文献１に記載の方法では、複数台のプロジェクタで光を投射した平面で構成される空間を撮像し、投射領域、非投射領域に分割した画像から、投射領域からなる多角形Ｌを深度Ｚ＝１の深度平面上に描画されているものとし、深度Ｚ＝０の深度平面上に検出したいアスペクト比の矩形Ｒを描画し、該矩形ＲをＺ＝０平面に投影した矩形Ｓが完全に前記多角形Ｌ内にとどまるように投影する深度０から１の間で移動する投影中心のうち、最小の深度を有する投影中心位置を決定することにより前記多角形Ｌ内で面積最大となる内接矩形を求めることを可能としている。
【０００４】
また、例えば下記非特許文献２に記載の方法では、１台のプロジェクタで光を投射した平面で構成される空間を撮像し、投射領域、非投射領域に分割した画像から、多角形となる投射領域を構成する各辺上に所定のアスペクト比の矩形の１点が乗るように配置して矩形内全てが投射領域となるかどうかを判定する処理を辺上をずらしながら行なって多角形の全辺で繰り返し、この処理を矩形のサイズを大きくしながらも繰り返すことによって前記多角形内での面積最大となる内接矩形を求めることを可能としている。
【非特許文献１】「ｉＬａｍｐｓ：Ｇｅｏｍｅｔｒｉｃａｌｌｙ  ａｗａｒｅ  ａｎｄ  ｓｅｌｆ−ｃｏｎｆｉｇｕｒｉｎｇ  ｐｒｏｊｅｃｔｏｒｓ」（Ｒｅｍｅｓｈ  Ｒａｓｋａｒ，Ｊｅｒｏｅｎ  ｖａｎ  Ｂａａｒ，Ｐａｕｌ  Ｂｅａｒｄｓｌｅｙ，Ｔｈｏｍａｓ  Ｗｉｌｌｗａｃｈｅｒ，Ｓｒｉｎｉｖａｓ  Ｒａｏ，Ｃｌｉｆｒｏｎ  Ｆｏｒｌｉｎｅｓ：ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｇｒａｐｈｉｃｓ（ＴＯＧ），ＩＳＳＮ：０７３０−０３０１，Ｖｏｌ．２２，Ｉｓｓｕｅ  ３，ｐｐ．８０９−８１８，Ｊｕｌｙ  ２００３）
【非特許文献２】「Ａ  Ｓｅｌｆ  Ｃｏｒｒｅｃｔｉｎｇ  Ｐｒｏｊｅｃｔｏｒ」（Ｒｅｍｅｓｈ  Ｒａｓｋａｒ，Ｐａｕｌ  Ｂｅａｒｄｓｌｅｙ：ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ，ｖｏｌ．２，ｐｐ．５０４−５０８，Ｄｅｃｅｍｂｅｒ  ２００１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献１、非特許文献２共に光が投射された領域と投射されない領域に分割された２領域の画像を矩形検出対象としており、複数の領域に分割された画像に関しては言及されていない。例えば、３次元空間を撮像した画像が空間中の平面毎に分割されたものを対象とし、ある１つの平面内を示す領域のみに留まる矩形を検出しようとした際、全ての領域につき矩形検出処理を施す必要があり、計算処理時間が膨大に増えるといった問題があった。
【０００６】
本発明は、上述したような従来技術が有する問題点に鑑みてなされたものであり、矩形検出装置において、画像中に複数領域が存在する場合においても、少ない計算量で高速に画像中の矩形を検出できる装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の内接矩形検出装置は、少なくとも１つ以上の領域に領域分割された入力画像から、前記領域のうちのある１つの領域内に留まる矩形のうち面積最大となる矩形の中心位置と該矩形の縦横サイズを出力する内接矩形検出装置であって、前記入力画像から階層画像を生成してメモリに格納し、その階層数を出力する収縮階層画像生成手段と、前記階層画像から予め定義された背景色以外の少なくとも１色以上を有する階層画像のうち最下層の画像番号を対象階層番号として決定し出力する対象階層画像決定手段と、前記対象階層番号に対応する階層画像の各色領域において予め与えられたマスクを走査して背景色以外の１つの色領域内に留まる面積最大のマスク縦横サイズとマスク中心位置を決定し、該面積最大マスクが留まった領域色をメモリに格納し、前記マスク縦横サイズと前記マスク中心位置を出力する最大矩形検出手段と、前記マスク縦横サイズと前記マスク中心位置を入力画像上での縦横サイズ、中心位置に変換して夫々復元矩形縦横サイズ、復元矩形中心位置として出力する矩形復元手段と、前記復元矩形縦横サイズ、復元矩形中心位置を用い、前記領域色内に留まるうちは入力画像上で拡大させ、縦横サイズ、中心位置を更新して出力する復元矩形拡大手段と、を備えてなることを特徴としている。
【０００８】
また、少なくとも１つ以上の領域に領域分割された入力画像から、前記領域のうちのある１つの領域内に留まる複数の矩形のうち、互いに矩形同士が重複することのない矩形群の夫々の中心位置と縦横サイズを予めユーザによって与えられた検出矩形数分検出する内接矩形検出装置であって、前記入力画像から階層画像を生成してメモリに格納し、その階層数を出力する収縮階層画像生成手段と、前記階層画像から予め定義された背景色以外の少なくとも１色以上を有する階層画像のうち最下層の画像番号を対象階層番号として決定し出力する対象階層画像決定手段と、前記対象階層番号に対応する階層画像の各色領域において予め与えられたマスクを走査して背景色以外の１つの色領域内に留まる面積最大のマスク縦横サイズとマスク中心位置を決定し、該面積最大マスクが留まった領域色をメモリに格納し、前記マスク縦横サイズと前記マスク中心位置を出力する最大矩形検出手段と、前記マスク縦横サイズと前記マスク中心位置を入力画像上での縦横サイズ、中心位置に変換して夫々復元矩形縦横サイズ、復元矩形中心位置として出力する矩形復元手段と、前記復元矩形縦横サイズ、復元矩形中心位置を用い、前記領域色内に留まるうちは入力画像上で拡大させ、縦横サイズ、中心位置を更新して出力する復元矩形拡大手段と、前記拡大された矩形内部に属する入力画像の画素の画素値に背景色を代入して入力画像を更新し、検出された矩形の数である検出済矩形数を１増加させる入力画像更新手段と、前記検出済矩形数と前記検出矩形数分を比較し引き続き矩形検出処理を繰り返すか否かを判定し、処理を繰り返す場合は前記収縮階層画像生成手段を起動し、繰り返さない場合は処理を終了する終了条件判定手段と、を備えてなることを特徴としている。
【０００９】
また、前記収縮階層画像生成手段は、生成する階層画像の画素値を決定する際に処理対象の画像座標に対応する１段上の階層画像の対応画像座標と対応画素値を求め、該対応画像座標の画素近傍内に画素値が前記対応画素値と異なる少なくとも１つ以上画素が存在すれば前記処理対象画像座標の画素値を前記背景色に、その他の場合は前記対応画素値として決定することを特徴としている。
【００１０】
また、前記対象階層画像決定手段は、前記収縮階層画像生成手段において出力された階層画像の階層数を受信し、画像サイズが小さい階層を下層としたときの最下層の階層画像から処理を始め、階層画像で使用されている使用色数を数え上げて背景色以外の色が利用されているかどうかを判定する処理を、初めて該判定条件が満たされるまで上層の階層画像へと階層番号順に処理を行ない、前記判定条件が満たされた際の階層画像番号を対象階層画像番号とし出力することを特徴としている。
【００１１】
前記最大矩形検出手段は、前記対象階層画像決定手段において出力された対象階層画像番号を受信して対象階層番号目の階層画像を対象階層画像としてメモリから読み出すと共に、予めユーザによって設定されたマスクの縦横サイズを全て読出し、前記入力マスクの未処理のマスクのうち面積が最大となるマスクを処理マスクとして設定し、該処理マスクを前記対象階層画像上に設定し、該処理マスク内の各画素の画素値に処理対象画像上で対応する画素の画素値をコピーし、該処理マスク内が全て同一画素値でかつ、その画素値が全て背景色以外の同一画素値となる条件を満たすまで処理マスクを対象階層画像上で走査し、前記条件が満たされない際には前記条件が満たされるまで全ての前記入力マスクに亘って処理を繰り返し、前記条件が満たされた時には、処理マスク内の画素値を領域色としてメモリに格納した後、前記条件を満たした時の処理マスク中心位置と処理マスクの縦横サイズを矩形中心位置と矩形縦横サイズとして、対象階層番号と共に出力することを特徴としている。
【００１２】
また、前記矩形復元手段は、前記最大矩形検出手段において出力された矩形中心位置、矩形縦横サイズ、対象階層番号を受信し、対象階層画像を元階層画像、矩形中心位置、矩形縦横サイズを元中心位置、元縦横サイズ、対象階層画像に対する１階層上層の階層画像を上階層画像とし、元階層画像に対する上階層画像の縦サイズ、横サイズ夫々の比率を用いて元中心位置、元縦横サイズを上階層画像における中心位置と縦横サイズに変換し、上階層画像を元階層画像、変換された中心位置と縦横サイズを元中心位置、元縦横サイズとして更新する処理を、元階層画像の階層番号が最上層の番号に一致するまで繰り返し、最後に元中心位置、元縦横サイズを復元矩形中心位置、復元矩形縦横サイズとして出力することを特徴としている。
【００１３】
また本発明の内接矩形検出プログラムは、少なくとも１つ以上の領域に領域分割された入力画像から、前記領域のうちのある１つの領域内に留まる矩形のうち面積最大となる矩形の中心位置と該矩形の縦横サイズを出力する処理をコンピュータに行わせるための内接矩形検出プログラムであって、前記入力画像から階層画像を生成してメモリに格納し、その階層数を出力する収縮階層画像生成ステップと、前記階層画像から予め定義された背景色以外の少なくとも１色以上を有する階層画像のうち最下層の画像番号を対象階層番号として決定し出力する対象階層画像決定ステップと、前記対象階層番号に対応する階層画像の各色領域において予め与えられたマスクを走査して背景色以外の１つの色領域内に留まる面積最大のマスク縦横サイズとマスク中心位置を決定し、該面積最大マスクが留まった領域色をメモリに格納し、前記マスク縦横サイズと前記マスク中心位置を出力する最大矩形決定ステップと、前記マスク縦横サイズと前記マスク中心位置を入力画像上での縦横サイズ、中心位置に変換して夫々復元矩形縦横サイズ、復元矩形中心位置として出力する矩形復元ステップと、前記復元矩形縦横サイズ、復元矩形中心位置を用い、前記領域色内に留まるうちは入力画像上で拡大させ、縦横サイズ、中心位置を更新して出力する復元矩形拡大ステップと、を実行させるためのプログラムであることを特徴としている。
【００１４】
また、少なくとも１つ以上の領域に領域分割された入力画像から、前記領域のうちのある１つの領域内に留まる複数の矩形のうち、互いに矩形同士が重複することのない矩形群の夫々の中心位置と縦横サイズを予めユーザによって与えられた検出矩形数分検出する処理をコンピュータに行わせるための内接矩形検出プログラムであって、前記入力画像から階層画像を生成してメモリに格納し、その階層数を出力する収縮階層画像生成ステップと、前記階層画像から予め定義された背景色以外の少なくとも１色以上を有する階層画像のうち最下層の画像番号を対象階層番号として決定し出力する対象階層画像決定ステップと、前記対象階層番号に対応する階層画像の各色領域において予め与えられたマスクを走査して背景色以外の１つの色領域内に留まる面積最大のマスク縦横サイズとマスク中心位置を決定し、該面積最大マスクが留まった領域色をメモリに格納し、前記マスク縦横サイズと前記マスク中心位置を出力する最大矩形決定ステップと、前記マスク縦横サイズと前記マスク中心位置を入力画像上での縦横サイズ、中心位置に変換して夫々復元矩形縦横サイズ、復元矩形中心位置として出力する矩形復元ステップと、前記復元矩形縦横サイズ、復元矩形中心位置を用い、前記領域色内に留まるうちは入力画像上で拡大させ、縦横サイズ、中心位置を更新して出力する復元矩形拡大ステップと、前記拡大された矩形内部に属する入力画像の画素の画素値に背景色を代入して入力画像を更新し、検出された矩形の数である検出済矩形数を１増加させる入力画像更新ステップと、前記検出済矩形数と前記検出矩形数分を比較し引き続き矩形検出処理を繰り返すか否かを判定し、処理を繰り返す場合は前記収縮階層画像生成ステップを起動し、繰り返さない場合は処理を終了する終了条件判定ステップと、を実行させるためのプログラムであることを特徴としている。
【発明の効果】
【００１５】
（１）請求項１〜６に記載の発明によれば、複数の領域を複数色で表現した入力画像に減色効果のある収縮フィルタを適用しながら階層画像を生成し、画像サイズが小さな下層の階層画像を用いて矩形検出を行なうため、画像中に複数領域が存在する場合においても、少ない計算量で高速に矩形を検出することが可能となる。
（２）請求項７、８に記載の発明によれば、画像中に複数領域が存在する場合においても、少ない計算量で高速に矩形を検出することが可能なプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施形態について図面を用いて説明する。まず、本発明における複数平面検出装置の構成について説明する。図１は、この発明の実施形態例による内接矩形検出装置を説明するための図であり、（ａ）は一実施形態例の構成図、（ｂ）は他の実施形態例の構成図である。内接矩形検出装置１００は、収縮階層画像生成部１、対象階層画像決定部２、最大矩形検出部３、矩形復元部４および復元矩形拡大部５とから概略構成されている。
【００１７】
また６はカメラ等で撮影された画像を入力する画像入力部、７は処理対象画像の構成色数をカウントして出力する使用色数カウント部、８は処理マスク内の画像値を格納するメモリである。また図１（ｂ）の９は、矩形検出処理を繰り返すか否かを判定する終了条件判定部、１０は入力画像更新部である。
【００１８】
収縮階層画像生成部１は、少なくとも１つ以上の領域に領域分割された画像を受信し、階層画像を生成してメモリに格納し、その階層数を出力する。
【００１９】
対象階層画像決定部２は、階層数を受信し、前記階層画像から予め定義された背景色以外の少なくとも１色以上を有す階層画像のうち最下層の画像番号を対象階層番号として決定し出力する。
【００２０】
最大矩形検出部３は、対象階層画像番号を受信し、該対象階層番号に対応する階層画像において１つの色領域内に留まる面積最大の矩形縦横サイズと矩形中心位置を決定し、該面積最大矩形が留まった領域色をメモリに格納し、前記矩形縦横サイズと矩形中心位置を夫々矩形縦横サイズ、矩形中心位置として対象階層番号と共に出力する。
【００２１】
矩形復元部４は、矩形縦横サイズと矩形中心位置、対象階層番号を受信し、これらを入力画像上での縦横サイズ、中心位置に変換して夫々復元矩形縦横サイズ、復元矩形中心位置として出力する。
【００２２】
復元矩形拡大部５は、復元矩形縦横サイズ、復元矩形中心位置を受信し、メモリから領域色を読み出し、前記復元矩形縦横サイズ、復元矩形中心位置で表現される復元矩形を前記領域色内に留まるうちは入力画像上で拡大させ、矩形の縦横サイズ、中心位置を更新し、これを最終出力する。
【００２３】
次に内接矩形検出装置で行われる処理フローを詳細に説明する。内接矩形検出装置１００では、収縮階層画像生成部１が起動される。収縮階層画像生成部１は起動すると、まず少なくとも１つ以上の領域に領域分割された画像を受信する。次に入力画像を段階的に縮小した図５に示すような階層画像（ピラミッド画像）を作成する。階層画像の生成は入力画像をその縦横サイズを例えば２で除算した整数値を新規画像サイズとして縮小する処理を、新規画像を入力画像と置き換え縦横両者の新規画像サイズが０になるまで繰り返すことによって実現される。これによって、入力画像を第０階層とした階層数分の画像群が生成されることになる。
【００２４】
ここで本発明では、画像を縮小する際、処理対象の画像座標に対応する１段上の階層画像の対応画像座標と対応画素値を求め、該対応画像座標の画素近傍内に画素値が前記対応画素値と異なる少なくとも１つ以上画素が存在すれば前記処理対象画像座標の画素値を前記背景色に、その他の場合は前記対応画素値として決定する。
【００２５】
なお、対応画像座標は、新規画像サイズを１段上の階層画像のサイズを２で除算して決定する例では、処理対象の画像座標を（ｉ，ｊ）とすると（２＊ｉ＋０．５，２＊ｊ＋０．５）で決定される。また、近傍には３×３の近傍を利用しても良いし、予め指定された任意の近傍領域でも良い。収縮階層画像生成部は最後に生成した階層画像の階層数を出力し処理を終える。
【００２６】
続いて対象階層画像決定部２が起動する。対象階層画像決定部２の処理の流れを図２に示す。対象階層画像決定部２は起動すると、ステップＳ１において階層数を受信した後、処理番号ｋに（階層数−１）を設定し（ステップＳ２）、処理番号ｋが０以上かどうかを判定し（ステップＳ３）、ｋが０以上であれば処理番号目の階層画像をメモリ８から読出し、処理対象画像として設定する（ステップＳ４）。
【００２７】
続いて処理対象画像の構成色数をカウントして出力する使用色数カウント部７を起動し、処理対象画像の使用色数を決定し（ステップＳ５）、ステップＳ６において使用色数が２より小さいか否かを判定する。この使用色数が２以上であれば、処理対象画像は背景色以外の色を有すとみなせるので、ステップＳ７において現在の処理番号ｋを対象階層番号として出力して処理を終了する。また使用色数が２より小さい場合は、ステップＳ８において、処理番号が０で且つ使用色数が１であるか否かを判定し、そうでなければ、現在の画像は背景色のみから構成されるとみなせるので、ステップＳ９において処理番号ｋから１減算してステップＳ３の処理に戻る。
【００２８】
また、使用色数が２より小さい時に処理番号が０で使用色数が１であれば、入力画像は少なくとも１つ以上の領域に領域分割されており、画像全体が背景色以外の１色で構成されているとみなせるので、ステップＳ１０において入力画像原点、縦横サイズを内接矩形位置、縦横サイズとして出力し、以降の処理を行なわない。尚前記ステップＳ３において、処理番号が０以上ではないと判定された場合は異常終了となる。
【００２９】
続いて最大矩形検出部３が起動する。最大矩形検出部３の処理の流れを図３に示す。最大矩形検出部３は起動すると、まずステップＳ１１において対象階層番号を受信し、予めユーザによって設定された全マスクの縦横サイズを全て読出し（ステップＳ１２）、対象階層番号目の階層画像をメモリから読出し処理対象画像として設定する（ステップＳ１３）。
【００３０】
ここでマスクとは処理対象画像で検出したい矩形サイズであり、例えば、収縮階層画像生成部で縮小画像生成の際の色決定時に３×３近傍を用いて収縮された時には、図６に示すように３×３，３×２，３×１，２×３，２×２，２×１，１×３，１×２，１×１の矩形が処理対象画像から検出可能であるのでこれら９つの矩形がマスクとして設定可能である。もし、利用者がアスペクト比が１：１（正方形）の矩形を検出したければ、上記９つの矩形のなかから３×３，２×２，１×１の３つをマスクとして設定しておけばよい。
【００３１】
次にステップＳ１４において全マスクが処理されたかどうかを判定する。全マスクが処理されて無ければ、未処理マスクの内、面積最大のマスクを処理マスクとして設定する（ステップＳ１５）。例えば上記の例では３×３のマスクが設定される。続いて処理マスクを処理対象画像上で１画素分ラスタスキャン方向にずらし（ステップＳ１６）、マスク内の各画素の画素値に処理対象画像上で対応する画素の画素値をコピーする（ステップＳ１７）。
【００３２】
そして処理マスク内が全て同一画素値かつ、該画素値が背景色以外であるか否かをステップＳ１８において判定し、そうであれば、処理マスク内の画素値を領域色としてメモリ８に格納し（ステップＳ１９）、現在の処理マスク中心位置と縦横サイズを矩形中心位置と矩形縦横サイズとして対象階層番号と共に出力し（ステップＳ２０）、処理を終了する。また処理マスク内が全て同一画素値で該画素値が背景色以外ではない場合は、ステップＳ２１において前記全画素のラスタスキャンが終了したか否かを判定する。そしてマスクのラスタスキャンが終了してなければステップＳ１６の処理に戻り、マスクのラスタスキャンが終了してればステップＳ１４の処理へと戻る。尚前記ステップＳ１４において、全マスク処理済みであると判定された場合は異常終了となる。
【００３３】
続いて矩形復元部４が起動する。矩形復元部４は起動するとまず、矩形中心位置と矩形縦横サイズ、対象階層番号を受信する。続いて入力画像上での縦横サイズ、中心位置に変換し、夫々復元矩形縦横サイズ、復元矩形中心位置として出力する。この処理は、対象階層画像を元階層画像、矩形中心位置、矩形縦横サイズを元中心位置（ｉ，ｊ）、元縦横サイズ（Ｗ×Ｈ）、対象階層画像に対する１階層上層の階層画像を上階層画像とすると、元階層画像に対する上階層画像の縦サイズ、横サイズ夫々の比率Ｒｘ，Ｒｙを用いて元中心位置、元縦横サイズを下記の式１〜式４に従って上階層画像における中心位置（ｉ’，ｊ’）と縦横サイズ（Ｗ’×Ｈ’）に変換し、上階層画像を元階層画像として更新し、また、変換された中心位置と縦横サイズを元中心位置、元縦横サイズとして更新する処理を、元階層画像の階層番号が最上層の番号に一致するまで繰り返すことによって実現される。
【００３４】
ｉ’＝（ｉｎｔ）（Ｒｘ*ｉ）＋０．５  （式１）
ｊ’＝（ｉｎｔ）（Ｒｙ*ｊ）＋０．５  （式２）
Ｗ’＝（ｉｎｔ）（Ｒｘ*Ｗ＋１．０）  （式３）
Ｈ’＝（ｉｎｔ）（Ｒｙ*Ｈ＋１．０）  （式４）
なお式１〜式４において、（ｉｎｔ）は実数値から整数値への変換を意味する。
【００３５】
続いて復元矩形拡大部５が起動する。復元矩形拡大部５は、復元矩形縦横サイズ、復元矩形中心位置を受信し、最大矩形検出部３でメモリ出力された領域色をメモリ８から読み出す。続いて前記復元矩形縦横サイズ、復元矩形中心位置を用い、復元矩形を入力画像上で前記領域色内に留まるうちは拡大させ、縦横サイズ、中心位置を更新して出力し、処理を終了する。この拡大処理は例えば矩形を構成する左の縦直線を左方向に１画素ずらし、直線上に領域色と異なる色がないかどうかを判定し、なければさらにずらすといった処理を、図７に示すように拡大方向が４つあるため、左右縦直線、上下横直線の４直線全てに対して行なえば良い。このとき縦の直線から処理を行なえば横長の矩形が、横の直線から処理を行なう場合では縦長の矩形が検出されることになるので、どちらから処理を行なうかは利用者の所望の矩形形状に応じて予め定義されていても良いものとする。
（第１実施例）
次に本発明における第１の実施形態を具体的データに即して説明する。まず、図８に示すような複数の領域に分割された画像縦横サイズが６４０×４８０の入力画像が入力されているものとする。ここで図８において、色の違いはそれぞれ別の領域であることを示し、黒は背景色を示している。本実施例では図８に示す入力画像において、ある１つの領域内に留まる矩形のうち面積最大となる矩形の中心位置と該矩形の縦横サイズを出力する例について述べる。
【００３６】
内接矩形検出装置１００では、まず収縮階層画像生成部１が起動し、色の決定に収縮を適用した階層画像を生成し、該階層画像の階層数を出力する。本実施例では、各階層画像の縦横サイズを１段上の階層画像の縦横サイズを２で除算した整数値で決定するものとし、収縮時に利用する近傍には３×３近傍を用いたものとして以降説明を進める。この例では図９に示すよう夫々の画像縦横サイズは階層０から順に（６４０×４８０），（３２０×２４０），（１６０×１２０），（８０×６０），（４０×３０），（２０×１５），（１０×７），（５×３），（２×１），（１×１）となり、階層数として１０が出力される。また、生成された階層画像の色数は図１０に示すように、収縮されて下層の画像ほど該画像を構成する色数が減ることになる。なお、図１０は収縮の効果の説明用に図９で示した各階層画像の縦横サイズを入力画像の縦横サイズに一致させたものであり、本発明で使用する階層画像とは異なる。
【００３７】
続いて、対象階層画像決定部２が起動し、階層数を受信し、前記階層画像から背景色以外の少なくとも１色以上を有する階層画像のうち最下層の画像番号を対象階層番号として決定し、出力する。本実施例では階層数１０を受信し、階層番号９の画像から処理を施し、画像を構成する色数が２以上の第６階層の階層画像が背景色である黒以外の少なくとも１色以上を有すと判定され、対象階層番号として６が出力されることになる。
【００３８】
続いて、最大矩形検出部３が起動し、対象階層画像番号を受信し、該対象階層番号に対応する階層画像において１つの色領域内に留まる面積最大の矩形縦横サイズと矩形中心位置を決定する。本実施例では、まず対象階層番号として６を受信する。続いて全マスクの縦横サイズを全て読出される。本実施例では最終的に横長の矩形を検出するため（３×３），（３×２），（３×１），（２×２），（２×１），（１×１）の６つの縦横サイズを読み出したものとする。続いて対象階層番号目の階層画像をメモリ８から読出し処理対象画像として設定される。
【００３９】
次にマスクを階層画像上でラスタスキャンし、１つの色領域内に留まる面積最大の矩形縦横サイズと矩形中心位置が決定される。本実施例では、（３×３），（３×２），（２×２），（３×１），（２×１），（１×１）の順にマスクが第６階層の階層画像上でラスタスキャンされ、マスク縦横サイズが（１×１）の時に中心位置が（２．５，１．５）で、色が２００の領域内に留まったものとする。そこで最大矩形検出部３では、領域色として２００をメモリ保存し、矩形中心位置が（２．５，１．５）、矩形縦横サイズが（１×１）と対象階層番号６を出力して処理を終了する。
【００４０】
続いて、矩形復元部４が起動し、これらを入力画像上での縦横サイズ、中心位置に変換する。本実施例では、まず、矩形中心位置（２．５，１．５）、矩形縦横サイズが（１×１）と対象階層番号６を受信したものとする。次に１段上の階層である第５階層の階層画像における中心位置と矩形サイズへと前記矩形中心位置、前記矩形縦横サイズを変換する。この実施例では第６階層に対する第５階層の縦横サイズ比率がそれぞれ２と２．１であるので、矩形中心位置、前記矩形縦横サイズは夫々（５．５，３．５）、（３×３）に更新される。この更新処理を入力画像である第０階層まで繰り返した結果、本実施例では縦横サイズ（１２７×１２７）、中心位置（１９１．５，１２７．５）となり、矩形復元部４はこれを夫々復元矩形縦横サイズ、復元矩形中心位置として出力する。図１１に前記復元矩形縦横サイズ、復元矩形中心位置で表現される復元矩形を図中黒枠で示す。
【００４１】
続いて、復元矩形拡大部５が起動し、復元矩形縦横サイズ、復元矩形中心位置を受信し、メモリから領域色を読み出し、前記復元矩形縦横サイズ、復元矩形中心位置で表現される復元矩形を前記領域色内に留まるうちは入力画像上で拡大させ、矩形の縦横サイズ、中心位置を更新し、これを最終出力する。本実施例ではまず復元矩形縦横サイズ（１２７×１２７）、復元矩形中心位置（１９１．５，１２７．５）を受信し、メモリ８から領域色２００を読み出す。続いて矩形を構成する左の縦直線を左方向に１画素ずらし、該縦直線上に領域色２００と異なる色がないかどうかを判定し、なければさらにずらすことによって、左方向に拡大する。この処理を右の縦直線、上下の横直線と全ての復元矩形構成直線について行なうことによって拡大された矩形の縦横サイズ、中心位置が本実施例では（２０３×１８０）、（１１５，５７）と夫々なり、これを最終出力する。最終出力される矩形の縦横サイズ、中心位置で表現される矩形を図１２に図中白枠で示す。
（第２実施例）
次に本発明における第２の実施形態を具体的データに即して説明する。入力画像、背景色は第１実施例と同様とする。第１実施例ではある１つの領域内に留まる１つの矩形のみ検出するが、本実施例ではある１つの領域内に留まる矩形を夫々重複することなく複数検出するため、検出された矩形の数である検出済矩形数と前記検出矩形数分を比較し引き続き矩形検出処理を繰り返すか否かを判定する、図１（ｂ）に示す終了条件判定部９と、検出済みの矩形領域に属する入力画像の画素の画素値に背景色を代入して入力画像を更新し、検出された矩形の数である検出済矩形数を１増加させる、図１（ｂ）に示す入力画像更新部１０を設けたことが第１実施例と異なる。本実施例では収縮階層画像生成部１、対象階層画像決定部２、最大矩形検出部３、矩形復元部４、復元矩形拡大部５で行われる処理は第１実施例と変わることが無いので、処理の詳細な記述は省く。また、検出矩形数は予め３と与えられているものとする。
【００４２】
本実施例における内接矩形検出装置では、まず、終了条件判定部９が起動される。終了条件判定部９は起動されると、図４の処理フローのステップＳ３１において、検出された矩形の数である検出済矩形数と前記検出矩形数分を比較し引き続き矩形検出処理を繰り返すか否かを判定し、処理を繰り返す場合は収縮階層画像生成部１を起動し（ステップＳ３２）、繰り返さない場合は処理を終了する。検出矩形数は３であり、初期状態では前記検出済矩形数は０であり、３より小さいため収縮階層画像生成部１を起動して処理を終了する。
【００４３】
収縮階層画像生成部１、対象階層画像決定部２、最大矩形検出部３、矩形復元部４、復元矩形拡大部５が起動されて第１実施例同様矩形縦横サイズが（２０３×１８０）、矩形中心位置が（１１５，５７）が出力された後、入力画像更新部１０が起動する（ステップＳ３３）。入力画像更新部１０は起動すると、メモリ８から入力画像を読み出し、矩形の縦横サイズ、中心位置で表現される矩形内の画素の値を全て背景色で埋め入力画像を更新する。本実施例での入力画像の更新結果を図１３に示す。次に検出済矩形数０に１を増加させて１とし、終了条件判定部９を起動して処理を終了する。
【００４４】
以上の処理が終了条件判定部９において検出済矩形数が検出矩形数以上になるまで繰り返される。１回目の繰り返し処理によって検出された矩形は第１実施例同様図１２に示す矩形が検出される。２回目の繰り返し処理で検出された結果を図１４に、３回目の繰り返し処理で検出された結果を図１５に夫々示す。
【００４５】
また前記図１〜図４で述べた内接矩形検出装置は、例えばコンピュータ装置が有するＣＰＵによって実現され、該内接矩形検出装置の機能を実現するソフトウエアのプログラムとして搭載することができる。
【００４６】
また内接矩形検出装置の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システム又は装置に供給し、そのシステム又は装置のＣＰＵ（ＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することも可能である。この場合、記憶媒体から読み出されたプログラムコード自体が前記実施形態の機能を実現することになり、このプログラムコードを記憶した記憶媒体としては、例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＭＯ、及びＨＤＤ等がある。
【００４７】
以上、本発明を実施形態例に基づき具体的に説明したが、上記実施の形態の説明は、本発明を説明するためのものであって、特許請求の範囲に記載の発明を限定し、或は範囲を減縮する様に解すべきではない。又、本発明の各部構成は上記実施の形態に限らず、特許請求の範囲に記載の技術的範囲内で種々の変形が可能であることは勿論である。
【図面の簡単な説明】
【００４８】
【図１】本発明による内接矩形検出装置の構成例を表し、（ａ）は一実施形態例のブロック図、（ｂ）は他の実施形態例のブロック図である。
【図２】本発明による内接矩形検出装置の対象階層画像決定部を示すフローチャートである。
【図３】本発明による内接矩形検出装置の最大矩形検出部における処理を示すフローチャートである。
【図４】本発明による内接矩形検出装置の他の実施形態例における要部の処理を示すフローチャートである。
【図５】本発明による内接矩形検出装置における収縮階層画像生成部の処理を説明するための説明図である。
【図６】本発明による内接矩形検出装置における最大矩形検出部の処理を説明するための説明図である。
【図７】本発明による内接矩形検出装置における復元矩形拡大部の処理を説明するための説明図である。
【図８】本発明の第１実施例における入力画像を表す説明図である。
【図９】本発明の第１実施例における、生成される収縮階層画像の説明図である。
【図１０】本発明の第１実施例における収縮効果をするために各階層画像の縦横サイズを入力画像サイズに一致させた説明図である。
【図１１】本発明の第１実施例における復元矩形を説明する説明図である。
【図１２】本発明の第１実施例における最終出力される矩形を説明する説明図である。
【図１３】本発明の第２実施例における入力画像の更新結果を表す説明図である。
【図１４】本発明の第２実施例における２回目の繰り返し処理で検出された結果を表す説明図である。
【図１５】本発明の第２実施例における３回目の繰り返し処理で検出された結果を表す説明図である。
【符号の説明】
【００４９】
１…収縮階層画像生成部、２…対象階層画像決定部、３…最大矩形検出部、４…矩形復元部、５…復元矩形拡大部、６…画像入力部、７…使用色数カウント部、８…メモリ、９…終了条件判定部、１０…入力画像更新部、１００…内接矩形検出装置。
【図１】
0004594848.tif 000002
【図２】
0004594848.tif 000003
【図３】
0004594848.tif 000004
【図４】
0004594848.tif 000005
【図５】
0004594848.tif 000006
【図６】
0004594848.tif 000007
【図７】
0004594848.tif 000008
【図８】
0004594848.tif 000009
【図９】
0004594848.tif 000010
【図１０】
0004594848.tif 000011
【図１１】
0004594848.tif 000012
【図１２】
0004594848.tif 000013
【図１３】
0004594848.tif 000014
【図１４】
0004594848.tif 000015
【図１５】
0004594848.tif 000016