説明

輪郭抽出装置、輪郭抽出方法および輪郭抽出プログラム

【課題】ノイズ成分の影響を受けにくく、かつ画素データがなだらかに変化する箇所の輪郭を抽出できる輪郭抽出装置を提供する。
【解決手段】本輪郭抽出装置の制御部100は、対象画像から1行分の画素データを順に抽出し(S21)、得られた画素データ群により表されるデータ折れ線の凹部を検出するための2つの検出折れ線を表す2つの検出データ群を算出し(S22)、得られた検出データ群のそれぞれと、画素データ群との差分値がともに閾値を超えないx座標を求めることにより、データ折れ線の凹部に対応する画素からなる輪郭位置を判定し(S23)、以上の処理を全行に渡って繰り返す(S24)。よって画素データを累積的に加算する場合のようにノイズ成分の影響を受けることがなく、かつ上記検出折れ線により画素データがなだらかに変化する箇所の輪郭を正確に抽出できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理技術に関し、特に、画像から輪郭を抽出する輪郭抽出装置、輪郭抽出方法および輪郭抽出プログラムに関する。
【背景技術】
【0002】
画像処理の分野では、画像から輪郭を抽出する輪郭抽出処理がよく行われる。従来の輪郭抽出処理では、画像にエッジ検出フィルタを適用してエッジ画像を求め、エッジ画像に対して閾値判定を行うことにより、輪郭が抽出される。例えば、Sobelフィルタを用いた輪郭抽出処理では、図13(a)に示す縦方向のエッジ検出フィルタを適用した画像と、図13(b)に示す横方向のエッジ検出フィルタを適用した画像とがそれぞれエッジ画像となり、得られたエッジ画像に対してそれぞれ閾値判定が行われることにより得られる2つの2値化画像を合成することにより、輪郭が抽出された画像を得ることができる。
【0003】
輪郭抽出処理に関しては、従来から以下のような技術が知られている。特許文献1には、画像データについて1次微分値と2次微分値を求め、1次微分値の大小と2次微分値の正負に応じて画像データを補正するエッジ処理方法が開示されている。特許文献2には、頻度分布の大きいほうから2つの山を選定し、2つの山のピーク間で暗のピークから谷底に向かう下降部の中腹の点の濃度を2値化閾値として用いることが開示されている。
【特許文献1】特開2000−331174号公報
【特許文献2】特開昭64−82181号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
従来の輪郭抽出処理で用いられるエッジ検出フィルタは、典型的には画素データと周囲8個の隣接画素データとに対して演算を行う。このようなエッジ検出フィルタを用いた従来の輪郭抽出処理によれば、隣接画素間で画素データが大きく変化する箇所に存在する輪郭を抽出することができる。
【0005】
しかしながら、画像によっては、隣接画素間で画素データが大きく変化する箇所だけでなく、画素データがなだらかに変化する箇所にも輪郭が存在する場合がある。ところが、従来の輪郭抽出処理は、画素データと周囲8個の隣接画素データとに対して演算を行うエッジ検出フィルタを使用するので、画素データがなだらかに変化する箇所に存在する輪郭を抽出することができない。このように従来の輪郭抽出処理では、輪郭を正しく抽出できないことがある。
【0006】
この点、画素データと近接する範囲であって隣接する範囲よりもさらに広い範囲の画素データ値(の差)を累積加算することも考えられるが、このように画素データ値(の差)を単純に累積加算すれば、画像に含まれるノイズ成分もまた単純に累積加算されることになる。したがってその結果として得られる輪郭抽出結果もまたこのノイズ成分の影響を受けやすくなる。
【0007】
したがって本発明は、ノイズ成分の影響を受けにくく、かつ画素データがなだらかに変化する箇所に存在する輪郭を抽出できる輪郭抽出装置、輪郭抽出方法および輪郭抽出プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
第1の発明は、対象となる画像から輪郭を抽出する輪郭抽出装置であって、
前記画像から所定方向に配列される画素に対応する画素データ値を順番に抽出するデータ抽出部と、
前記データ抽出部により抽出される前記画素データ値を縦軸の値として横軸に沿って順に接続することにより得られるデータ折れ線が凹である部分が検出されるよう、前記画像における注目画素から前記順番において前の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される順方向値を前記注目画素に対応する縦軸の値とする順方向検出折れ線と、前記注目画素から前記順番において後の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される逆方向値を前記注目画素に対応する縦軸の値とする逆方向検出折れ線とを算出する検出折れ線算出部と、
前記データ折れ線と前記順方向検出折れ線および前記逆方向検出折れ線とに基づき、前記凹である部分に対応する画素を前記画像の輪郭と判定し抽出する輪郭判定抽出部と
を備えることを特徴とする。
【0009】
第2の発明は、第1の発明において、
前記検出折れ線算出部は、
前記注目画素から前記順番において前の画素の画素データ値に対して1未満の正の実数を乗算した値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記順方向値に設定し、
前記注目画素から前記順番において後の画素の画素データ値に対して1未満の正の実数を乗算した値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記逆方向値に設定することを特徴とする。
【0010】
第3の発明は、第2の発明において、
前記検出折れ線算出部は、
前記注目画素から前記順番において1つ前の画素に対応する1つ前の順方向値にα(αは1未満の正の実数)を乗算した値に対して前記注目画素の画素データ値に(1−α)を乗算した値を加算した値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記順方向値に設定し、
前記注目画素から前記順番において1つ後の画素に対応する1つ後の逆方向値にαを乗算した値に対して前記注目画素の画素データ値に(1−α)を乗算した値を加算した値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記逆方向値に設定することを特徴とする。
【0011】
第4の発明は、第1の発明において、
前記データ抽出部は、前記画像が表示される場合における前記画像の縦方向または横方向を前記所定方向として前記画素データ値を順に抽出することを特徴とする。
【0012】
第5の発明は、第1の発明において、
前記データ抽出部は、前記画像が表示される場合における前記画像の縦方向および横方向のそれぞれを前記所定方向として前記画素データ値をそれぞれ順に抽出し、
前記検出折れ線算出部は、前記縦方向に順に抽出された前記画素データ値に基づき、前記縦方向に対応する検出折れ線を算出するとともに、前記横方向に順に抽出された前記画素データ値に基づき、前記横方向に対応する検出折れ線を算出し、
前記輪郭判定抽出部は、前記縦方向に対応する検出折れ線に基づく前記縦方向に対応する凹である部分と、前記横方向に対応する検出折れ線に基づく前記横方向に対応する凹部分とのいずれかに対応する画素を前記画像の輪郭と判定し抽出することを特徴とする。
【0013】
第6の発明は、第1の発明において、
前記データ抽出部は、前記画像を構成する加法混色または減法混色で表現するための各色毎の画像から前記画素データ値をそれぞれ順に抽出し、
前記検出折れ線算出部は、前記各色毎の画像それぞれについて対応する検出折れ線を算出し、
前記輪郭判定抽出部は、前記各色毎の画像それぞれについて対応する検出折れ線に基づくそれぞれの凹部分のいずれかに対応する画素を前記画像の輪郭と判定し抽出することを特徴とする。
【0014】
第7の発明は、第1の発明において、
前記データ抽出部は、前記画素データ値として、色表現のためのL*a*b*におけるL*を順に抽出することを特徴とする。
【0015】
第8の発明は、第1の発明において、
前記データ抽出部は、前記画素データ値として、グレー表現のための階調値を順に抽出することを特徴とする。
【0016】
第9の発明は、第1から第8までのいずれか1つの発明において、
前記画像の輪郭と判定され抽出された画素に基づき、当該輪郭に囲まれる画像領域を画像構成要素として抽出する要素抽出部をさらに備えることを特徴とする。
【0017】
第10の発明は、第9の発明において、
前記要素抽出部は、抽出された複数の画像構成要素のうち所定の距離以下に近接する複数の画像構成要素を同一の画像構成要素と判定することを特徴とする。
【0018】
第11の発明は、第10の発明において、
前記要素抽出部は、抽出された複数の画像構成要素のうちの所定の距離以下に近接する複数の画像構成要素のうち、色相に関連する値に基づき複数の画像構成要素を同一の画像構成要素と判定することを特徴とする。
【0019】
第12の発明は、第11の発明において、
前記要素抽出部は、前記近接する複数の画像構成要素のうち、含まれる全ての画素の色相の平均値の差が所定値以下の近接する複数の画像構成要素を同一の画像構成要素と判定することを特徴とする。
【0020】
第13の発明は、第11の発明において、
前記要素抽出部は、前記近接する複数の画像構成要素のうち、含まれる全ての画素の色相の度数分布において互いに共通する色相の度数に関連する値に応じて複数の画像構成要素を同一の画像構成要素と判定することを特徴とする。
【0021】
第14の発明は、対象となる画像から輪郭を抽出する輪郭抽出方法であって、
前記画像から所定方向に配列される画素に対応する画素データ値を順番に抽出するデータ抽出ステップと、
前記データ抽出ステップにおいて抽出される前記画素データ値を縦軸の値として横軸に沿って順に接続することにより得られるデータ折れ線が凹である部分が検出されるよう、前記画像における注目画素から前記順番において前の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される順方向値を前記注目画素に対応する縦軸の値とする順方向検出折れ線と、前記注目画素から前記順番において後の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される逆方向値を前記注目画素に対応する縦軸の値とする逆方向検出折れ線とを算出する検出折れ線算出ステップと、
前記データ折れ線と前記順方向検出折れ線および前記逆方向検出折れ線とに基づき、前記凹である部分に対応する画素を前記画像の輪郭と判定し抽出する輪郭判定抽出ステップと
を備えることを特徴とする。
【0022】
第15の発明は、前記画像の輪郭と判定され抽出された画素に基づき、当該輪郭に囲まれる画像領域を画像構成要素として抽出する要素抽出ステップをさらに備えることを特徴とする。
【0023】
第16の発明は、対象となる画像から輪郭を抽出する輪郭抽出処理を行うためコンピュータにおいて、CPUがメモリを利用して、
前記画像から所定方向に配列される画素に対応する画素データ値を順番に抽出するデータ抽出ステップと、
前記データ抽出ステップにおいて抽出される前記画素データ値を縦軸の値として横軸に沿って順に接続することにより得られるデータ折れ線が凹である部分が検出されるよう、前記画像における注目画素から前記順番において前の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される順方向値を前記注目画素に対応する縦軸の値とする順方向検出折れ線と、前記注目画素から前記順番において後の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される逆方向値を前記注目画素に対応する縦軸の値とする逆方向検出折れ線とを算出する検出折れ線算出ステップと、
前記データ折れ線と前記順方向検出折れ線および前記逆方向検出折れ線とに基づき、前記凹である部分に対応する画素を前記画像の輪郭と判定し抽出する輪郭判定抽出ステップとを実行するプログラムである。
【0024】
第17の発明は、第16の発明において、
前記検出折れ線算出ステップでは、
前記注目画素から前記順番において前の画素の画素データ値に対して1未満の正の実数を乗算した値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記順方向値に設定し、
前記注目画素から前記順番において後の画素の画素データ値に対して1未満の正の実数を乗算した値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記逆方向値に設定することを特徴とする。
【0025】
第18の発明は、第17の発明において、
前記検出折れ線算出ステップでは、
前記注目画素から前記順番において1つ前の画素に対応する1つ前の順方向値にα(αは1未満の正の実数)を乗算した値に対して前記注目画素の画素データ値に(1−α)を乗算した値を加算した値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記順方向値に設定し、
前記注目画素から前記順番において1つ後の画素に対応する1つ後の逆方向値にαを乗算した値に対して前記注目画素の画素データ値に(1−α)を乗算した値を加算した値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記逆方向値に設定することを特徴とする。
【0026】
第19の発明は、第16の発明において、
前記データ抽出ステップでは、前記画像が表示される場合における前記画像の縦方向または横方向を前記所定方向として前記画素データ値を順に抽出することを特徴とする。
【0027】
第20の発明は、第16の発明において、
前記データ抽出ステップで部は、前記画像が表示される場合における前記画像の縦方向および横方向のそれぞれを前記所定方向として前記画素データ値をそれぞれ順に抽出し、
前記検出折れ線算出ステップでは、前記縦方向に順に抽出された前記画素データ値に基づき、前記縦方向に対応する検出折れ線を算出するとともに、前記横方向に順に抽出された前記画素データ値に基づき、前記横方向に対応する検出折れ線を算出し、
前記輪郭判定抽出ステップでは、前記縦方向に対応する検出折れ線に基づく前記縦方向に対応する凹である部分と、前記横方向に対応する検出折れ線に基づく前記横方向に対応する凹部分とのいずれかに対応する画素を前記画像の輪郭と判定し抽出することを特徴とする。
【0028】
第21の発明は、第16の発明において、
前記データ抽出ステップでは、前記画像を構成する加法混色または減法混色で表現するための各色毎の画像から前記画素データ値をそれぞれ順に抽出し、
前記検出折れ線算出ステップでは、前記各色毎の画像それぞれについて対応する検出折れ線を算出し、
前記輪郭判定抽出ステップでは、前記各色毎の画像それぞれについて対応する検出折れ線に基づくそれぞれの凹部分のいずれかに対応する画素を前記画像の輪郭と判定し抽出することを特徴とする。
【0029】
第22の発明は、第16の発明において、
前記データ抽出ステップでは、前記画素データ値として、色表現のためのL*a*b*におけるL*を順に抽出することを特徴とする。
【0030】
第23の発明は、第16の発明において、
前記データ抽出ステップでは、前記画素データ値として、グレー表現のための階調値を順に抽出することを特徴とする。
【0031】
第24の発明は、第16から第23までのいずれかの1つの発明において、
前記画像の輪郭と判定され抽出された画素に基づき、当該輪郭に囲まれる画像領域を画像構成要素として抽出する要素抽出ステップをさらに備えることを特徴とする。
【0032】
第25の発明は、第24の発明において、
前記要素抽出ステップでは、抽出された複数の画像構成要素のうち所定の距離以下に近接する複数の画像構成要素を同一の画像構成要素と判定することを特徴とする。
【0033】
第26の発明は、第25の発明において、
前記要素抽出ステップでは、抽出された複数の画像構成要素のうちの所定の距離以下に近接する複数の画像構成要素のうち、色相に関連する値に基づき複数の画像構成要素を同一の画像構成要素と判定することを特徴とする。
【0034】
第27の発明は、第26の発明において、
前記要素抽出ステップでは、前記近接する複数の画像構成要素のうち、含まれる全ての画素の色相の平均値の差が所定値以下の近接する複数の画像構成要素を同一の画像構成要素と判定することを特徴とする。
【0035】
第28の発明は、第26の発明において、
前記要素抽出ステップでは、前記近接する複数の画像構成要素のうち、含まれる全ての画素の色相の度数分布において互いに共通する色相の度数に関連する値に応じて複数の画像構成要素を同一の画像構成要素と判定することを特徴とする。
【発明の効果】
【0036】
上記第1の発明によれば、データ折れ線が凹である部分が検出されるよう、順方向検出折れ線および逆方向検出折れ線とが算出され、これらに基づきデータ折れ線が凹である部分に対応する画素が画像の輪郭と判定され抽出されるので、画素データを累積的に加算する場合のようにノイズ成分の影響を受けることがなく、かつ画素データがなだらかに変化する箇所に存在する輪郭を正確に抽出することができる。
【0037】
上記第2の発明によれば、注目画素の前の画素の画素データ値に対して1未満の正の実数を乗算した値に基づき算出される値を使用するので、画素データを累積的に単純加算する場合に生じるようなノイズ成分の影響を受けることがなく、かつ画素データがなだらかに変化する箇所に存在する輪郭を正確に抽出することができる。
【0038】
上記第3の発明によれば、場合により1つ前の順方向値が(1−α):αの内分比に応じて(その割合で)順方向値に反映されるので、結果として注目画素の画素データ値の順方向の変化を検出することが可能となり、同様にその逆方向の変化も検出することが可能となるので、画素データがなだらかに変化する凹部に存在する輪郭をも正確に抽出することができる。
【0039】
上記第4の発明によれば、画像の縦方向または横方向の輪郭を抽出するので、画素データの配列順に従って容易に輪郭抽出を行うことができる。
【0040】
上記第5の発明によれば、画像の縦方向および横方向の輪郭をともに抽出するので、画素データの配列順に従って容易に輪郭抽出を行うことができるとともに、画像の縦方向または横方向に沿った輪郭も確実に抽出することができる。
【0041】
上記第6の発明によれば、各色毎の画像それぞれについて輪郭のいずれかを画像全体の輪郭と判定し抽出するので、色毎に偏りなく輪郭を抽出することができる。
【0042】
上記第7の発明によれば、L*a*b*表色系におけるL*についての輪郭を画像全体の輪郭と判定し抽出するので、L*のみについて判定する簡単な構成で輪郭を抽出することができる。
【0043】
上記第8の発明によれば、グレー表現のための階調値についての輪郭を抽出するので、簡単な構成で輪郭を抽出することができる。
【0044】
上記第9の発明によれば、要素抽出部により、画素の色情報(典型的には色相情報)が使用されない輪郭抽出結果に基づき、輪郭に囲まれる画像領域を画像構成要素として抽出されるので、例えば顔検出機能などを実現するため画像における特定の構成要素を区別する場合、抽出された複数の構成要素が実際には同じ構成要素であるときにはこれらを色情報を使用することにより判別することが可能となる。
【0045】
上記第10の発明によれば、近接する要素候補が同一の構成要素である可能性が高いことから、その距離に基づき簡便な方法で同一の構成要素を判別することができる。
【0046】
上記第11の発明によれば、近接しているため同一の構成要素である可能性が高い要素候補の色相に関連する値に基づき簡便な方法で正確に同一の構成要素を判別することができる。
【0047】
上記第12の発明によれば、色相の平均値の計算は容易であるため、色相が類似する同一の構成要素を高速に判別することができる。
【0048】
上記第13の発明によれば、色相の度数分布を使用するため色相が類似する同一の構成要素を正確に判別することができる。
【0049】
上記第14の発明によれば、第1の発明と同様の効果を輪郭抽出方法において奏することができる。
【0050】
上記第15の発明によれば、第9の発明と同様の効果を輪郭抽出方法において奏することができる。
【0051】
上記第16から第28までの発明によれば、上記第1から第13までの発明にそれぞれ対応する効果と同様の効果を輪郭抽出プログラムにおいて奏することができる。
【発明を実施するための最良の形態】
【0052】
以下、本発明の一実施形態について添付図面を参照して説明する。
<1. 輪郭抽出装置の構成>
図1は、本発明の一実施形態に係る輪郭抽出装置の構成を示すブロック図である。この輪郭抽出装置10は、一般的なパーソナルコンピュータにオペレーティングシステムや所定のアプリケーション・ソフトウェアをインストールすることにより構成されており、CPU(Central Processing Unit)および半導体メモリなどにより構成される制御部100と、ハードディスクなどの磁気記憶媒体を含む記憶部120と、CRTディスプレイまたはLCD等からなる表示部140と、スキャナーなどの画像入力装置とキーボードやマウス等の操作入力装置とを含む入力部160とを備える。
【0053】
輪郭抽出装置10に含まれる制御部100は、入力部160や図示されない通信部などを介して受け付けられた入力画像に対して後述する輪郭抽出を行うことにより、輪郭が抽出された画像(「エッジ画像」ともいう)を出力する機能を有している。この制御部100の詳しい動作については後述する。
【0054】
なお、制御部100の上記機能は、半導体メモリに格納された所定の輪郭抽出プログラムP(例えば輪郭抽出のためのアプリケーションソフトウェア)をCPUが実行することにより実現される。ここで、上記輪郭抽出プログラムPは、例えば、そのプログラムを記録した記録媒体であるCD−ROMによって提供される。すなわち、上記輪郭抽出プログラムPの記録媒体としてのCD−ROMが輪郭抽出装置10内に補助記憶装置として内蔵された図示されないCD−ROM駆動装置に装着され、そのCD−ROMから輪郭抽出プログラムPが読み出されて記憶部120であるハードディスク装置にインストールされる。また、上記輪郭抽出プログラムPは、CD−ROM以外の記録媒体や通信回線を介して提供されてもよい。そして、本輪郭抽出装置10の起動のための所定操作がなされると、ハードディスク装置にインストールされた輪郭抽出プログラムPは、上記半導体メモリに転送されてそこに一時的に格納され、制御部100内のCPUによって実行される。これにより、制御部100の各部の制御処理が実現される。
【0055】
<2. 輪郭抽出装置の全体的な動作>
次に、輪郭抽出装置10の全体的な動作について説明する。図2は、この輪郭抽出装置10の全体的な処理の流れを示すフローチャートである。この図2に示すステップS1(初期設定処理)において、輪郭抽出装置10に含まれる制御部100は、典型的には利用者の開始指示を受け取ることにより、まず利用者等により選択され輪郭補正処理の対象となるべき画像データを決定する。また、後述する処理に必要な各値を初期化する。
【0056】
ステップS2(横方向処理)では、ステップS1において決定された画像から横方向に順に(行方向に画素列の順に)画素データを取得し、この画素データにより形成される後述するデータ折れ線の凹部に対応する画素を画像の輪郭と決定する処理を(縦方向へ順に1行ずつ)全行に渡って行う。
【0057】
ステップS3(縦方向処理)では、ステップS1において決定された画像から縦方向に順に(列方向に画素行の順に)画素データを取得し、この画素データにより形成される後述するデータ折れ線の凹部に対応する画素を画像の輪郭と決定する処理を(横方向へ順に1列ずつ)全列に渡って行う。
【0058】
ステップS4(輪郭合成処理)では、ステップS2において決定された画像の輪郭とステップS3において決定された画像の輪郭とを合成する(典型的には論理和演算を行う)ことにより(最終的な)画像の輪郭を抽出する処理が行われる。
【0059】
その後、本輪郭抽出装置10は一旦処理を終了し、典型的には利用者により他の画像データについての輪郭抽出処理を開始するための指示が与えられるときに、再び上記処理が開始される。
【0060】
<3. 輪郭抽出装置の各処理動作>
次に、輪郭抽出装置10による横方向処理(ステップS2)の動作について詳しく説明する。図3は、この横方向処理(ステップS2)の詳細な処理の詳細な流れを示すフローチャートである。
【0061】
この図3に示すステップS21において、制御部100は、ステップS1において決定された画像から1行分の画素データを順に抽出する。なお説明の便宜上、ここでの画像はグレー画像であって、この画像に含まれる画素データは、1行につき40個(40列)であり、この画像データであるグレー表現のための階調値(グレースケール値)は、0から300までの範囲の値であるものとする。したがって、画素の横方向の位置すなわちx座標をx(=1〜40)とするとき、この画素データ(階調値)群をF(x)と表す。
【0062】
ここで、上記階調値を縦軸とし、画素のx座標を横軸として上記画素データを配置した後、これらを直線で結んでグラフ化すると、画素データを折れ点とした折れ線が得られる。この折れ線を以下ではデータ折れ線f(x)と呼ぶ。
【0063】
次に、ステップS22において、制御部100は、ステップS21において得られた画素データ群F(x)により表されるデータ折れ線f(x)の凹部を検出するための2つの検出折れ線g1(x),g2(x)を表す2つの検出データ群G1(x),G2(x)を算出する。
【0064】
ここで、データ折れ線f(x)の凹部は、典型的にはその左右端近傍から中央近傍にかけて階調値が減少する部分を指す。この凹部を検出するためには微分値に基づく方法など各種方法が考えられる。本実施形態では、簡単な計算で算出が可能であり、なだらかに変化する凹部についても正確に検出が可能なように、かつ画素データ(の差)を単純に累積加算することでノイズ成分の影響を受けることのないように、x座標が増加する方向におけるデータ折れ線f(x)の変化を反映するよう設定された順方向検出折れ線g1(x)と、x座標が減少する方向におけるデータ折れ線f(x)の変化を反映するよう設定された逆方向検出折れ線g2(x)とを設定する。
【0065】
すなわち、前述した従来の輪郭抽出処理のように、画素データと周囲8個の隣接画素データとに対して演算を行うエッジ検出フィルタを使用する場合、画素データがなだらかに変化する箇所に存在する輪郭を正しく抽出することができない。この点、画素データの変化を示す曲線の傾きが連続して正である部分と連続して負である部分とを累積することにより曲線が凸となっている部分を判定すれば、画素データがなだらかに変化する箇所に存在する輪郭を抽出することができる。例えば、入力画像から抽出された縦方向の画素データの配列について、隣接データとの差を算出し、後から前へ向かう順に0以上の差を累積加算し、前から後へ向かう順に0以上の差を累積加算し、これら2つの累積値の差を算出し、得られた評価値に対して閾値判定を行い、また横方向の画素データの配列に対しても同じ処理を行い、得られた2つの閾値判定結果に対して論理演算を行う構成が考えられる。このように、配列内で前方および後方にある直近の極大値との差に基づく評価値を算出し、評価値に対して閾値判定を行うことにより輪郭抽出結果を求めれば画素データがなだらかに変化する箇所に存在する輪郭を抽出することができる。
【0066】
しかし、このように画素データ値(の差)を単純に累積加算すれば、画像に含まれるノイズ成分もまた単純に累積加算されることになる。したがってその結果として得られる輪郭抽出結果もまたこのノイズ成分の影響を受けやすくなる。そこで本実施形態では、後述するように算出された検出折れ線g1(x),g2(x)とデータ折れ線f(x)との差分値を参照することにより凹部を検出する。以下、検出データ群G1(x),G2(x)の算出方法を具体的に説明する。
【0067】
まず、順方向検出折れ線g1(x)を表す順方向検出データ群G1(x)は、xを1から40まで順に変化させるものとするとき、得られる値が画素データ群F(x)未満の場合には次式(1)のように表すことができる。ただしαは1未満の正の実数であるものとする。
G1(x)=αF(x)+(1−α)G1(x−1) …(1)
【0068】
また、後述する差分値の参照を簡単にするため、順方向検出データ群G1(x)は、上式(1)により得られる値が画素データ群F(x)以上の場合には次式(2)のように表す。
G1(x)=F(x) …(2)
【0069】
すなわち、順方向検出データ群G1(x)の値は、画素データ群F(x)の値と、1つ前の順方向検出データ群G1(x−1)の値とを(1−α):αに内分した値として設定する。このことにより、1つ前の順方向検出データ群G1(x−1)の値が上記内分比に応じて(その割合で)順方向検出データ群G1(x)の値に反映されることになるので、結果として画素データ群F(x)の値の順方向の変化を検出することが可能となる。ただし、後述する差分値の参照を簡単にするため(具体的には比較のための差分値を正の値に保つため)、上式(1)により算出される順方向検出データ群G1(x)の値が画素データ群F(x)の値以上の場合には、順方向検出データ群G1(x)の値を画素データ群F(x)の値に設定する。
【0070】
なおここでは、順方向検出データ群G1(x)は、上式(1)により得られる値が画素データ群F(x)以上の場合には次式(2)のように表すものとした。すなわちαF(x)+(1−α)G1(x−1)により得られる値と、画素データ群F(x)の値とのうちいずれか小さい方の値であるものとした。しかしこれに代えて、順方向検出データ群G1(x)は、1つ前の順方向検出データ群G1(x−1)の値が画素データ群F(x)の値より大きい場合(すなわちG1(x−1)<F(x)のとき)には上式(1)により算出し、画素データ群F(x)の値以下の場合(すなわちG1(x−1)≧F(x)のとき)には上式(2)により算出するとしてもよい。この後者の条件式は前者の条件式と同一の意味である。例えば後者のG1(x−1)≧F(x)の不等式の両辺に(1−α)を乗算して上式(1)を代入し整理すれば、G1(x)≧F(x)となる。したがって、上記条件式は上式(1)により得られる値が画素データ群F(x)以上の場合であることと同義であることがわかる。もっとも、前者の構成では必ず式(1)の計算を行わなければならないので、実際には計算量の少ない後者の構成が好ましい。
【0071】
また1つ前の順方向検出データ群G1(x−1)の値が1未満のαの割合で順方向検出データ群G1(x)の値に反映される以上、対応する画素それぞれにノイズ成分が含まれている場合であってもそれらが単純に累積されるわけではなく、ノイズ成分の影響が抑制される。さらに上記1未満のαの値によりノイズ成分の影響は指数関数的に減少するので、得られる輪郭抽出結果に対するノイズ成分の影響が十分に抑制されることになる。
【0072】
このように、制御部100により、順方向検出データ群G1(x)の値は、xを1から40まで順に変化させて上式(1)により算出されるが、上式(1)により得られた値が画素データ群F(x)の値以上である場合にのみ上式(2)により算出される。
【0073】
次に、逆方向検出折れ線g2(x)を表す逆方向検出データ群G2(x)は、xを40から1まで(逆の)順に変化させるものとするとき、得られる値が画素データ群F(x)未満の場合には次式(1)のように表すことができる。
G2(x)=αF(x)+(1−α)G2(x+1) …(3)
【0074】
また、後述する差分値の参照を簡単にするため、逆方向検出データ群G2(x)は、上式(3)により得られる値が画素データ群F(x)以上の場合には次式(4)のように表す。
G2(x)=F(x) …(4)
【0075】
すなわち、逆方向検出データ群G2(x)の値は、画素データ群F(x)の値と、1つ後の逆方向検出データ群G2(x+1)の値とを(1−α):αに内分した値として設定する。このことにより、1つ後の逆方向検出データ群G2(x+1)の値が上記内分比に応じて(その割合で)逆方向検出データ群G2(x)の値に反映されることになるので、結果として画素データ群F(x)の値の逆方向の変化を検出することが可能となる。ただし、後述する差分値の参照を簡単にするため、上式(3)により算出される逆方向検出データ群G2(x)の値が画素データ群F(x)の値以上の場合には、逆方向検出データ群G2(x)の値を画素データ群F(x)の値に設定する。
【0076】
なお、逆方向検出データ群G2(x)の値も、上式(3)により得られる値が画素データ群F(x)以上の場合には次式(4)のように表すものとしたが、これに代えて、逆方向検出データ群G2(x)は、1つ後の逆方向検出データ群G2(x+1)の値が画素データ群F(x)の値より大きい場合(すなわちG2(x+1)<F(x)のとき)には上式(3)により算出し、画素データ群F(x)の値以下の場合(すなわちG2(x+1)≧F(x)のとき)には上式(4)により算出するとしてもよい。
【0077】
また、1つ後の逆方向検出データ群G2(x+1)の値が1未満のαの割合で逆方向検出データ群G2(x)の値に反映される点で、前述したように輪郭抽出結果に対するノイズ成分の影響を十分に抑制することができる。
【0078】
このように、制御部100により、逆方向検出データ群G2(x)の値は、xを40から1まで(逆の)順に変化させて上式(3)により算出されるが、上式(3)により得られた値が画素データ群F(x)の値以上である場合にのみ上式(4)により算出される。
【0079】
続いて、ステップS23において、制御部100は、ステップS22において得られた検出データ群G1(x),G2(x)のそれぞれと、画素データ群F(x)との差分値がともに所定の閾値を超えないx座標を求めることにより、データ折れ線f(x)の凹部に対応する画素により構成される輪郭の位置を判定する。
【0080】
すなわち、上記閾値をβ(例えばβ=10)とするとき、次式(5)および次式(6)をともに満たすx座標に対応する画素が輪郭を構成するものと判定する。
F(x)−G1(x)≦β …(5)
F(x)−G2(x)≦β …(6)
【0081】
なお、上記閾値βは予め定められた値であってもよいし、輪郭抽出の対象となる画像の特性等に応じて算出される値であってもよい。以上の輪郭抽出について、さらに図4および図5を参照して具体的に説明する。
【0082】
図4は、上記データ折れ線f(x)および検出折れ線g1(x),g2(x)を示す図である。この図4において、四角形の座標点およびこれらを結ぶ実線で示される折れ線はデータ折れ線f(x)であり、円形の座標点およびこれらを結ぶ点線で示される折れ線は順方向折れ線g1(x)であり、三角形の座標点およびこれらを結ぶ一点鎖線で示される折れ線は逆方向折れ線g2(x)である。
【0083】
また図5は、上記データ折れ線f(x)の値と検出折れ線g1(x),g2(x)の値との差分値を示す図である。この図5において、円形の座標点およびこれらを結ぶ線で示される折れ線はデータ折れ線f(x)の値から順方向折れ線g1(x)の値を差し引いた値を示す折れ線であり、三角形の座標点およびこれらを結ぶ線で示される折れ線はデータ折れ線f(x)の値から逆方向折れ線g2(x)の値を差し引いた値を示す折れ線である。
【0084】
これら図4および図5に示されるように、データ折れ線f(x)の凹部である、x座標が6から12付近、17から19付近、23から25付近、27付近、29および30付近、36から40付近では、F(x)−G1(x)およびF(x)−G2(x)はともにβ(=10)以下になっていることがわかる。したがって、上式(5)および上式(6)を満たすxの範囲は、データ折れ線f(x)の凹部に対応しており、これらの画素により輪郭が構成されると判定することができる。特に、x座標が6から12付近、36から40付近では、データ折れ線f(x)がなだらかに変化しているが、これらの凹部についても正確に輪郭の判定が行われていることがわかる。
【0085】
次に、図3に示されるステップS24において、制御部100は、輪郭抽出の対象となる画像の全ての行に渡ってステップS21における画素データの取得が行われたか否かを判定する。この判定の結果、全て取得された場合(ステップS24においてYesの場合)には上記一連の処理を終了して図2に示されるステップS3の処理へ移り、全て取得されていない場合(ステップS24においてNoの場合)には、ステップS21の処理に戻り、全てが取得されるまで上記処理が繰り返される(S24→S21→…→S24 )。
【0086】
以上のようにして横方向処理(ステップS2)が終了すると、続いて図2に示される縦方向処理(ステップS3)が開始される。図6は、この縦方向処理(ステップS3)の詳細な処理の流れを示すフローチャートである。この図6に示される処理の流れを図3に示される処理の流れと比較すればわかるように、図6に示されるステップS31では、画素データの取得方向が縦方向(1列分)である点で図3に示されるステップS21と異なり、図6に示されるステップS34では、全列について画素データを取得したか否かを判定する点で図3に示されるステップS24と異なるほか、同様の処理が行われる。よって、その処理の詳細な説明は省略する。
【0087】
以上のようにして縦方向処理(ステップS3)が終了すると、続いて図2に示される輪郭合成処理(ステップS4)が開始される。このステップS4において、制御部100は、ステップS2およびステップS3においてそれぞれ輪郭として判定された画素を合成する。具体的には、それぞれの論理和をとり、ステップS2またはステップS3の少なくとも一方において輪郭として判定された画素を含む画像を輪郭が抽出された画像として出力する。このように、縦方向および横方向に対する輪郭をともに抽出するので、縦方向または横方向に沿った輪郭も確実に抽出することができる。
【0088】
図7は、この輪郭が抽出された画像の例を示す図である。この輪郭が抽出された画像は、例えば8ビットのグレースケール画像に対して上記輪郭抽出のための各処理を行った結果として得られる画像である。この図7では、頭髪の境界部分など画素データがなだらかに変化する箇所に存在する輪郭が正確に抽出されており、かつノイズに影響されない細密な輪郭が得られることがわかる。
【0089】
以上のように、本輪郭抽出装置10における制御部100は、対象となる画像から縦方向または横方向に配列される画素に対応する画素データ値を順に抽出する機能(データ抽出部)と、データ折れ線の変化を反映するような順方向検出折れ線および逆方向算出折れ線を算出する機能(検出折れ線算出部)と、データ折れ線と検出折れ線とに基づきデータ折れ線の凹部に対応する画素を画像の輪郭と判定し抽出する機能(輪郭判定抽出部)とを備えている。
【0090】
<4. 効果>
このように、本輪郭抽出装置10は、データ折れ線f(x)の変化を反映するよう設定された順方向検出折れ線g1(x)および逆方向検出折れ線g2(x)を設定し、これらの検出折れ線の値とデータ折れ線f(x)の値との差分値を参照することにより輪郭を判定するので、画素データを累積的に単純加算する場合のようにノイズ成分の影響を受けることがなく、かつ画素データがなだらかに変化する箇所に存在する輪郭を正確に抽出することができる。
【0091】
<5. 変形例>
上記実施形態では、順方向検出データ群G1(x)および逆方向検出データ群G2(x)の値は、上式(1)から上式(4)までに基づき算出されるが、これらの算出式に限定されるわけではなく、注目画素より前の画素の画素データ値に基づき算出される値と、注目画素の画素データ値とのうち、いずれか小さい方の値に順方向検出データ群G1(x)を設定し、注目画素より後の画素の画素データ値に基づき算出される値と、注目画素の画素データ値とのうち、いずれか小さい方の値に逆方向検出データ群G2(x)の値を設定する構成であればよい。もっとも、順方向検出データ群G1(x)の値が前の画素データ値に対して1未満の正の実数を乗算した値に基づき算出される値と、注目画素の画素データ値とのうち、いずれか小さい方の値に設定され、また逆方向検出データ群G2(x)の値が前の画素データ値に対して1未満の正の実数を乗算した値に基づき算出される値と、注目画素の画素データ値とのうち、いずれか小さい方の値に設定される場合には、画素データを累積的に単純加算する場合に生じるようなノイズ成分の影響を受けることがなく、かつ画素データがなだらかに変化する箇所に存在する輪郭を正確に抽出することができる。
【0092】
上記実施形態では、画像の縦方向および横方向に抽出された画素データに基づきそれぞれ輪郭抽出が行われた後、輪郭を示す画素が合成される構成であるが、上記方向のうち一方のみ最終的な画像の輪郭が抽出される構成であってもよい。また、これらの方向に限らず、例えば画像の傾きなどに合わせた適宜の方向に画素データを抽出する構成であってもよい。そうすれば当該方向に対する画像の輪郭を抽出することができる。
【0093】
上記実施形態では、グレースケール画像(濃淡画像)に対する輪郭抽出を例に説明したが、カラー画像であってもよい。また、当該カラー画像の色を表すための表色系はどのようなものであってもよいが、例えば加法混色を表現するのに使用される光の三原色に対応するR(赤)G(緑)B(青)各色のデータからなる画像(以下「RGB画像」という)に対して輪郭抽出を行う場合には、RGB画像のうち各色毎の画像に対して輪郭抽出を行い、それぞれに得られる抽出結果を合成することにより、最終的な画像の輪郭抽出を行うことが好ましい。なお、このことは減法混色を表現するのに使用されるC(シアン)M(マゼンタ)Y(黄)またはCMYK(黒)各色のデータからなる画像であっても同様である。
【0094】
図8は、RGB画像に対して輪郭抽出を行う場合における輪郭抽出装置の全体的な処理の流れを示すフローチャートである。この図8に示されるステップS51において、制御部100は、図2に示される初期設定処理(ステップS1)と同様に輪郭補正処理の対象となる画像データを決定し、処理に必要な各値を初期化するとともに、対象となるRGBの画像データを構成するRのみの画像データ、Bのみの画像データ、およびGのみの画像データから1つを決定する。
【0095】
次に、制御部100は、横方向処理(ステップS52)および縦方向処理(ステップS53)を行うが、これらの処理は、図2に示される横方向処理(ステップS2)および縦方向処理(ステップS3)と同一であるので説明を省略する。
【0096】
続いて、ステップS54において、制御部100は、ステップS51においてRGB画像を構成する各色の画像全てのデータを対象として決定したか否かを判定する。この判定の結果、全て処理された場合(ステップS54においてYesの場合)には次のステップS55の処理へ移り、全て処理されていない場合(ステップS54においてNoの場合)には、ステップS51の処理に戻り、全ての各色画像が処理されるまで上記処理が繰り返される(S54→S51→…→S54 )。
【0097】
ステップS55(輪郭合成処理)では、ステップS52において決定された各色画像の輪郭とステップS53において決定された各色画像の輪郭とを各色毎に合成する(典型的には論理和演算を行う)ことにより(最終的な)RGB画像の輪郭を抽出する処理が行われる。
【0098】
その後、本輪郭抽出装置10は一旦処理を終了し、典型的には利用者により他の画像データについての輪郭抽出処理を開始するための指示が与えられるときに、再び上記処理が開始される。このような処理によって、RGB画像についても色毎に偏りなく、ノイズ成分の影響を受けずかつ画素データがなだらかに変化する箇所に存在する輪郭を正確に抽出することができる。
【0099】
また、上記カラー画像の色を表すための表色系としてL*a*b*表色系が使用される画像(以下「L*a*b*画像」という)に対して輪郭抽出を行う場合には、輝度に対応するL*による画像(以下「L*画像」という)に対してのみ輪郭抽出を行うことが好ましい。
【0100】
なお、このことはRGB画像等のL*a*b*画像とは異なる表色系の画像に対して輪郭抽出を行う場合であっても、当該画像をL*a*b*画像に変換して出力する構成であれば、同様に考えることができる。この場合、RGB画像に付加されている(埋め込まれている)ICCプロファイルを使用するか、または予め定義されているsRGB等の基準となる色空間を使用することにより、RGB画像等からL*a*b*画像へ容易に変換することができる。
【0101】
図9は、L*a*b*画像に対して輪郭抽出を行う場合における輪郭抽出装置の全体的な処理の流れを示すフローチャートである。この図9に示されるステップS61において、制御部100は、図2に示される初期設定処理(ステップS1)と同様、処理に必要な各値を初期化するとともに、対象となるL*a*b*画像データのうち輝度に対応するL*値の画像を抽出する。
【0102】
次に、制御部100は、横方向処理(ステップS62)、縦方向処理(ステップS63)、および輪郭合成処理(ステップS64)を行うが、これらの処理は、図2に示される横方向処理(ステップS2)、縦方向処理(ステップS3)、および輪郭合成処理(ステップS4)と同一であるので説明を省略する。以上の処理によって、L*画像について抽出された輪郭をL*a*b*画像の輪郭として抽出することができる。このような処理によって、L*a*b*画像についてもL*画像について抽出された輪郭を使用する簡単な構成により、ノイズ成分の影響を受けることがなく、かつ画素データがなだらかに変化する箇所に存在する輪郭を正確に抽出することができる。
【0103】
ここで、カラー画像に対して輪郭抽出を行いグレースケール画像で出力する場合、当該カラー画像からグレー成分を抽出した画像またはグレースケール画像に変換した画像に対して、上記実施形態と同様の輪郭抽出を行うことにより、出力されるグレースケール画像の輪郭抽出を行うことができる。
【0104】
また、カラー画像に対して輪郭抽出を行いグレースケール画像で出力する場合、RGB画像をL*a*b*画像に変換した後、当該L*a*b*画像にグレー用のICCプロファイルを適用してグレースケール画像を出力することも考えられる。この場合には、前述したようにL*画像に対して輪郭抽出を行うことにより、出力されるグレースケール画像の輪郭抽出を行うことができる。
【0105】
<6. 応用例>
以上のように抽出された画像の輪郭は、当該画像に含まれる特定の構成要素を区別することに使用可能である。すなわち、例えば人物の写真画像において当該人物の顔を示す画像の輪郭から、顔という特定の構成要素を区別することができる。
【0106】
このように画像から人物の顔を検出する機能(顔検出機能)を実現する構成については、特に画像補正をより好適にまた自動的に行うために近年では様々な工夫がなされている。例えば従来より、特定の(顔などの)構成要素に対応する色の範囲を予め定義しておき、当該範囲内の色を有する領域を抽出することにより画像における特定の構成要素を抽出し区別する構成や、画像の色ヒストグラムを作成することにより主要色を判定し、判定された主要色の画素を抽出することにより特定の構成要素を抽出し区別する構成などがある。
【0107】
ここで上記従来の構成は、いずれも色情報に基づき構成要素を抽出し特定の構成要素を区別するため、抽出された2つ以上の(隣接する)構成要素が実際には同じ構成要素である場合に、これらを区別することが極めて難しいという問題点を有している。
【0108】
しかし、本発明に係る輪郭抽出では画素の色情報(色相情報)が使用されないので、顔検出機能などを実現するため画像における特定の構成要素を区別する場合、抽出された複数の構成要素が実際には同じ構成要素であるときには色情報(色相情報)を使用することにより同じ構成要素であると判別することができるという特色を有している。したがって、本発明に係る輪郭抽出処理を、画像における特定の構成要素を抽出し区別することに応用することは極めて有用である。以下では、画像における各構成要素の抽出および区別を行うための処理の流れについて、図10を参照して具体的に説明する。
【0109】
ここで前述したように、上記実施形態における輪郭抽出装置10は、図2に示されるステップS4、図8に示されるステップS55、または図9に示されるステップS64における輪郭合成処理において、最終的な画像の輪郭を抽出するが、ここではその後さらに抽出された輪郭を使用することにより、後述する図10に示すような画像における各構成要素を抽出し区別する処理が行われる。
【0110】
なお、図10に示す各構成要素を抽出し区別する処理では、画像の色情報が使用されるので、図8に示されるようなRGB画像に対して輪郭抽出を行う構成や、図9に示されるようなL*a*b*画像に対して輪郭抽出を行う構成が好適であるが、輪郭を使用することにより構成要素を抽出する構成であれば、上記実施形態やその変形例に記載したその他の各種構成などを適宜使用することができる。
【0111】
図10は、カラー画像に対して構成要素を抽出し区別する場合における輪郭抽出装置の処理の流れを示すフローチャートである。この図10に示されるステップS71において、制御部100は、カラー画像(ここではRGB画像とする)における構成要素の候補となる要素(以下「要素候補」という)を画像から抽出する。具体的には、制御部100は、抽出された輪郭のみを示す画像に基づき、輪郭に囲まれた輪郭以外の画像領域を(例えば輪郭画像を反転させた領域に対応するカラー画像の部分を)抽出し、抽出された全ての画像領域を要素候補とする。なお、制御部100は、抽出された全ての画像領域に対してラベリング処理を行うことにより、それぞれの要素候補を識別するものとする。
【0112】
次に、ステップS72(色分析処理)において、制御部100は、各要素候補の画像について、色相が類似するものを同一の構成要素の候補となる要素(以下「色相同一候補」という)として記憶する。この色相の類似性を判別する手法には種々の手法が使用可能であるが、ここでは以下の第1および第2の手法のいずれかが使用されるものとする。
【0113】
まず第1の手法では、制御部100は、RGB画像である各要素候補に含まれる全てのカラー画素(対応するRGBそれぞれのサブ画素から構成される画素であって、以下単に「画素」と略称する)に対してHSV変換(色相、彩度、および明度により表されるHSB色空間への変換)を行い、当該要素候補に含まれる全ての画素のHSV色空間における色相(Hue)の平均値を算出することにより、全ての要素候補について色相平均値を算出する。なお、上記変換式は周知であるのでここでは説明を省略する。そして制御部100は、全ての要素候補間で色相平均値の差が所定の値以内の要素候補を色相同一候補として記憶する。
【0114】
また第2の手法では、制御部100は、RGB画像である各要素候補に含まれる全ての画素に対してHSV変換を行い、各要素候補に含まれる全ての画素のHSV空間における色相のヒストグラムを算出する。そして制御部100は、全ての要素候補間で色相ヒストグラムにおける重複部分の画素数が所定の値以上の要素候補同士を色相同一候補として記憶する。以下、この第2の手法について、図11を参照して説明する。
【0115】
図11は、2つの要素候補の色相分布を示す色相ヒストグラムである。この図11では、要素候補Aと要素候補Bとにそれぞれ含まれる画素の色相についての度数分布が示されており、これら要素候補A,Bには色相が重複する部分が見られる。ここで重複部分に含まれる色相の画素数(度数)のうち最大の数は、所定の閾値thを超えている。このことから重複部分の画素数が所定数を超えているものとして、制御部100は要素候補Aと要素候補Bとを色相同一候補として記憶する。なお、制御部100は、重複部分の(面積に対応する)画素数の総数を算出し、当該総数が所定の閾値を超えていればその要素候補同士を色相同一候補として記憶するように構成してもよい。また、制御部100は、その他の色相に関連する値を使用することにより色相同一候補を判別してもよい。
【0116】
このように制御部100は、上記第1または第2の手法により、各要素候補の画像について色相が類似するものを色相同一候補として記憶する。なお、平均値を使用する第1の手法は、度数分布を使用する第2の手法よりも計算が容易であるため、色相同一候補を高速に判別できる利点がある。また第2の手法は、第1の手法よりも度数分布に基づき色相の類似性を正確に判定できるため、色相同一候補を正確に判別できる利点がある。
【0117】
続いて図10に示されるステップS73(近接判定処理)において、制御部100は、要素候補の画像について、近接するものを同一の構成要素の候補となる要素(以下「近接同一候補」という)として記憶する。この近接関係を判別する手法には種々の手法が考えられるが、ここでは図12に示されるように、各要素候補を矩形で囲み、矩形が重なる要素候補が近接しているものと判定する。
【0118】
図12は、4つの要素候補の近接関係の判定手法を説明するための図である。図12では、カラー画像Pに含まれる4つの要素候補A〜Dが実線で示されており、これらに外接する矩形が点線で示されている。図12では、要素候補Aを囲む矩形と要素候補Bを囲む矩形とが重なっている。このことからこれらの要素候補が近接するものとして、制御部100は要素候補Aと要素候補Bとを近接同一候補として記憶する。なお、制御部100は、要素候補の近接関係を判定できる手法であれば、例えばそれぞれの重心位置の距離に基づき近接関係を判定するなど種々の手法を採用することができる。このように近接する要素候補は同一の構成要素である可能性が高いので、上記判定により同一の構成要素となるか否かを簡便な方法で判定することができる。
【0119】
ステップS74(要素結合処理)において、制御部100は、ステップS72において記憶された色相同一候補とされ、かつステップS73において記憶された近接同一候補とされた要素候補を同一の構成要素として結合する。具体的には制御部100は、これらの要素候補を同一の構成要素としてラベリングし直す処理を行う。以上の処理(S71〜S74)により、制御部100は、カラー画像に含まれる全ての構成要素を抽出し、同一の構成要素を別々の構成要素であるものと誤って判定することなく、それらを正確に区別することができる。また、このようにして抽出され区別された構成要素のうち、例えばどの構成要素が顔などを示す特定の構成要素であるかを判別することは、例えばその位置や色情報などに基づくなど周知の種々の手法を適用することにより行うことができる。
【0120】
なお、上記ステップS72〜74における各処理は一例であって、本発明に係る輪郭抽出が行われる限り、ステップS71において抽出された複数の要素候補が実際には同じ構成要素であるときには、色情報(色相情報)を使用することにより同じ構成要素であると判別するいかなる構成に対しても本発明を適用することができる。
【図面の簡単な説明】
【0121】
【図1】本発明の一実施形態に係る輪郭抽出装置の構成を示すブロック図である。
【図2】上記実施形態における輪郭抽出装置の全体的な処理の流れを示すフローチャートである。
【図3】上記実施形態における横方向処理の詳細な処理の流れを示すフローチャートである。
【図4】上記実施形態におけるデータ折れ線f(x)および検出折れ線g1(x),g2(x)を示す図である。
【図5】上記実施形態におけるデータ折れ線f(x)の値と検出折れ線g1(x),g2(x)の値との差分値を示す図である。
【図6】上記実施形態における縦方向処理の詳細な処理の流れを示すフローチャートである。
【図7】上記実施形態におけるこの輪郭が抽出された画像の例を示す図である。
【図8】上記実施形態の変形例において、RGB画像に対して輪郭抽出を行う場合における輪郭抽出装置の全体的な処理の流れを示すフローチャートである。
【図9】上記実施形態の変形例において、L*a*b*画像に対して輪郭抽出を行う場合における輪郭抽出装置の全体的な処理の流れを示すフローチャートである。
【図10】上記実施形態の応用例において、カラー画像に対して構成要素を抽出し区別する場合における輪郭抽出装置の処理の流れを示すフローチャートである。
【図11】上記実施形態の応用例において、2つの要素候補の色相分布を示す色相ヒストグラムである。
【図12】上記実施形態の応用例において、4つの要素候補の近接関係の判定手法を説明するための図である。
【図13】従来の輪郭抽出処理で用いられるSobelフィルタを示す図である。
【符号の説明】
【0122】
10 …輪郭抽出装置
100…制御部
120…記憶部
140…表示部
160…入力部
P …輪郭抽出プログラム

【特許請求の範囲】
【請求項1】
対象となる画像から輪郭を抽出する輪郭抽出装置であって、
前記画像から所定方向に配列される画素に対応する画素データ値を順番に抽出するデータ抽出部と、
前記データ抽出部により抽出される前記画素データ値を縦軸の値として横軸に沿って順に接続することにより得られるデータ折れ線が凹である部分が検出されるよう、前記画像における注目画素から前記順番において前の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される順方向値を前記注目画素に対応する縦軸の値とする順方向検出折れ線と、前記注目画素から前記順番において後の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される逆方向値を前記注目画素に対応する縦軸の値とする逆方向検出折れ線とを算出する検出折れ線算出部と、
前記データ折れ線と前記順方向検出折れ線および前記逆方向検出折れ線とに基づき、前記凹である部分に対応する画素を前記画像の輪郭と判定し抽出する輪郭判定抽出部と
を備えることを特徴とする、輪郭抽出装置。
【請求項2】
前記検出折れ線算出部は、
前記注目画素から前記順番において前の画素の画素データ値に対して1未満の正の実数を乗算した値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記順方向値に設定し、
前記注目画素から前記順番において後の画素の画素データ値に対して1未満の正の実数を乗算した値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記逆方向値に設定することを特徴とする、請求項1に記載の輪郭抽出装置。
【請求項3】
前記検出折れ線算出部は、
前記注目画素から前記順番において1つ前の画素に対応する1つ前の順方向値にα(αは1未満の正の実数)を乗算した値に対して前記注目画素の画素データ値に(1−α)を乗算した値を加算した値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記順方向値に設定し、
前記注目画素から前記順番において1つ後の画素に対応する1つ後の逆方向値にαを乗算した値に対して前記注目画素の画素データ値に(1−α)を乗算した値を加算した値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記逆方向値に設定することを特徴とする、請求項2に記載の輪郭抽出装置。
【請求項4】
前記データ抽出部は、前記画像が表示される場合における前記画像の縦方向または横方向を前記所定方向として前記画素データ値を順に抽出することを特徴とする、請求項1に記載の輪郭抽出装置。
【請求項5】
前記データ抽出部は、前記画像が表示される場合における前記画像の縦方向および横方向のそれぞれを前記所定方向として前記画素データ値をそれぞれ順に抽出し、
前記検出折れ線算出部は、前記縦方向に順に抽出された前記画素データ値に基づき、前記縦方向に対応する検出折れ線を算出するとともに、前記横方向に順に抽出された前記画素データ値に基づき、前記横方向に対応する検出折れ線を算出し、
前記輪郭判定抽出部は、前記縦方向に対応する検出折れ線に基づく前記縦方向に対応する凹である部分と、前記横方向に対応する検出折れ線に基づく前記横方向に対応する凹部分とのいずれかに対応する画素を前記画像の輪郭と判定し抽出することを特徴とする、請求項1に記載の輪郭抽出装置。
【請求項6】
前記データ抽出部は、前記画像を構成する加法混色または減法混色で表現するための各色毎の画像から前記画素データ値をそれぞれ順に抽出し、
前記検出折れ線算出部は、前記各色毎の画像それぞれについて対応する検出折れ線を算出し、
前記輪郭判定抽出部は、前記各色毎の画像それぞれについて対応する検出折れ線に基づくそれぞれの凹部分のいずれかに対応する画素を前記画像の輪郭と判定し抽出することを特徴とする、請求項1に記載の輪郭抽出装置。
【請求項7】
前記データ抽出部は、前記画素データ値として、色表現のためのL*a*b*におけるL*を順に抽出することを特徴とする、請求項1に記載の輪郭抽出装置。
【請求項8】
前記データ抽出部は、前記画素データ値として、グレー表現のための階調値を順に抽出することを特徴とする、請求項1に記載の輪郭抽出装置。
【請求項9】
前記画像の輪郭と判定され抽出された画素に基づき、当該輪郭に囲まれる画像領域を画像構成要素として抽出する要素抽出部をさらに備えることを特徴とする、請求項1から請求項7までのいずれか1項に記載の輪郭抽出装置。
【請求項10】
前記要素抽出部は、抽出された複数の画像構成要素のうち所定の距離以下に近接する複数の画像構成要素を同一の画像構成要素と判定することを特徴とする、請求項9に記載の輪郭抽出装置。
【請求項11】
前記要素抽出部は、抽出された複数の画像構成要素のうちの所定の距離以下に近接する複数の画像構成要素のうち、色相に関連する値に基づき複数の画像構成要素を同一の画像構成要素と判定することを特徴とする、請求項10に記載の輪郭抽出装置。
【請求項12】
前記要素抽出部は、前記近接する複数の画像構成要素のうち、含まれる全ての画素の色相の平均値の差が所定値以下の近接する複数の画像構成要素を同一の画像構成要素と判定することを特徴とする、請求項11に記載の輪郭抽出装置。
【請求項13】
前記要素抽出部は、前記近接する複数の画像構成要素のうち、含まれる全ての画素の色相の度数分布において互いに共通する色相の度数に関連する値に応じて複数の画像構成要素を同一の画像構成要素と判定することを特徴とする、請求項11に記載の輪郭抽出装置。
【請求項14】
対象となる画像から輪郭を抽出する輪郭抽出方法であって、
前記画像から所定方向に配列される画素に対応する画素データ値を順番に抽出するデータ抽出ステップと、
前記データ抽出ステップにおいて抽出される前記画素データ値を縦軸の値として横軸に沿って順に接続することにより得られるデータ折れ線が凹である部分が検出されるよう、前記画像における注目画素から前記順番において前の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される順方向値を前記注目画素に対応する縦軸の値とする順方向検出折れ線と、前記注目画素から前記順番において後の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される逆方向値を前記注目画素に対応する縦軸の値とする逆方向検出折れ線とを算出する検出折れ線算出ステップと、
前記データ折れ線と前記順方向検出折れ線および前記逆方向検出折れ線とに基づき、前記凹である部分に対応する画素を前記画像の輪郭と判定し抽出する輪郭判定抽出ステップと
を備えることを特徴とする、輪郭抽出方法。
【請求項15】
前記画像の輪郭と判定され抽出された画素に基づき、当該輪郭に囲まれる画像領域を画像構成要素として抽出する要素抽出ステップをさらに備えることを特徴とする、請求項14に記載の輪郭抽出方法。
【請求項16】
対象となる画像から輪郭を抽出する輪郭抽出処理を行うためコンピュータにおいて、CPUがメモリを利用して、
前記画像から所定方向に配列される画素に対応する画素データ値を順番に抽出するデータ抽出ステップと、
前記データ抽出ステップにおいて抽出される前記画素データ値を縦軸の値として横軸に沿って順に接続することにより得られるデータ折れ線が凹である部分が検出されるよう、前記画像における注目画素から前記順番において前の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される順方向値を前記注目画素に対応する縦軸の値とする順方向検出折れ線と、前記注目画素から前記順番において後の画素の画素データ値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値に基づき算出される逆方向値を前記注目画素に対応する縦軸の値とする逆方向検出折れ線とを算出する検出折れ線算出ステップと、
前記データ折れ線と前記順方向検出折れ線および前記逆方向検出折れ線とに基づき、前記凹である部分に対応する画素を前記画像の輪郭と判定し抽出する輪郭判定抽出ステップとを実行する、輪郭抽出プログラム。
【請求項17】
前記検出折れ線算出ステップでは、
前記注目画素から前記順番において前の画素の画素データ値に対して1未満の正の実数を乗算した値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記順方向値に設定し、
前記注目画素から前記順番において後の画素の画素データ値に対して1未満の正の実数を乗算した値に基づき算出される値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記逆方向値に設定することを特徴とする、請求項16に記載の輪郭抽出プログラム。
【請求項18】
前記検出折れ線算出ステップでは、
前記注目画素から前記順番において1つ前の画素に対応する1つ前の順方向値にα(αは1未満の正の実数)を乗算した値に対して前記注目画素の画素データ値に(1−α)を乗算した値を加算した値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記順方向値に設定し、
前記注目画素から前記順番において1つ後の画素に対応する1つ後の逆方向値にαを乗算した値に対して前記注目画素の画素データ値に(1−α)を乗算した値を加算した値と、前記注目画素の画素データ値とのうち、いずれか小さい方の値を前記注目画素に対応する前記逆方向値に設定することを特徴とする、請求項17記載の輪郭抽出プログラム。
【請求項19】
前記データ抽出ステップでは、前記画像が表示される場合における前記画像の縦方向または横方向を前記所定方向として前記画素データ値を順に抽出することを特徴とする、請求項16に記載の輪郭抽出プログラム。
【請求項20】
前記データ抽出ステップでは、前記画像が表示される場合における前記画像の縦方向および横方向のそれぞれを前記所定方向として前記画素データ値をそれぞれ順に抽出し、
前記検出折れ線算出ステップでは、前記縦方向に順に抽出された前記画素データ値に基づき、前記縦方向に対応する検出折れ線を算出するとともに、前記横方向に順に抽出された前記画素データ値に基づき、前記横方向に対応する検出折れ線を算出し、
前記輪郭判定抽出ステップでは、前記縦方向に対応する検出折れ線に基づく前記縦方向に対応する凹である部分と、前記横方向に対応する検出折れ線に基づく前記横方向に対応する凹部分とのいずれかに対応する画素を前記画像の輪郭と判定し抽出することを特徴とする、請求項16に記載の輪郭抽出プログラム。
【請求項21】
前記データ抽出ステップでは、前記画像を構成する加法混色または減法混色で表現するための各色毎の画像から前記画素データ値をそれぞれ順に抽出し、
前記検出折れ線算出ステップでは、前記各色毎の画像それぞれについて対応する検出折れ線を算出し、
前記輪郭判定抽出ステップでは、前記各色毎の画像それぞれについて対応する検出折れ線に基づくそれぞれの凹部分のいずれかに対応する画素を前記画像の輪郭と判定し抽出することを特徴とする、請求項16に記載の輪郭抽出プログラム。
【請求項22】
前記データ抽出ステップでは、前記画素データ値として、色表現のためのL*a*b*におけるL*を順に抽出することを特徴とする、請求項16に記載の輪郭抽出プログラム。
【請求項23】
前記データ抽出ステップでは、前記画素データ値として、グレー表現のための階調値を順に抽出することを特徴とする、請求項16に記載の輪郭抽出プログラム。
【請求項24】
前記画像の輪郭と判定され抽出された画素に基づき、当該輪郭に囲まれる画像領域を画像構成要素として抽出する要素抽出ステップをさらに備えることを特徴とする、請求項16から請求項23までのいずれか1項に記載の輪郭抽出プログラム。
【請求項25】
前記要素抽出ステップでは、抽出された複数の画像構成要素のうち所定の距離以下に近接する複数の画像構成要素を同一の画像構成要素と判定することを特徴とする、請求項24に記載の輪郭抽出プログラム。
【請求項26】
前記要素抽出ステップでは、抽出された複数の画像構成要素のうちの所定の距離以下に近接する複数の画像構成要素のうち、色相に関連する値に基づき複数の画像構成要素を同一の画像構成要素と判定することを特徴とする、請求項25に記載の輪郭抽出プログラム。
【請求項27】
前記要素抽出ステップでは、前記近接する複数の画像構成要素のうち、含まれる全ての画素の色相の平均値の差が所定値以下の近接する複数の画像構成要素を同一の画像構成要素と判定することを特徴とする、請求項26に記載の輪郭抽出プログラム。
【請求項28】
前記要素抽出ステップでは、前記近接する複数の画像構成要素のうち、含まれる全ての画素の色相の度数分布において互いに共通する色相の度数に関連する値に応じて複数の画像構成要素を同一の画像構成要素と判定することを特徴とする、請求項26に記載の輪郭抽出プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate