(57)【要約】【課題】ノイズ成分の影響を受けにくく、かつ画素データがなだらかに変化する箇所の輪郭を抽出できる輪郭抽出装置を提供する。【解決手段】本輪郭抽出装置の制御部１００は、対象画像から１行分の画素データを順に抽出し（Ｓ２１）、得られた画素データ群により表されるデータ折れ線の凹部を検出するための２つの検出折れ線を表す２つの検出データ群を算出し（Ｓ２２）、得られた検出データ群のそれぞれと、画素データ群との差分値がともに閾値を超えないｘ座標を求めることにより、データ折れ線の凹部に対応する画素からなる輪郭位置を判定し（Ｓ２３）、以上の処理を全行に渡って繰り返す（Ｓ２４）。よって画素データを累積的に加算する場合のようにノイズ成分の影響を受けることがなく、かつ上記検出折れ線により画素データがなだらかに変化する箇所の輪郭を正確に抽出できる。【選択図】図３
2009238202.tif 000002
【特許請求の範囲】
【請求項１】
対象となる画像から輪郭を抽出する輪郭抽出装置であって、
前記画像から所定方向に配列される画素に対応する画素データ値を順番に抽出するデータ抽出部と、
前記データ抽出部により抽出される前記画素データ値を縦軸の値として横軸に沿って順に接続することにより得られるデータ折れ線が凹である部分が検出されるよう、前記画像における注目画素から前記順番において前の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される順方向値を前記注目画素に対応する縦軸の値とする順方向検出折れ線と、前記注目画素から前記順番において後の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される逆方向値を前記注目画素に対応する縦軸の値とする逆方向検出折れ線とを算出する検出折れ線算出部と、
前記データ折れ線と前記順方向検出折れ線および前記逆方向検出折れ線とに基づき、前記凹である部分に対応する画素を前記画像の輪郭と判定し抽出する輪郭判定抽出部と
を備えることを特徴とする、輪郭抽出装置。
【請求項２】
前記検出折れ線算出部は、
前記注目画素から前記順番において前の画素の画素データ値に対して１未満の正の実数を乗算した値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記順方向値に設定し、
前記注目画素から前記順番において後の画素の画素データ値に対して１未満の正の実数を乗算した値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記逆方向値に設定することを特徴とする、請求項１に記載の輪郭抽出装置。
【請求項３】
前記検出折れ線算出部は、
前記注目画素から前記順番において１つ前の画素に対応する１つ前の順方向値にα（αは１未満の正の実数）を乗算した値に対して前記注目画素の画素データ値に（１−α）を乗算した値を加算した値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記順方向値に設定し、
前記注目画素から前記順番において１つ後の画素に対応する１つ後の逆方向値にαを乗算した値に対して前記注目画素の画素データ値に（１−α）を乗算した値を加算した値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記逆方向値に設定することを特徴とする、請求項２に記載の輪郭抽出装置。
【請求項４】
前記データ抽出部は、前記画像が表示される場合における前記画像の縦方向または横方向を前記所定方向として前記画素データ値を順に抽出することを特徴とする、請求項１に記載の輪郭抽出装置。
【請求項５】
前記データ抽出部は、前記画像が表示される場合における前記画像の縦方向および横方向のそれぞれを前記所定方向として前記画素データ値をそれぞれ順に抽出し、
前記検出折れ線算出部は、前記縦方向に順に抽出された前記画素データ値に基づき、前記縦方向に対応する検出折れ線を算出するとともに、前記横方向に順に抽出された前記画素データ値に基づき、前記横方向に対応する検出折れ線を算出し、
前記輪郭判定抽出部は、前記縦方向に対応する検出折れ線に基づく前記縦方向に対応する凹である部分と、前記横方向に対応する検出折れ線に基づく前記横方向に対応する凹部分とのいずれかに対応する画素を前記画像の輪郭と判定し抽出することを特徴とする、請求項１に記載の輪郭抽出装置。
【請求項６】
前記データ抽出部は、前記画像を構成する加法混色または減法混色で表現するための各色毎の画像から前記画素データ値をそれぞれ順に抽出し、
前記検出折れ線算出部は、前記各色毎の画像それぞれについて対応する検出折れ線を算出し、
前記輪郭判定抽出部は、前記各色毎の画像それぞれについて対応する検出折れ線に基づくそれぞれの凹部分のいずれかに対応する画素を前記画像の輪郭と判定し抽出することを特徴とする、請求項１に記載の輪郭抽出装置。
【請求項７】
前記データ抽出部は、前記画素データ値として、色表現のためのＬ＊ａ＊ｂ＊におけるＬ＊を順に抽出することを特徴とする、請求項１に記載の輪郭抽出装置。
【請求項８】
前記データ抽出部は、前記画素データ値として、グレー表現のための階調値を順に抽出することを特徴とする、請求項１に記載の輪郭抽出装置。
【請求項９】
前記画像の輪郭と判定され抽出された画素に基づき、当該輪郭に囲まれる画像領域を画像構成要素として抽出する要素抽出部をさらに備えることを特徴とする、請求項１から請求項７までのいずれか１項に記載の輪郭抽出装置。
【請求項１０】
前記要素抽出部は、抽出された複数の画像構成要素のうち所定の距離以下に近接する複数の画像構成要素を同一の画像構成要素と判定することを特徴とする、請求項９に記載の輪郭抽出装置。
【請求項１１】
前記要素抽出部は、抽出された複数の画像構成要素のうちの所定の距離以下に近接する複数の画像構成要素のうち、色相に関連する値に基づき複数の画像構成要素を同一の画像構成要素と判定することを特徴とする、請求項１０に記載の輪郭抽出装置。
【請求項１２】
前記要素抽出部は、前記近接する複数の画像構成要素のうち、含まれる全ての画素の色相の平均値の差が所定値以下の近接する複数の画像構成要素を同一の画像構成要素と判定することを特徴とする、請求項１１に記載の輪郭抽出装置。
【請求項１３】
前記要素抽出部は、前記近接する複数の画像構成要素のうち、含まれる全ての画素の色相の度数分布において互いに共通する色相の度数に関連する値に応じて複数の画像構成要素を同一の画像構成要素と判定することを特徴とする、請求項１１に記載の輪郭抽出装置。
【請求項１４】
対象となる画像から輪郭を抽出する輪郭抽出方法であって、
前記画像から所定方向に配列される画素に対応する画素データ値を順番に抽出するデータ抽出ステップと、
前記データ抽出ステップにおいて抽出される前記画素データ値を縦軸の値として横軸に沿って順に接続することにより得られるデータ折れ線が凹である部分が検出されるよう、前記画像における注目画素から前記順番において前の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される順方向値を前記注目画素に対応する縦軸の値とする順方向検出折れ線と、前記注目画素から前記順番において後の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される逆方向値を前記注目画素に対応する縦軸の値とする逆方向検出折れ線とを算出する検出折れ線算出ステップと、
前記データ折れ線と前記順方向検出折れ線および前記逆方向検出折れ線とに基づき、前記凹である部分に対応する画素を前記画像の輪郭と判定し抽出する輪郭判定抽出ステップと
を備えることを特徴とする、輪郭抽出方法。
【請求項１５】
前記画像の輪郭と判定され抽出された画素に基づき、当該輪郭に囲まれる画像領域を画像構成要素として抽出する要素抽出ステップをさらに備えることを特徴とする、請求項１４に記載の輪郭抽出方法。
【請求項１６】
対象となる画像から輪郭を抽出する輪郭抽出処理を行うためコンピュータにおいて、ＣＰＵがメモリを利用して、
前記画像から所定方向に配列される画素に対応する画素データ値を順番に抽出するデータ抽出ステップと、
前記データ抽出ステップにおいて抽出される前記画素データ値を縦軸の値として横軸に沿って順に接続することにより得られるデータ折れ線が凹である部分が検出されるよう、前記画像における注目画素から前記順番において前の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される順方向値を前記注目画素に対応する縦軸の値とする順方向検出折れ線と、前記注目画素から前記順番において後の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される逆方向値を前記注目画素に対応する縦軸の値とする逆方向検出折れ線とを算出する検出折れ線算出ステップと、
前記データ折れ線と前記順方向検出折れ線および前記逆方向検出折れ線とに基づき、前記凹である部分に対応する画素を前記画像の輪郭と判定し抽出する輪郭判定抽出ステップとを実行する、輪郭抽出プログラム。
【請求項１７】
前記検出折れ線算出ステップでは、
前記注目画素から前記順番において前の画素の画素データ値に対して１未満の正の実数を乗算した値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記順方向値に設定し、
前記注目画素から前記順番において後の画素の画素データ値に対して１未満の正の実数を乗算した値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記逆方向値に設定することを特徴とする、請求項１６に記載の輪郭抽出プログラム。
【請求項１８】
前記検出折れ線算出ステップでは、
前記注目画素から前記順番において１つ前の画素に対応する１つ前の順方向値にα（αは１未満の正の実数）を乗算した値に対して前記注目画素の画素データ値に（１−α）を乗算した値を加算した値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記順方向値に設定し、
前記注目画素から前記順番において１つ後の画素に対応する１つ後の逆方向値にαを乗算した値に対して前記注目画素の画素データ値に（１−α）を乗算した値を加算した値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記逆方向値に設定することを特徴とする、請求項１７記載の輪郭抽出プログラム。
【請求項１９】
前記データ抽出ステップでは、前記画像が表示される場合における前記画像の縦方向または横方向を前記所定方向として前記画素データ値を順に抽出することを特徴とする、請求項１６に記載の輪郭抽出プログラム。
【請求項２０】
前記データ抽出ステップでは、前記画像が表示される場合における前記画像の縦方向および横方向のそれぞれを前記所定方向として前記画素データ値をそれぞれ順に抽出し、
前記検出折れ線算出ステップでは、前記縦方向に順に抽出された前記画素データ値に基づき、前記縦方向に対応する検出折れ線を算出するとともに、前記横方向に順に抽出された前記画素データ値に基づき、前記横方向に対応する検出折れ線を算出し、
前記輪郭判定抽出ステップでは、前記縦方向に対応する検出折れ線に基づく前記縦方向に対応する凹である部分と、前記横方向に対応する検出折れ線に基づく前記横方向に対応する凹部分とのいずれかに対応する画素を前記画像の輪郭と判定し抽出することを特徴とする、請求項１６に記載の輪郭抽出プログラム。
【請求項２１】
前記データ抽出ステップでは、前記画像を構成する加法混色または減法混色で表現するための各色毎の画像から前記画素データ値をそれぞれ順に抽出し、
前記検出折れ線算出ステップでは、前記各色毎の画像それぞれについて対応する検出折れ線を算出し、
前記輪郭判定抽出ステップでは、前記各色毎の画像それぞれについて対応する検出折れ線に基づくそれぞれの凹部分のいずれかに対応する画素を前記画像の輪郭と判定し抽出することを特徴とする、請求項１６に記載の輪郭抽出プログラム。
【請求項２２】
前記データ抽出ステップでは、前記画素データ値として、色表現のためのＬ＊ａ＊ｂ＊におけるＬ＊を順に抽出することを特徴とする、請求項１６に記載の輪郭抽出プログラム。
【請求項２３】
前記データ抽出ステップでは、前記画素データ値として、グレー表現のための階調値を順に抽出することを特徴とする、請求項１６に記載の輪郭抽出プログラム。
【請求項２４】
前記画像の輪郭と判定され抽出された画素に基づき、当該輪郭に囲まれる画像領域を画像構成要素として抽出する要素抽出ステップをさらに備えることを特徴とする、請求項１６から請求項２３までのいずれか１項に記載の輪郭抽出プログラム。
【請求項２５】
前記要素抽出ステップでは、抽出された複数の画像構成要素のうち所定の距離以下に近接する複数の画像構成要素を同一の画像構成要素と判定することを特徴とする、請求項２４に記載の輪郭抽出プログラム。
【請求項２６】
前記要素抽出ステップでは、抽出された複数の画像構成要素のうちの所定の距離以下に近接する複数の画像構成要素のうち、色相に関連する値に基づき複数の画像構成要素を同一の画像構成要素と判定することを特徴とする、請求項２５に記載の輪郭抽出プログラム。
【請求項２７】
前記要素抽出ステップでは、前記近接する複数の画像構成要素のうち、含まれる全ての画素の色相の平均値の差が所定値以下の近接する複数の画像構成要素を同一の画像構成要素と判定することを特徴とする、請求項２６に記載の輪郭抽出プログラム。
【請求項２８】
前記要素抽出ステップでは、前記近接する複数の画像構成要素のうち、含まれる全ての画素の色相の度数分布において互いに共通する色相の度数に関連する値に応じて複数の画像構成要素を同一の画像構成要素と判定することを特徴とする、請求項２６に記載の輪郭抽出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理技術に関し、特に、画像から輪郭を抽出する輪郭抽出装置、輪郭抽出方法および輪郭抽出プログラムに関する。
【背景技術】
【０００２】
画像処理の分野では、画像から輪郭を抽出する輪郭抽出処理がよく行われる。従来の輪郭抽出処理では、画像にエッジ検出フィルタを適用してエッジ画像を求め、エッジ画像に対して閾値判定を行うことにより、輪郭が抽出される。例えば、Ｓｏｂｅｌフィルタを用いた輪郭抽出処理では、図１３（ａ）に示す縦方向のエッジ検出フィルタを適用した画像と、図１３（ｂ）に示す横方向のエッジ検出フィルタを適用した画像とがそれぞれエッジ画像となり、得られたエッジ画像に対してそれぞれ閾値判定が行われることにより得られる２つの２値化画像を合成することにより、輪郭が抽出された画像を得ることができる。
【０００３】
輪郭抽出処理に関しては、従来から以下のような技術が知られている。特許文献１には、画像データについて１次微分値と２次微分値を求め、１次微分値の大小と２次微分値の正負に応じて画像データを補正するエッジ処理方法が開示されている。特許文献２には、頻度分布の大きいほうから２つの山を選定し、２つの山のピーク間で暗のピークから谷底に向かう下降部の中腹の点の濃度を２値化閾値として用いることが開示されている。
【特許文献１】特開２０００−３３１１７４号公報
【特許文献２】特開昭６４−８２１８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の輪郭抽出処理で用いられるエッジ検出フィルタは、典型的には画素データと周囲８個の隣接画素データとに対して演算を行う。このようなエッジ検出フィルタを用いた従来の輪郭抽出処理によれば、隣接画素間で画素データが大きく変化する箇所に存在する輪郭を抽出することができる。
【０００５】
しかしながら、画像によっては、隣接画素間で画素データが大きく変化する箇所だけでなく、画素データがなだらかに変化する箇所にも輪郭が存在する場合がある。ところが、従来の輪郭抽出処理は、画素データと周囲８個の隣接画素データとに対して演算を行うエッジ検出フィルタを使用するので、画素データがなだらかに変化する箇所に存在する輪郭を抽出することができない。このように従来の輪郭抽出処理では、輪郭を正しく抽出できないことがある。
【０００６】
この点、画素データと近接する範囲であって隣接する範囲よりもさらに広い範囲の画素データ値（の差）を累積加算することも考えられるが、このように画素データ値（の差）を単純に累積加算すれば、画像に含まれるノイズ成分もまた単純に累積加算されることになる。したがってその結果として得られる輪郭抽出結果もまたこのノイズ成分の影響を受けやすくなる。
【０００７】
したがって本発明は、ノイズ成分の影響を受けにくく、かつ画素データがなだらかに変化する箇所に存在する輪郭を抽出できる輪郭抽出装置、輪郭抽出方法および輪郭抽出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の発明は、対象となる画像から輪郭を抽出する輪郭抽出装置であって、
前記画像から所定方向に配列される画素に対応する画素データ値を順番に抽出するデータ抽出部と、
前記データ抽出部により抽出される前記画素データ値を縦軸の値として横軸に沿って順に接続することにより得られるデータ折れ線が凹である部分が検出されるよう、前記画像における注目画素から前記順番において前の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される順方向値を前記注目画素に対応する縦軸の値とする順方向検出折れ線と、前記注目画素から前記順番において後の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される逆方向値を前記注目画素に対応する縦軸の値とする逆方向検出折れ線とを算出する検出折れ線算出部と、
前記データ折れ線と前記順方向検出折れ線および前記逆方向検出折れ線とに基づき、前記凹である部分に対応する画素を前記画像の輪郭と判定し抽出する輪郭判定抽出部と
を備えることを特徴とする。
【０００９】
第２の発明は、第１の発明において、
前記検出折れ線算出部は、
前記注目画素から前記順番において前の画素の画素データ値に対して１未満の正の実数を乗算した値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記順方向値に設定し、
前記注目画素から前記順番において後の画素の画素データ値に対して１未満の正の実数を乗算した値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記逆方向値に設定することを特徴とする。
【００１０】
第３の発明は、第２の発明において、
前記検出折れ線算出部は、
前記注目画素から前記順番において１つ前の画素に対応する１つ前の順方向値にα（αは１未満の正の実数）を乗算した値に対して前記注目画素の画素データ値に（１−α）を乗算した値を加算した値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記順方向値に設定し、
前記注目画素から前記順番において１つ後の画素に対応する１つ後の逆方向値にαを乗算した値に対して前記注目画素の画素データ値に（１−α）を乗算した値を加算した値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記逆方向値に設定することを特徴とする。
【００１１】
第４の発明は、第１の発明において、
前記データ抽出部は、前記画像が表示される場合における前記画像の縦方向または横方向を前記所定方向として前記画素データ値を順に抽出することを特徴とする。
【００１２】
第５の発明は、第１の発明において、
前記データ抽出部は、前記画像が表示される場合における前記画像の縦方向および横方向のそれぞれを前記所定方向として前記画素データ値をそれぞれ順に抽出し、
前記検出折れ線算出部は、前記縦方向に順に抽出された前記画素データ値に基づき、前記縦方向に対応する検出折れ線を算出するとともに、前記横方向に順に抽出された前記画素データ値に基づき、前記横方向に対応する検出折れ線を算出し、
前記輪郭判定抽出部は、前記縦方向に対応する検出折れ線に基づく前記縦方向に対応する凹である部分と、前記横方向に対応する検出折れ線に基づく前記横方向に対応する凹部分とのいずれかに対応する画素を前記画像の輪郭と判定し抽出することを特徴とする。
【００１３】
第６の発明は、第１の発明において、
前記データ抽出部は、前記画像を構成する加法混色または減法混色で表現するための各色毎の画像から前記画素データ値をそれぞれ順に抽出し、
前記検出折れ線算出部は、前記各色毎の画像それぞれについて対応する検出折れ線を算出し、
前記輪郭判定抽出部は、前記各色毎の画像それぞれについて対応する検出折れ線に基づくそれぞれの凹部分のいずれかに対応する画素を前記画像の輪郭と判定し抽出することを特徴とする。
【００１４】
第７の発明は、第１の発明において、
前記データ抽出部は、前記画素データ値として、色表現のためのＬ＊ａ＊ｂ＊におけるＬ＊を順に抽出することを特徴とする。
【００１５】
第８の発明は、第１の発明において、
前記データ抽出部は、前記画素データ値として、グレー表現のための階調値を順に抽出することを特徴とする。
【００１６】
第９の発明は、第１から第８までのいずれか１つの発明において、
前記画像の輪郭と判定され抽出された画素に基づき、当該輪郭に囲まれる画像領域を画像構成要素として抽出する要素抽出部をさらに備えることを特徴とする。
【００１７】
第１０の発明は、第９の発明において、
前記要素抽出部は、抽出された複数の画像構成要素のうち所定の距離以下に近接する複数の画像構成要素を同一の画像構成要素と判定することを特徴とする。
【００１８】
第１１の発明は、第１０の発明において、
前記要素抽出部は、抽出された複数の画像構成要素のうちの所定の距離以下に近接する複数の画像構成要素のうち、色相に関連する値に基づき複数の画像構成要素を同一の画像構成要素と判定することを特徴とする。
【００１９】
第１２の発明は、第１１の発明において、
前記要素抽出部は、前記近接する複数の画像構成要素のうち、含まれる全ての画素の色相の平均値の差が所定値以下の近接する複数の画像構成要素を同一の画像構成要素と判定することを特徴とする。
【００２０】
第１３の発明は、第１１の発明において、
前記要素抽出部は、前記近接する複数の画像構成要素のうち、含まれる全ての画素の色相の度数分布において互いに共通する色相の度数に関連する値に応じて複数の画像構成要素を同一の画像構成要素と判定することを特徴とする。
【００２１】
第１４の発明は、対象となる画像から輪郭を抽出する輪郭抽出方法であって、
前記画像から所定方向に配列される画素に対応する画素データ値を順番に抽出するデータ抽出ステップと、
前記データ抽出ステップにおいて抽出される前記画素データ値を縦軸の値として横軸に沿って順に接続することにより得られるデータ折れ線が凹である部分が検出されるよう、前記画像における注目画素から前記順番において前の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される順方向値を前記注目画素に対応する縦軸の値とする順方向検出折れ線と、前記注目画素から前記順番において後の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される逆方向値を前記注目画素に対応する縦軸の値とする逆方向検出折れ線とを算出する検出折れ線算出ステップと、
前記データ折れ線と前記順方向検出折れ線および前記逆方向検出折れ線とに基づき、前記凹である部分に対応する画素を前記画像の輪郭と判定し抽出する輪郭判定抽出ステップと
を備えることを特徴とする。
【００２２】
第１５の発明は、前記画像の輪郭と判定され抽出された画素に基づき、当該輪郭に囲まれる画像領域を画像構成要素として抽出する要素抽出ステップをさらに備えることを特徴とする。
【００２３】
第１６の発明は、対象となる画像から輪郭を抽出する輪郭抽出処理を行うためコンピュータにおいて、ＣＰＵがメモリを利用して、
前記画像から所定方向に配列される画素に対応する画素データ値を順番に抽出するデータ抽出ステップと、
前記データ抽出ステップにおいて抽出される前記画素データ値を縦軸の値として横軸に沿って順に接続することにより得られるデータ折れ線が凹である部分が検出されるよう、前記画像における注目画素から前記順番において前の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される順方向値を前記注目画素に対応する縦軸の値とする順方向検出折れ線と、前記注目画素から前記順番において後の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される逆方向値を前記注目画素に対応する縦軸の値とする逆方向検出折れ線とを算出する検出折れ線算出ステップと、
前記データ折れ線と前記順方向検出折れ線および前記逆方向検出折れ線とに基づき、前記凹である部分に対応する画素を前記画像の輪郭と判定し抽出する輪郭判定抽出ステップとを実行するプログラムである。
【００２４】
第１７の発明は、第１６の発明において、
前記検出折れ線算出ステップでは、
前記注目画素から前記順番において前の画素の画素データ値に対して１未満の正の実数を乗算した値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記順方向値に設定し、
前記注目画素から前記順番において後の画素の画素データ値に対して１未満の正の実数を乗算した値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記逆方向値に設定することを特徴とする。
【００２５】
第１８の発明は、第１７の発明において、
前記検出折れ線算出ステップでは、
前記注目画素から前記順番において１つ前の画素に対応する１つ前の順方向値にα（αは１未満の正の実数）を乗算した値に対して前記注目画素の画素データ値に（１−α）を乗算した値を加算した値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記順方向値に設定し、
前記注目画素から前記順番において１つ後の画素に対応する１つ後の逆方向値にαを乗算した値に対して前記注目画素の画素データ値に（１−α）を乗算した値を加算した値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記逆方向値に設定することを特徴とする。
【００２６】
第１９の発明は、第１６の発明において、
前記データ抽出ステップでは、前記画像が表示される場合における前記画像の縦方向または横方向を前記所定方向として前記画素データ値を順に抽出することを特徴とする。
【００２７】
第２０の発明は、第１６の発明において、
前記データ抽出ステップで部は、前記画像が表示される場合における前記画像の縦方向および横方向のそれぞれを前記所定方向として前記画素データ値をそれぞれ順に抽出し、
前記検出折れ線算出ステップでは、前記縦方向に順に抽出された前記画素データ値に基づき、前記縦方向に対応する検出折れ線を算出するとともに、前記横方向に順に抽出された前記画素データ値に基づき、前記横方向に対応する検出折れ線を算出し、
前記輪郭判定抽出ステップでは、前記縦方向に対応する検出折れ線に基づく前記縦方向に対応する凹である部分と、前記横方向に対応する検出折れ線に基づく前記横方向に対応する凹部分とのいずれかに対応する画素を前記画像の輪郭と判定し抽出することを特徴とする。
【００２８】
第２１の発明は、第１６の発明において、
前記データ抽出ステップでは、前記画像を構成する加法混色または減法混色で表現するための各色毎の画像から前記画素データ値をそれぞれ順に抽出し、
前記検出折れ線算出ステップでは、前記各色毎の画像それぞれについて対応する検出折れ線を算出し、
前記輪郭判定抽出ステップでは、前記各色毎の画像それぞれについて対応する検出折れ線に基づくそれぞれの凹部分のいずれかに対応する画素を前記画像の輪郭と判定し抽出することを特徴とする。
【００２９】
第２２の発明は、第１６の発明において、
前記データ抽出ステップでは、前記画素データ値として、色表現のためのＬ＊ａ＊ｂ＊におけるＬ＊を順に抽出することを特徴とする。
【００３０】
第２３の発明は、第１６の発明において、
前記データ抽出ステップでは、前記画素データ値として、グレー表現のための階調値を順に抽出することを特徴とする。
【００３１】
第２４の発明は、第１６から第２３までのいずれかの１つの発明において、
前記画像の輪郭と判定され抽出された画素に基づき、当該輪郭に囲まれる画像領域を画像構成要素として抽出する要素抽出ステップをさらに備えることを特徴とする。
【００３２】
第２５の発明は、第２４の発明において、
前記要素抽出ステップでは、抽出された複数の画像構成要素のうち所定の距離以下に近接する複数の画像構成要素を同一の画像構成要素と判定することを特徴とする。
【００３３】
第２６の発明は、第２５の発明において、
前記要素抽出ステップでは、抽出された複数の画像構成要素のうちの所定の距離以下に近接する複数の画像構成要素のうち、色相に関連する値に基づき複数の画像構成要素を同一の画像構成要素と判定することを特徴とする。
【００３４】
第２７の発明は、第２６の発明において、
前記要素抽出ステップでは、前記近接する複数の画像構成要素のうち、含まれる全ての画素の色相の平均値の差が所定値以下の近接する複数の画像構成要素を同一の画像構成要素と判定することを特徴とする。
【００３５】
第２８の発明は、第２６の発明において、
前記要素抽出ステップでは、前記近接する複数の画像構成要素のうち、含まれる全ての画素の色相の度数分布において互いに共通する色相の度数に関連する値に応じて複数の画像構成要素を同一の画像構成要素と判定することを特徴とする。
【発明の効果】
【００３６】
上記第１の発明によれば、データ折れ線が凹である部分が検出されるよう、順方向検出折れ線および逆方向検出折れ線とが算出され、これらに基づきデータ折れ線が凹である部分に対応する画素が画像の輪郭と判定され抽出されるので、画素データを累積的に加算する場合のようにノイズ成分の影響を受けることがなく、かつ画素データがなだらかに変化する箇所に存在する輪郭を正確に抽出することができる。
【００３７】
上記第２の発明によれば、注目画素の前の画素の画素データ値に対して１未満の正の実数を乗算した値に基づき算出される値を使用するので、画素データを累積的に単純加算する場合に生じるようなノイズ成分の影響を受けることがなく、かつ画素データがなだらかに変化する箇所に存在する輪郭を正確に抽出することができる。
【００３８】
上記第３の発明によれば、場合により１つ前の順方向値が（１−α）：αの内分比に応じて（その割合で）順方向値に反映されるので、結果として注目画素の画素データ値の順方向の変化を検出することが可能となり、同様にその逆方向の変化も検出することが可能となるので、画素データがなだらかに変化する凹部に存在する輪郭をも正確に抽出することができる。
【００３９】
上記第４の発明によれば、画像の縦方向または横方向の輪郭を抽出するので、画素データの配列順に従って容易に輪郭抽出を行うことができる。
【００４０】
上記第５の発明によれば、画像の縦方向および横方向の輪郭をともに抽出するので、画素データの配列順に従って容易に輪郭抽出を行うことができるとともに、画像の縦方向または横方向に沿った輪郭も確実に抽出することができる。
【００４１】
上記第６の発明によれば、各色毎の画像それぞれについて輪郭のいずれかを画像全体の輪郭と判定し抽出するので、色毎に偏りなく輪郭を抽出することができる。
【００４２】
上記第７の発明によれば、Ｌ＊ａ＊ｂ＊表色系におけるＬ＊についての輪郭を画像全体の輪郭と判定し抽出するので、Ｌ＊のみについて判定する簡単な構成で輪郭を抽出することができる。
【００４３】
上記第８の発明によれば、グレー表現のための階調値についての輪郭を抽出するので、簡単な構成で輪郭を抽出することができる。
【００４４】
上記第９の発明によれば、要素抽出部により、画素の色情報（典型的には色相情報）が使用されない輪郭抽出結果に基づき、輪郭に囲まれる画像領域を画像構成要素として抽出されるので、例えば顔検出機能などを実現するため画像における特定の構成要素を区別する場合、抽出された複数の構成要素が実際には同じ構成要素であるときにはこれらを色情報を使用することにより判別することが可能となる。
【００４５】
上記第１０の発明によれば、近接する要素候補が同一の構成要素である可能性が高いことから、その距離に基づき簡便な方法で同一の構成要素を判別することができる。
【００４６】
上記第１１の発明によれば、近接しているため同一の構成要素である可能性が高い要素候補の色相に関連する値に基づき簡便な方法で正確に同一の構成要素を判別することができる。
【００４７】
上記第１２の発明によれば、色相の平均値の計算は容易であるため、色相が類似する同一の構成要素を高速に判別することができる。
【００４８】
上記第１３の発明によれば、色相の度数分布を使用するため色相が類似する同一の構成要素を正確に判別することができる。
【００４９】
上記第１４の発明によれば、第１の発明と同様の効果を輪郭抽出方法において奏することができる。
【００５０】
上記第１５の発明によれば、第９の発明と同様の効果を輪郭抽出方法において奏することができる。
【００５１】
上記第１６から第２８までの発明によれば、上記第１から第１３までの発明にそれぞれ対応する効果と同様の効果を輪郭抽出プログラムにおいて奏することができる。
【発明を実施するための最良の形態】
【００５２】
以下、本発明の一実施形態について添付図面を参照して説明する。
＜１．  輪郭抽出装置の構成＞
図１は、本発明の一実施形態に係る輪郭抽出装置の構成を示すブロック図である。この輪郭抽出装置１０は、一般的なパーソナルコンピュータにオペレーティングシステムや所定のアプリケーション・ソフトウェアをインストールすることにより構成されており、ＣＰＵ（Central Processing Unit）および半導体メモリなどにより構成される制御部１００と、ハードディスクなどの磁気記憶媒体を含む記憶部１２０と、ＣＲＴディスプレイまたはＬＣＤ等からなる表示部１４０と、スキャナーなどの画像入力装置とキーボードやマウス等の操作入力装置とを含む入力部１６０とを備える。
【００５３】
輪郭抽出装置１０に含まれる制御部１００は、入力部１６０や図示されない通信部などを介して受け付けられた入力画像に対して後述する輪郭抽出を行うことにより、輪郭が抽出された画像（「エッジ画像」ともいう）を出力する機能を有している。この制御部１００の詳しい動作については後述する。
【００５４】
なお、制御部１００の上記機能は、半導体メモリに格納された所定の輪郭抽出プログラムＰ（例えば輪郭抽出のためのアプリケーションソフトウェア）をＣＰＵが実行することにより実現される。ここで、上記輪郭抽出プログラムＰは、例えば、そのプログラムを記録した記録媒体であるＣＤ−ＲＯＭによって提供される。すなわち、上記輪郭抽出プログラムＰの記録媒体としてのＣＤ−ＲＯＭが輪郭抽出装置１０内に補助記憶装置として内蔵された図示されないＣＤ−ＲＯＭ駆動装置に装着され、そのＣＤ−ＲＯＭから輪郭抽出プログラムＰが読み出されて記憶部１２０であるハードディスク装置にインストールされる。また、上記輪郭抽出プログラムＰは、ＣＤ−ＲＯＭ以外の記録媒体や通信回線を介して提供されてもよい。そして、本輪郭抽出装置１０の起動のための所定操作がなされると、ハードディスク装置にインストールされた輪郭抽出プログラムＰは、上記半導体メモリに転送されてそこに一時的に格納され、制御部１００内のＣＰＵによって実行される。これにより、制御部１００の各部の制御処理が実現される。
【００５５】
＜２．  輪郭抽出装置の全体的な動作＞
次に、輪郭抽出装置１０の全体的な動作について説明する。図２は、この輪郭抽出装置１０の全体的な処理の流れを示すフローチャートである。この図２に示すステップＳ１（初期設定処理）において、輪郭抽出装置１０に含まれる制御部１００は、典型的には利用者の開始指示を受け取ることにより、まず利用者等により選択され輪郭補正処理の対象となるべき画像データを決定する。また、後述する処理に必要な各値を初期化する。
【００５６】
ステップＳ２（横方向処理）では、ステップＳ１において決定された画像から横方向に順に（行方向に画素列の順に）画素データを取得し、この画素データにより形成される後述するデータ折れ線の凹部に対応する画素を画像の輪郭と決定する処理を（縦方向へ順に１行ずつ）全行に渡って行う。
【００５７】
ステップＳ３（縦方向処理）では、ステップＳ１において決定された画像から縦方向に順に（列方向に画素行の順に）画素データを取得し、この画素データにより形成される後述するデータ折れ線の凹部に対応する画素を画像の輪郭と決定する処理を（横方向へ順に１列ずつ）全列に渡って行う。
【００５８】
ステップＳ４（輪郭合成処理）では、ステップＳ２において決定された画像の輪郭とステップＳ３において決定された画像の輪郭とを合成する（典型的には論理和演算を行う）ことにより（最終的な）画像の輪郭を抽出する処理が行われる。
【００５９】
その後、本輪郭抽出装置１０は一旦処理を終了し、典型的には利用者により他の画像データについての輪郭抽出処理を開始するための指示が与えられるときに、再び上記処理が開始される。
【００６０】
＜３．  輪郭抽出装置の各処理動作＞
次に、輪郭抽出装置１０による横方向処理（ステップＳ２）の動作について詳しく説明する。図３は、この横方向処理（ステップＳ２）の詳細な処理の詳細な流れを示すフローチャートである。
【００６１】
この図３に示すステップＳ２１において、制御部１００は、ステップＳ１において決定された画像から１行分の画素データを順に抽出する。なお説明の便宜上、ここでの画像はグレー画像であって、この画像に含まれる画素データは、１行につき４０個（４０列）であり、この画像データであるグレー表現のための階調値（グレースケール値）は、０から３００までの範囲の値であるものとする。したがって、画素の横方向の位置すなわちｘ座標をｘ（＝１〜４０）とするとき、この画素データ（階調値）群をＦ（ｘ）と表す。
【００６２】
ここで、上記階調値を縦軸とし、画素のｘ座標を横軸として上記画素データを配置した後、これらを直線で結んでグラフ化すると、画素データを折れ点とした折れ線が得られる。この折れ線を以下ではデータ折れ線ｆ（ｘ）と呼ぶ。
【００６３】
次に、ステップＳ２２において、制御部１００は、ステップＳ２１において得られた画素データ群Ｆ（ｘ）により表されるデータ折れ線ｆ（ｘ）の凹部を検出するための２つの検出折れ線ｇ１（ｘ），ｇ２（ｘ）を表す２つの検出データ群Ｇ１（ｘ），Ｇ２（ｘ）を算出する。
【００６４】
ここで、データ折れ線ｆ（ｘ）の凹部は、典型的にはその左右端近傍から中央近傍にかけて階調値が減少する部分を指す。この凹部を検出するためには微分値に基づく方法など各種方法が考えられる。本実施形態では、簡単な計算で算出が可能であり、なだらかに変化する凹部についても正確に検出が可能なように、かつ画素データ（の差）を単純に累積加算することでノイズ成分の影響を受けることのないように、ｘ座標が増加する方向におけるデータ折れ線ｆ（ｘ）の変化を反映するよう設定された順方向検出折れ線ｇ１（ｘ）と、ｘ座標が減少する方向におけるデータ折れ線ｆ（ｘ）の変化を反映するよう設定された逆方向検出折れ線ｇ２（ｘ）とを設定する。
【００６５】
すなわち、前述した従来の輪郭抽出処理のように、画素データと周囲８個の隣接画素データとに対して演算を行うエッジ検出フィルタを使用する場合、画素データがなだらかに変化する箇所に存在する輪郭を正しく抽出することができない。この点、画素データの変化を示す曲線の傾きが連続して正である部分と連続して負である部分とを累積することにより曲線が凸となっている部分を判定すれば、画素データがなだらかに変化する箇所に存在する輪郭を抽出することができる。例えば、入力画像から抽出された縦方向の画素データの配列について、隣接データとの差を算出し、後から前へ向かう順に０以上の差を累積加算し、前から後へ向かう順に０以上の差を累積加算し、これら２つの累積値の差を算出し、得られた評価値に対して閾値判定を行い、また横方向の画素データの配列に対しても同じ処理を行い、得られた２つの閾値判定結果に対して論理演算を行う構成が考えられる。このように、配列内で前方および後方にある直近の極大値との差に基づく評価値を算出し、評価値に対して閾値判定を行うことにより輪郭抽出結果を求めれば画素データがなだらかに変化する箇所に存在する輪郭を抽出することができる。
【００６６】
しかし、このように画素データ値（の差）を単純に累積加算すれば、画像に含まれるノイズ成分もまた単純に累積加算されることになる。したがってその結果として得られる輪郭抽出結果もまたこのノイズ成分の影響を受けやすくなる。そこで本実施形態では、後述するように算出された検出折れ線ｇ１（ｘ），ｇ２（ｘ）とデータ折れ線ｆ（ｘ）との差分値を参照することにより凹部を検出する。以下、検出データ群Ｇ１（ｘ），Ｇ２（ｘ）の算出方法を具体的に説明する。
【００６７】
まず、順方向検出折れ線ｇ１（ｘ）を表す順方向検出データ群Ｇ１（ｘ）は、ｘを１から４０まで順に変化させるものとするとき、得られる値が画素データ群Ｆ（ｘ）未満の場合には次式（１）のように表すことができる。ただしαは１未満の正の実数であるものとする。
Ｇ１（ｘ）＝αＦ（ｘ）＋（１−α）Ｇ１（ｘ−１）    …（１）
【００６８】
また、後述する差分値の参照を簡単にするため、順方向検出データ群Ｇ１（ｘ）は、上式（１）により得られる値が画素データ群Ｆ（ｘ）以上の場合には次式（２）のように表す。
Ｇ１（ｘ）＝Ｆ（ｘ）    …（２）
【００６９】
すなわち、順方向検出データ群Ｇ１（ｘ）の値は、画素データ群Ｆ（ｘ）の値と、１つ前の順方向検出データ群Ｇ１（ｘ−１）の値とを（１−α）：αに内分した値として設定する。このことにより、１つ前の順方向検出データ群Ｇ１（ｘ−１）の値が上記内分比に応じて（その割合で）順方向検出データ群Ｇ１（ｘ）の値に反映されることになるので、結果として画素データ群Ｆ（ｘ）の値の順方向の変化を検出することが可能となる。ただし、後述する差分値の参照を簡単にするため（具体的には比較のための差分値を正の値に保つため）、上式（１）により算出される順方向検出データ群Ｇ１（ｘ）の値が画素データ群Ｆ（ｘ）の値以上の場合には、順方向検出データ群Ｇ１（ｘ）の値を画素データ群Ｆ（ｘ）の値に設定する。
【００７０】
なおここでは、順方向検出データ群Ｇ１（ｘ）は、上式（１）により得られる値が画素データ群Ｆ（ｘ）以上の場合には次式（２）のように表すものとした。すなわちαＦ（ｘ）＋（１−α）Ｇ１（ｘ−１）により得られる値と、画素データ群Ｆ（ｘ）の値とのうちいずれか小さい方の値であるものとした。しかしこれに代えて、順方向検出データ群Ｇ１（ｘ）は、１つ前の順方向検出データ群Ｇ１（ｘ−１）の値が画素データ群Ｆ（ｘ）の値より大きい場合（すなわちＧ１（ｘ−１）＜Ｆ（ｘ）のとき）には上式（１）により算出し、画素データ群Ｆ（ｘ）の値以下の場合（すなわちＧ１（ｘ−１）≧Ｆ（ｘ）のとき）には上式（２）により算出するとしてもよい。この後者の条件式は前者の条件式と同一の意味である。例えば後者のＧ１（ｘ−１）≧Ｆ（ｘ）の不等式の両辺に（１−α）を乗算して上式（１）を代入し整理すれば、Ｇ１（ｘ）≧Ｆ（ｘ）となる。したがって、上記条件式は上式（１）により得られる値が画素データ群Ｆ（ｘ）以上の場合であることと同義であることがわかる。もっとも、前者の構成では必ず式（１）の計算を行わなければならないので、実際には計算量の少ない後者の構成が好ましい。
【００７１】
また１つ前の順方向検出データ群Ｇ１（ｘ−１）の値が１未満のαの割合で順方向検出データ群Ｇ１（ｘ）の値に反映される以上、対応する画素それぞれにノイズ成分が含まれている場合であってもそれらが単純に累積されるわけではなく、ノイズ成分の影響が抑制される。さらに上記１未満のαの値によりノイズ成分の影響は指数関数的に減少するので、得られる輪郭抽出結果に対するノイズ成分の影響が十分に抑制されることになる。
【００７２】
このように、制御部１００により、順方向検出データ群Ｇ１（ｘ）の値は、ｘを１から４０まで順に変化させて上式（１）により算出されるが、上式（１）により得られた値が画素データ群Ｆ（ｘ）の値以上である場合にのみ上式（２）により算出される。
【００７３】
次に、逆方向検出折れ線ｇ２（ｘ）を表す逆方向検出データ群Ｇ２（ｘ）は、ｘを４０から１まで（逆の）順に変化させるものとするとき、得られる値が画素データ群Ｆ（ｘ）未満の場合には次式（１）のように表すことができる。
Ｇ２（ｘ）＝αＦ（ｘ）＋（１−α）Ｇ２（ｘ＋１）    …（３）
【００７４】
また、後述する差分値の参照を簡単にするため、逆方向検出データ群Ｇ２（ｘ）は、上式（３）により得られる値が画素データ群Ｆ（ｘ）以上の場合には次式（４）のように表す。
Ｇ２（ｘ）＝Ｆ（ｘ）    …（４）
【００７５】
すなわち、逆方向検出データ群Ｇ２（ｘ）の値は、画素データ群Ｆ（ｘ）の値と、１つ後の逆方向検出データ群Ｇ２（ｘ＋１）の値とを（１−α）：αに内分した値として設定する。このことにより、１つ後の逆方向検出データ群Ｇ２（ｘ＋１）の値が上記内分比に応じて（その割合で）逆方向検出データ群Ｇ２（ｘ）の値に反映されることになるので、結果として画素データ群Ｆ（ｘ）の値の逆方向の変化を検出することが可能となる。ただし、後述する差分値の参照を簡単にするため、上式（３）により算出される逆方向検出データ群Ｇ２（ｘ）の値が画素データ群Ｆ（ｘ）の値以上の場合には、逆方向検出データ群Ｇ２（ｘ）の値を画素データ群Ｆ（ｘ）の値に設定する。
【００７６】
なお、逆方向検出データ群Ｇ２（ｘ）の値も、上式（３）により得られる値が画素データ群Ｆ（ｘ）以上の場合には次式（４）のように表すものとしたが、これに代えて、逆方向検出データ群Ｇ２（ｘ）は、１つ後の逆方向検出データ群Ｇ２（ｘ＋１）の値が画素データ群Ｆ（ｘ）の値より大きい場合（すなわちＧ２（ｘ＋１）＜Ｆ（ｘ）のとき）には上式（３）により算出し、画素データ群Ｆ（ｘ）の値以下の場合（すなわちＧ２（ｘ＋１）≧Ｆ（ｘ）のとき）には上式（４）により算出するとしてもよい。
【００７７】
また、１つ後の逆方向検出データ群Ｇ２（ｘ＋１）の値が１未満のαの割合で逆方向検出データ群Ｇ２（ｘ）の値に反映される点で、前述したように輪郭抽出結果に対するノイズ成分の影響を十分に抑制することができる。
【００７８】
このように、制御部１００により、逆方向検出データ群Ｇ２（ｘ）の値は、ｘを４０から１まで（逆の）順に変化させて上式（３）により算出されるが、上式（３）により得られた値が画素データ群Ｆ（ｘ）の値以上である場合にのみ上式（４）により算出される。
【００７９】
続いて、ステップＳ２３において、制御部１００は、ステップＳ２２において得られた検出データ群Ｇ１（ｘ），Ｇ２（ｘ）のそれぞれと、画素データ群Ｆ（ｘ）との差分値がともに所定の閾値を超えないｘ座標を求めることにより、データ折れ線ｆ（ｘ）の凹部に対応する画素により構成される輪郭の位置を判定する。
【００８０】
すなわち、上記閾値をβ（例えばβ＝１０）とするとき、次式（５）および次式（６）をともに満たすｘ座標に対応する画素が輪郭を構成するものと判定する。
Ｆ（ｘ）−Ｇ１（ｘ）≦β    …（５）
Ｆ（ｘ）−Ｇ２（ｘ）≦β    …（６）
【００８１】
なお、上記閾値βは予め定められた値であってもよいし、輪郭抽出の対象となる画像の特性等に応じて算出される値であってもよい。以上の輪郭抽出について、さらに図４および図５を参照して具体的に説明する。
【００８２】
図４は、上記データ折れ線ｆ（ｘ）および検出折れ線ｇ１（ｘ），ｇ２（ｘ）を示す図である。この図４において、四角形の座標点およびこれらを結ぶ実線で示される折れ線はデータ折れ線ｆ（ｘ）であり、円形の座標点およびこれらを結ぶ点線で示される折れ線は順方向折れ線ｇ１（ｘ）であり、三角形の座標点およびこれらを結ぶ一点鎖線で示される折れ線は逆方向折れ線ｇ２（ｘ）である。
【００８３】
また図５は、上記データ折れ線ｆ（ｘ）の値と検出折れ線ｇ１（ｘ），ｇ２（ｘ）の値との差分値を示す図である。この図５において、円形の座標点およびこれらを結ぶ線で示される折れ線はデータ折れ線ｆ（ｘ）の値から順方向折れ線ｇ１（ｘ）の値を差し引いた値を示す折れ線であり、三角形の座標点およびこれらを結ぶ線で示される折れ線はデータ折れ線ｆ（ｘ）の値から逆方向折れ線ｇ２（ｘ）の値を差し引いた値を示す折れ線である。
【００８４】
これら図４および図５に示されるように、データ折れ線ｆ（ｘ）の凹部である、ｘ座標が６から１２付近、１７から１９付近、２３から２５付近、２７付近、２９および３０付近、３６から４０付近では、Ｆ（ｘ）−Ｇ１（ｘ）およびＦ（ｘ）−Ｇ２（ｘ）はともにβ（＝１０）以下になっていることがわかる。したがって、上式（５）および上式（６）を満たすｘの範囲は、データ折れ線ｆ（ｘ）の凹部に対応しており、これらの画素により輪郭が構成されると判定することができる。特に、ｘ座標が６から１２付近、３６から４０付近では、データ折れ線ｆ（ｘ）がなだらかに変化しているが、これらの凹部についても正確に輪郭の判定が行われていることがわかる。
【００８５】
次に、図３に示されるステップＳ２４において、制御部１００は、輪郭抽出の対象となる画像の全ての行に渡ってステップＳ２１における画素データの取得が行われたか否かを判定する。この判定の結果、全て取得された場合（ステップＳ２４においてＹｅｓの場合）には上記一連の処理を終了して図２に示されるステップＳ３の処理へ移り、全て取得されていない場合（ステップＳ２４においてＮｏの場合）には、ステップＳ２１の処理に戻り、全てが取得されるまで上記処理が繰り返される（Ｓ２４→Ｓ２１→…→Ｓ２４ ）。
【００８６】
以上のようにして横方向処理（ステップＳ２）が終了すると、続いて図２に示される縦方向処理（ステップＳ３）が開始される。図６は、この縦方向処理（ステップＳ３）の詳細な処理の流れを示すフローチャートである。この図６に示される処理の流れを図３に示される処理の流れと比較すればわかるように、図６に示されるステップＳ３１では、画素データの取得方向が縦方向（１列分）である点で図３に示されるステップＳ２１と異なり、図６に示されるステップＳ３４では、全列について画素データを取得したか否かを判定する点で図３に示されるステップＳ２４と異なるほか、同様の処理が行われる。よって、その処理の詳細な説明は省略する。
【００８７】
以上のようにして縦方向処理（ステップＳ３）が終了すると、続いて図２に示される輪郭合成処理（ステップＳ４）が開始される。このステップＳ４において、制御部１００は、ステップＳ２およびステップＳ３においてそれぞれ輪郭として判定された画素を合成する。具体的には、それぞれの論理和をとり、ステップＳ２またはステップＳ３の少なくとも一方において輪郭として判定された画素を含む画像を輪郭が抽出された画像として出力する。このように、縦方向および横方向に対する輪郭をともに抽出するので、縦方向または横方向に沿った輪郭も確実に抽出することができる。
【００８８】
図７は、この輪郭が抽出された画像の例を示す図である。この輪郭が抽出された画像は、例えば８ビットのグレースケール画像に対して上記輪郭抽出のための各処理を行った結果として得られる画像である。この図７では、頭髪の境界部分など画素データがなだらかに変化する箇所に存在する輪郭が正確に抽出されており、かつノイズに影響されない細密な輪郭が得られることがわかる。
【００８９】
以上のように、本輪郭抽出装置１０における制御部１００は、対象となる画像から縦方向または横方向に配列される画素に対応する画素データ値を順に抽出する機能（データ抽出部）と、データ折れ線の変化を反映するような順方向検出折れ線および逆方向算出折れ線を算出する機能（検出折れ線算出部）と、データ折れ線と検出折れ線とに基づきデータ折れ線の凹部に対応する画素を画像の輪郭と判定し抽出する機能（輪郭判定抽出部）とを備えている。
【００９０】
＜４．  効果＞
このように、本輪郭抽出装置１０は、データ折れ線ｆ（ｘ）の変化を反映するよう設定された順方向検出折れ線ｇ１（ｘ）および逆方向検出折れ線ｇ２（ｘ）を設定し、これらの検出折れ線の値とデータ折れ線ｆ（ｘ）の値との差分値を参照することにより輪郭を判定するので、画素データを累積的に単純加算する場合のようにノイズ成分の影響を受けることがなく、かつ画素データがなだらかに変化する箇所に存在する輪郭を正確に抽出することができる。
【００９１】
＜５．  変形例＞
上記実施形態では、順方向検出データ群Ｇ１（ｘ）および逆方向検出データ群Ｇ２（ｘ）の値は、上式（１）から上式（４）までに基づき算出されるが、これらの算出式に限定されるわけではなく、注目画素より前の画素の画素データ値に基づき算出される値と、注目画素の画素データ値とのうち、いずれか小さい方の値に順方向検出データ群Ｇ１（ｘ）を設定し、注目画素より後の画素の画素データ値に基づき算出される値と、注目画素の画素データ値とのうち、いずれか小さい方の値に逆方向検出データ群Ｇ２（ｘ）の値を設定する構成であればよい。もっとも、順方向検出データ群Ｇ１（ｘ）の値が前の画素データ値に対して１未満の正の実数を乗算した値に基づき算出される値と、注目画素の画素データ値とのうち、いずれか小さい方の値に設定され、また逆方向検出データ群Ｇ２（ｘ）の値が前の画素データ値に対して１未満の正の実数を乗算した値に基づき算出される値と、注目画素の画素データ値とのうち、いずれか小さい方の値に設定される場合には、画素データを累積的に単純加算する場合に生じるようなノイズ成分の影響を受けることがなく、かつ画素データがなだらかに変化する箇所に存在する輪郭を正確に抽出することができる。
【００９２】
上記実施形態では、画像の縦方向および横方向に抽出された画素データに基づきそれぞれ輪郭抽出が行われた後、輪郭を示す画素が合成される構成であるが、上記方向のうち一方のみ最終的な画像の輪郭が抽出される構成であってもよい。また、これらの方向に限らず、例えば画像の傾きなどに合わせた適宜の方向に画素データを抽出する構成であってもよい。そうすれば当該方向に対する画像の輪郭を抽出することができる。
【００９３】
上記実施形態では、グレースケール画像（濃淡画像）に対する輪郭抽出を例に説明したが、カラー画像であってもよい。また、当該カラー画像の色を表すための表色系はどのようなものであってもよいが、例えば加法混色を表現するのに使用される光の三原色に対応するＲ（赤）Ｇ（緑）Ｂ（青）各色のデータからなる画像（以下「ＲＧＢ画像」という）に対して輪郭抽出を行う場合には、ＲＧＢ画像のうち各色毎の画像に対して輪郭抽出を行い、それぞれに得られる抽出結果を合成することにより、最終的な画像の輪郭抽出を行うことが好ましい。なお、このことは減法混色を表現するのに使用されるＣ（シアン）Ｍ（マゼンタ）Ｙ（黄）またはＣＭＹＫ（黒）各色のデータからなる画像であっても同様である。
【００９４】
図８は、ＲＧＢ画像に対して輪郭抽出を行う場合における輪郭抽出装置の全体的な処理の流れを示すフローチャートである。この図８に示されるステップＳ５１において、制御部１００は、図２に示される初期設定処理（ステップＳ１）と同様に輪郭補正処理の対象となる画像データを決定し、処理に必要な各値を初期化するとともに、対象となるＲＧＢの画像データを構成するＲのみの画像データ、Ｂのみの画像データ、およびＧのみの画像データから１つを決定する。
【００９５】
次に、制御部１００は、横方向処理（ステップＳ５２）および縦方向処理（ステップＳ５３）を行うが、これらの処理は、図２に示される横方向処理（ステップＳ２）および縦方向処理（ステップＳ３）と同一であるので説明を省略する。
【００９６】
続いて、ステップＳ５４において、制御部１００は、ステップＳ５１においてＲＧＢ画像を構成する各色の画像全てのデータを対象として決定したか否かを判定する。この判定の結果、全て処理された場合（ステップＳ５４においてＹｅｓの場合）には次のステップＳ５５の処理へ移り、全て処理されていない場合（ステップＳ５４においてＮｏの場合）には、ステップＳ５１の処理に戻り、全ての各色画像が処理されるまで上記処理が繰り返される（Ｓ５４→Ｓ５１→…→Ｓ５４ ）。
【００９７】
ステップＳ５５（輪郭合成処理）では、ステップＳ５２において決定された各色画像の輪郭とステップＳ５３において決定された各色画像の輪郭とを各色毎に合成する（典型的には論理和演算を行う）ことにより（最終的な）ＲＧＢ画像の輪郭を抽出する処理が行われる。
【００９８】
その後、本輪郭抽出装置１０は一旦処理を終了し、典型的には利用者により他の画像データについての輪郭抽出処理を開始するための指示が与えられるときに、再び上記処理が開始される。このような処理によって、ＲＧＢ画像についても色毎に偏りなく、ノイズ成分の影響を受けずかつ画素データがなだらかに変化する箇所に存在する輪郭を正確に抽出することができる。
【００９９】
また、上記カラー画像の色を表すための表色系としてＬ＊ａ＊ｂ＊表色系が使用される画像（以下「Ｌ＊ａ＊ｂ＊画像」という）に対して輪郭抽出を行う場合には、輝度に対応するＬ＊による画像（以下「Ｌ＊画像」という）に対してのみ輪郭抽出を行うことが好ましい。
【０１００】
なお、このことはＲＧＢ画像等のＬ＊ａ＊ｂ＊画像とは異なる表色系の画像に対して輪郭抽出を行う場合であっても、当該画像をＬ＊ａ＊ｂ＊画像に変換して出力する構成であれば、同様に考えることができる。この場合、ＲＧＢ画像に付加されている（埋め込まれている）ＩＣＣプロファイルを使用するか、または予め定義されているｓＲＧＢ等の基準となる色空間を使用することにより、ＲＧＢ画像等からＬ＊ａ＊ｂ＊画像へ容易に変換することができる。
【０１０１】
図９は、Ｌ＊ａ＊ｂ＊画像に対して輪郭抽出を行う場合における輪郭抽出装置の全体的な処理の流れを示すフローチャートである。この図９に示されるステップＳ６１において、制御部１００は、図２に示される初期設定処理（ステップＳ１）と同様、処理に必要な各値を初期化するとともに、対象となるＬ＊ａ＊ｂ＊画像データのうち輝度に対応するＬ＊値の画像を抽出する。
【０１０２】
次に、制御部１００は、横方向処理（ステップＳ６２）、縦方向処理（ステップＳ６３）、および輪郭合成処理（ステップＳ６４）を行うが、これらの処理は、図２に示される横方向処理（ステップＳ２）、縦方向処理（ステップＳ３）、および輪郭合成処理（ステップＳ４）と同一であるので説明を省略する。以上の処理によって、Ｌ＊画像について抽出された輪郭をＬ＊ａ＊ｂ＊画像の輪郭として抽出することができる。このような処理によって、Ｌ＊ａ＊ｂ＊画像についてもＬ＊画像について抽出された輪郭を使用する簡単な構成により、ノイズ成分の影響を受けることがなく、かつ画素データがなだらかに変化する箇所に存在する輪郭を正確に抽出することができる。
【０１０３】
ここで、カラー画像に対して輪郭抽出を行いグレースケール画像で出力する場合、当該カラー画像からグレー成分を抽出した画像またはグレースケール画像に変換した画像に対して、上記実施形態と同様の輪郭抽出を行うことにより、出力されるグレースケール画像の輪郭抽出を行うことができる。
【０１０４】
また、カラー画像に対して輪郭抽出を行いグレースケール画像で出力する場合、ＲＧＢ画像をＬ＊ａ＊ｂ＊画像に変換した後、当該Ｌ＊ａ＊ｂ＊画像にグレー用のＩＣＣプロファイルを適用してグレースケール画像を出力することも考えられる。この場合には、前述したようにＬ＊画像に対して輪郭抽出を行うことにより、出力されるグレースケール画像の輪郭抽出を行うことができる。
【０１０５】
＜６．  応用例＞
以上のように抽出された画像の輪郭は、当該画像に含まれる特定の構成要素を区別することに使用可能である。すなわち、例えば人物の写真画像において当該人物の顔を示す画像の輪郭から、顔という特定の構成要素を区別することができる。
【０１０６】
このように画像から人物の顔を検出する機能（顔検出機能）を実現する構成については、特に画像補正をより好適にまた自動的に行うために近年では様々な工夫がなされている。例えば従来より、特定の（顔などの）構成要素に対応する色の範囲を予め定義しておき、当該範囲内の色を有する領域を抽出することにより画像における特定の構成要素を抽出し区別する構成や、画像の色ヒストグラムを作成することにより主要色を判定し、判定された主要色の画素を抽出することにより特定の構成要素を抽出し区別する構成などがある。
【０１０７】
ここで上記従来の構成は、いずれも色情報に基づき構成要素を抽出し特定の構成要素を区別するため、抽出された２つ以上の（隣接する）構成要素が実際には同じ構成要素である場合に、これらを区別することが極めて難しいという問題点を有している。
【０１０８】
しかし、本発明に係る輪郭抽出では画素の色情報（色相情報）が使用されないので、顔検出機能などを実現するため画像における特定の構成要素を区別する場合、抽出された複数の構成要素が実際には同じ構成要素であるときには色情報（色相情報）を使用することにより同じ構成要素であると判別することができるという特色を有している。したがって、本発明に係る輪郭抽出処理を、画像における特定の構成要素を抽出し区別することに応用することは極めて有用である。以下では、画像における各構成要素の抽出および区別を行うための処理の流れについて、図１０を参照して具体的に説明する。
【０１０９】
ここで前述したように、上記実施形態における輪郭抽出装置１０は、図２に示されるステップＳ４、図８に示されるステップＳ５５、または図９に示されるステップＳ６４における輪郭合成処理において、最終的な画像の輪郭を抽出するが、ここではその後さらに抽出された輪郭を使用することにより、後述する図１０に示すような画像における各構成要素を抽出し区別する処理が行われる。
【０１１０】
なお、図１０に示す各構成要素を抽出し区別する処理では、画像の色情報が使用されるので、図８に示されるようなＲＧＢ画像に対して輪郭抽出を行う構成や、図９に示されるようなＬ＊ａ＊ｂ＊画像に対して輪郭抽出を行う構成が好適であるが、輪郭を使用することにより構成要素を抽出する構成であれば、上記実施形態やその変形例に記載したその他の各種構成などを適宜使用することができる。
【０１１１】
図１０は、カラー画像に対して構成要素を抽出し区別する場合における輪郭抽出装置の処理の流れを示すフローチャートである。この図１０に示されるステップＳ７１において、制御部１００は、カラー画像（ここではＲＧＢ画像とする）における構成要素の候補となる要素（以下「要素候補」という）を画像から抽出する。具体的には、制御部１００は、抽出された輪郭のみを示す画像に基づき、輪郭に囲まれた輪郭以外の画像領域を（例えば輪郭画像を反転させた領域に対応するカラー画像の部分を）抽出し、抽出された全ての画像領域を要素候補とする。なお、制御部１００は、抽出された全ての画像領域に対してラベリング処理を行うことにより、それぞれの要素候補を識別するものとする。
【０１１２】
次に、ステップＳ７２（色分析処理）において、制御部１００は、各要素候補の画像について、色相が類似するものを同一の構成要素の候補となる要素（以下「色相同一候補」という）として記憶する。この色相の類似性を判別する手法には種々の手法が使用可能であるが、ここでは以下の第１および第２の手法のいずれかが使用されるものとする。
【０１１３】
まず第１の手法では、制御部１００は、ＲＧＢ画像である各要素候補に含まれる全てのカラー画素（対応するＲＧＢそれぞれのサブ画素から構成される画素であって、以下単に「画素」と略称する）に対してＨＳＶ変換（色相、彩度、および明度により表されるＨＳＢ色空間への変換）を行い、当該要素候補に含まれる全ての画素のＨＳＶ色空間における色相（Ｈｕｅ）の平均値を算出することにより、全ての要素候補について色相平均値を算出する。なお、上記変換式は周知であるのでここでは説明を省略する。そして制御部１００は、全ての要素候補間で色相平均値の差が所定の値以内の要素候補を色相同一候補として記憶する。
【０１１４】
また第２の手法では、制御部１００は、ＲＧＢ画像である各要素候補に含まれる全ての画素に対してＨＳＶ変換を行い、各要素候補に含まれる全ての画素のＨＳＶ空間における色相のヒストグラムを算出する。そして制御部１００は、全ての要素候補間で色相ヒストグラムにおける重複部分の画素数が所定の値以上の要素候補同士を色相同一候補として記憶する。以下、この第２の手法について、図１１を参照して説明する。
【０１１５】
図１１は、２つの要素候補の色相分布を示す色相ヒストグラムである。この図１１では、要素候補Ａと要素候補Ｂとにそれぞれ含まれる画素の色相についての度数分布が示されており、これら要素候補Ａ，Ｂには色相が重複する部分が見られる。ここで重複部分に含まれる色相の画素数（度数）のうち最大の数は、所定の閾値ｔｈを超えている。このことから重複部分の画素数が所定数を超えているものとして、制御部１００は要素候補Ａと要素候補Ｂとを色相同一候補として記憶する。なお、制御部１００は、重複部分の（面積に対応する）画素数の総数を算出し、当該総数が所定の閾値を超えていればその要素候補同士を色相同一候補として記憶するように構成してもよい。また、制御部１００は、その他の色相に関連する値を使用することにより色相同一候補を判別してもよい。
【０１１６】
このように制御部１００は、上記第１または第２の手法により、各要素候補の画像について色相が類似するものを色相同一候補として記憶する。なお、平均値を使用する第１の手法は、度数分布を使用する第２の手法よりも計算が容易であるため、色相同一候補を高速に判別できる利点がある。また第２の手法は、第１の手法よりも度数分布に基づき色相の類似性を正確に判定できるため、色相同一候補を正確に判別できる利点がある。
【０１１７】
続いて図１０に示されるステップＳ７３（近接判定処理）において、制御部１００は、要素候補の画像について、近接するものを同一の構成要素の候補となる要素（以下「近接同一候補」という）として記憶する。この近接関係を判別する手法には種々の手法が考えられるが、ここでは図１２に示されるように、各要素候補を矩形で囲み、矩形が重なる要素候補が近接しているものと判定する。
【０１１８】
図１２は、４つの要素候補の近接関係の判定手法を説明するための図である。図１２では、カラー画像Ｐに含まれる４つの要素候補Ａ〜Ｄが実線で示されており、これらに外接する矩形が点線で示されている。図１２では、要素候補Ａを囲む矩形と要素候補Ｂを囲む矩形とが重なっている。このことからこれらの要素候補が近接するものとして、制御部１００は要素候補Ａと要素候補Ｂとを近接同一候補として記憶する。なお、制御部１００は、要素候補の近接関係を判定できる手法であれば、例えばそれぞれの重心位置の距離に基づき近接関係を判定するなど種々の手法を採用することができる。このように近接する要素候補は同一の構成要素である可能性が高いので、上記判定により同一の構成要素となるか否かを簡便な方法で判定することができる。
【０１１９】
ステップＳ７４（要素結合処理）において、制御部１００は、ステップＳ７２において記憶された色相同一候補とされ、かつステップＳ７３において記憶された近接同一候補とされた要素候補を同一の構成要素として結合する。具体的には制御部１００は、これらの要素候補を同一の構成要素としてラベリングし直す処理を行う。以上の処理（Ｓ７１〜Ｓ７４）により、制御部１００は、カラー画像に含まれる全ての構成要素を抽出し、同一の構成要素を別々の構成要素であるものと誤って判定することなく、それらを正確に区別することができる。また、このようにして抽出され区別された構成要素のうち、例えばどの構成要素が顔などを示す特定の構成要素であるかを判別することは、例えばその位置や色情報などに基づくなど周知の種々の手法を適用することにより行うことができる。
【０１２０】
なお、上記ステップＳ７２〜７４における各処理は一例であって、本発明に係る輪郭抽出が行われる限り、ステップＳ７１において抽出された複数の要素候補が実際には同じ構成要素であるときには、色情報（色相情報）を使用することにより同じ構成要素であると判別するいかなる構成に対しても本発明を適用することができる。
【図面の簡単な説明】
【０１２１】
【図１】本発明の一実施形態に係る輪郭抽出装置の構成を示すブロック図である。
【図２】上記実施形態における輪郭抽出装置の全体的な処理の流れを示すフローチャートである。
【図３】上記実施形態における横方向処理の詳細な処理の流れを示すフローチャートである。
【図４】上記実施形態におけるデータ折れ線ｆ（ｘ）および検出折れ線ｇ１（ｘ），ｇ２（ｘ）を示す図である。
【図５】上記実施形態におけるデータ折れ線ｆ（ｘ）の値と検出折れ線ｇ１（ｘ），ｇ２（ｘ）の値との差分値を示す図である。
【図６】上記実施形態における縦方向処理の詳細な処理の流れを示すフローチャートである。
【図７】上記実施形態におけるこの輪郭が抽出された画像の例を示す図である。
【図８】上記実施形態の変形例において、ＲＧＢ画像に対して輪郭抽出を行う場合における輪郭抽出装置の全体的な処理の流れを示すフローチャートである。
【図９】上記実施形態の変形例において、Ｌ＊ａ＊ｂ＊画像に対して輪郭抽出を行う場合における輪郭抽出装置の全体的な処理の流れを示すフローチャートである。
【図１０】上記実施形態の応用例において、カラー画像に対して構成要素を抽出し区別する場合における輪郭抽出装置の処理の流れを示すフローチャートである。
【図１１】上記実施形態の応用例において、２つの要素候補の色相分布を示す色相ヒストグラムである。
【図１２】上記実施形態の応用例において、４つの要素候補の近接関係の判定手法を説明するための図である。
【図１３】従来の輪郭抽出処理で用いられるＳｏｂｅｌフィルタを示す図である。
【符号の説明】
【０１２２】
１０  …輪郭抽出装置
１００…制御部
１２０…記憶部
１４０…表示部
１６０…入力部
Ｐ    …輪郭抽出プログラム
【図１】
2009238202.tif 000003
【図２】
2009238202.tif 000004
【図３】
2009238202.tif 000005
【図４】
2009238202.tif 000006
【図５】
2009238202.tif 000007
【図６】
2009238202.tif 000008
【図７】
2009238202.tif 000009
【図８】
2009238202.tif 000010
【図９】
2009238202.tif 000011
【図１０】
2009238202.tif 000012
【図１１】
2009238202.tif 000013
【図１２】
2009238202.tif 000014
【図１３】
2009238202.tif 000015