(57)【要約】【課題】複数の物体それぞれの輪郭を高精度で検出する。【解決手段】二値化処理部２は、物体１１，１２が映った入力画像における画素ごとの特徴量を所定の二値化閾値と比較することで、入力画像の各画素の値を二値化して二値化画像を生成する。二値化処理部２は、このような処理を二値化閾値をＴＨ１，ＴＨ２，ＴＨ３と変化させながら実行して、二値化画像Ｐ１，Ｐ２，Ｐ３を生成する。輪郭検出部３は、二値化画像Ｐ１〜Ｐ３の間で領域の一部が重複する閉領域２１の面積を算出し、二値化閾値の変化に伴う閉領域２１の面積の変化率に基づいて、閉領域２１の境界を物体１１の輪郭として検出するために用いるべき二値化閾値を決定する。【選択図】図１
2015045966.tif 000002
【特許請求の範囲】
【請求項１】
複数の物体が映った画像における画素ごとの特徴量を所定の二値化閾値と比較することで、前記画像の各画素の値を二値化して二値化画像を生成する処理を、前記二値化閾値を変化させながら実行して複数の二値化画像を生成する二値化処理部と、
前記複数の二値化画像それぞれに現れる閉領域のうち、前記複数の二値化画像の間で領域の一部が重複する対応閉領域の面積を算出し、前記二値化閾値の変化に伴う前記対応閉領域の面積の変化率に基づいて、前記対応閉領域の境界を物体の輪郭として検出するために用いるべき前記二値化閾値を決定する輪郭検出部と、
を有することを特徴とする画像処理装置。
【請求項２】
前記二値化閾値は、前記対応閉領域が徐々に大きくなるように変化し、
前記輪郭検出部は、前記二値化閾値の変化に伴って連続して生成される２つの二値化画像の間で、前記対応閉領域の面積の変化率が所定の上限閾値以上になった場合に、当該２つの二値化画像のうち前側の二値化画像における前記対応閉領域の境界を、物体の輪郭として検出する、
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記輪郭検出部は、前記２つの二値化画像の間で、前記対応閉領域の面積の変化率が、前記上限閾値より小さい所定の下限閾値以下になった場合には、当該２つの二値化画像のいずれかにおける前記対応閉領域の境界を、物体の輪郭として検出することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記二値化処理部は、前記画像における各画素の画素値に基づく値の頻度を、前記画像の各画素にバックプロジェクションすることで特徴量画像を生成し、前記特徴量画像の各画素の値を前記二値化閾値と比較することで前記二値化画像を生成することを特徴とする請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記輪郭検出部は、前記特徴量画像に対して距離変換を行い、変換後の画像における極大点を、物体ごとの基準点として抽出し、前記対応閉領域の面積として、前記複数の二値化画像それぞれに現れる、同一の前記基準点を内包する閉領域の面積を算出することを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記輪郭検出部は、前記画像における画素ごとの前記特徴量に基づいて、物体ごとの基準点を抽出し、前記対応閉領域の面積として、前記複数の二値化画像それぞれに現れる、同一の前記基準点を内包する閉領域の面積を算出する、
ことを特徴とする請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項７】
前記輪郭検出部は、前記基準点の周囲領域を複数の分割領域に分割し、各分割領域に現れる、前記対応閉領域の一部である部分閉領域の面積を算出し、前記二値化閾値の変化に伴う前記部分閉領域の面積の変化率に基づいて、前記部分閉領域の境界を物体の輪郭の一部として検出するために用いるべき前記二値化閾値を、分割領域ごとに決定することを特徴とする請求項６記載の画像処理装置。
【請求項８】
複数の物体が映った画像における画素ごとの特徴量を所定の二値化閾値と比較することで、前記画像の各画素の値を二値化して二値化画像を生成する処理を、前記二値化閾値を変化させながら実行して複数の二値化画像を生成し、
前記複数の二値化画像それぞれに現れる閉領域のうち、前記複数の二値化画像の間で領域の一部が重複する対応閉領域の面積を算出し、
前記二値化閾値の変化に伴う前記対応閉領域の面積の変化率に基づいて、前記対応閉領域の境界を物体の輪郭として検出するために用いるべき前記二値化閾値を決定する、
ことを特徴とする画像処理方法。
【請求項９】
コンピュータに、
複数の物体が映った画像における画素ごとの特徴量を所定の二値化閾値と比較することで、前記画像の各画素の値を二値化して二値化画像を生成する処理を、前記二値化閾値を変化させながら実行して複数の二値化画像を生成し、
前記複数の二値化画像それぞれに現れる閉領域のうち、前記複数の二値化画像の間で領域の一部が重複する対応閉領域の面積を算出し、
前記二値化閾値の変化に伴う前記対応閉領域の面積の変化率に基づいて、前記対応閉領域の境界を物体の輪郭として検出するために用いるべき前記二値化閾値を決定する、
処理を実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
農作物の納品先との間で事前に契約した納入時期や納入量を達成するために、農作物の生産者としては、農作物の収穫時期や収穫量を早期に予測できることが理想である。このような収穫予測を行う方法としては、生育途中の農作物の重量分布を定期的に調査する方法がある。重量分布とは、農作物それぞれの重量を計測し、横軸に重量、縦軸に個数をとった度数分布である。しかし、このような収穫予測を実現するためには、大量の農作物それぞれの重量を計測しなくてはならない。
【０００３】
このような問題に対し、収穫された複数のジャガイモをデジタルカメラで撮影した画像を基に、個々のジャガイモの面積を求め、求めた面積からジャガイモの重量を評価する方法が提案されている。ここで、ジャガイモの面積は、画像に映ったジャガイモの輪郭を基に求めることができる。
【０００４】
また、撮影した画像から農作物などの物体の輪郭を抽出する方法としては、撮影された画像に基づく画素ごとの特徴量を閾値と比較して、画像を二値化する方法がある。この特徴量としては、例えば、撮影された画像における画素値のヒストグラムをバックプロジェクションすることで得られるヒストグラム画像のデータを用いることができる。
【０００５】
なお、輪郭検出に関連する技術として、入力画像から抽出した楕円形の輪郭点のそれぞれについて楕円形のパラメータを推定し、それらのパラメータを輪郭点間で辻褄の合う値に更新する処理を反復することで、重なり合った楕円形を分離してパラメータを計測する、というものがある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−２００７７４号公報
【特許文献２】特開２００１−３４４６０７号公報
【非特許文献】
【０００７】
【非特許文献１】Bruce Marshall, Mark W. Young、“Automated on-farm assessment of tuber size distribution”、Decision Support Systems in Potato Production: Bringing Models to Practice、Wageningen Pers、２００４年６月３０日、ｐ．１０１〜１１７
【非特許文献２】Gary Bradski, Adrian Kaehler、「詳解OpenCV」、株式会社オライリー・ジャパン、２００９年８月２４日、ｐ．５６１〜５６２
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、ジャガイモなどの農作物が多数映っている画像を用いて、個々の農作物の面積を求め、それらの面積から農作物の重量を評価するためには、個々の農作物の輪郭を検出できる必要がある。この際の輪郭検出において、撮影した画像に基づく画素ごとの特徴量を閾値と比較して、画像を二値化するという前述の方法を用いた場合を考える。
【０００９】
この方法では、農作物のように外観が類似している物体が、画像において多数隣接している場合、閾値の設定の仕方によって、隣接する物体同士で輪郭が連結してしまうか、あるいは、実際の輪郭より内側が輪郭として検出されて輪郭に欠けが生じる、という問題がある。これら２つの問題を同時に解決することは困難であり、例えば、１つの閾値を用いると、ある場所では隣接する物体同士で輪郭が連結されてしまうが、別の場所では輪郭に欠けが生じる、という状態が発生する。
【００１０】
１つの側面では、本発明は、複数の物体それぞれの輪郭を高精度で検出することが可能な画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
１つの案では、二値化処理部および輪郭検出部を有する次のような画像処理装置が提供される。この画像処理装置において、二値化処理部は、複数の物体が映った画像における画素ごとの特徴量を所定の二値化閾値と比較することで、画像の各画素の値を二値化して二値化画像を生成する処理を、二値化閾値を変化させながら実行して複数の二値化画像を生成する。輪郭検出部は、複数の二値化画像それぞれに現れる閉領域のうち、複数の二値化画像の間で領域の一部が重複する対応閉領域の面積を算出し、二値化閾値の変化に伴う対応閉領域の面積の変化率に基づいて、対応閉領域の境界を物体の輪郭として検出するために用いるべき二値化閾値を決定する。
【００１２】
また、１つの案では、上記画像処理装置と同様の処理が実行される画像処理方法が提供される。
さらに、１つの案では、上記画像処理装置と同様の処理をコンピュータに実行させる画像処理プログラムが提供される。
【発明の効果】
【００１３】
１態様によれば、複数の物体それぞれの輪郭を高精度で検出できる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施の形態に係る画像処理装置の構成例および処理例を示す図である。
【図２】第２の実施の形態に係る画像処理装置のハードウェア構成例を示す図である。
【図３】複数の物体が映った撮像画像の一例を示す図である。
【図４】ヒストグラムのバックプロジェクションによる濃淡画像の生成処理例を示す図である。
【図５】濃淡画像の二値化処理例を示す図である。
【図６】第２の実施の形態に係る画像処理装置の機能の構成例を示すブロック図である。
【図７】基準点の抽出例を示す図である。
【図８】閾値の変化に応じた閉領域の面積変化の例を示す図である。
【図９】第２の実施の形態に係る画像処理装置の処理例を示すフローチャートである。
【図１０】第３の実施の形態に係る画像処理装置の機能の構成例を示すブロック図である。
【図１１】分割領域の設定方法の例を示す図である。
【図１２】閾値の変化に応じた部分閉領域の面積変化の例を示す図である。
【図１３】物体に対して照明光が正面から当てられた場合の閉領域の例を示す図である。
【図１４】物体に対して照明光が斜めから当てられた場合の閉領域の例を示す図である。
【図１５】第３の実施の形態に係る画像処理装置の処理例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について図面を参照して説明する。
〔第１の実施の形態〕
図１は、第１の実施の形態に係る画像処理装置の構成例および処理例を示す図である。画像処理装置１は、複数の物体が映った入力画像から、各物体の輪郭を検出する処理を行う。特に、画像処理装置１は、入力画像において、ある物体がその周囲の他の物体に接触している場合でも、その物体の輪郭を高精度に検出可能である。
【００１６】
画像処理装置１は、二値化処理部２および輪郭検出部３を有する。二値化処理部２および輪郭検出部３の処理は、例えば、画像処理装置１が備える図示しないプロセッサが所定のプログラムを実行することで実現される。
【００１７】
二値化処理部２は、入力画像における画素ごとの特徴量を所定の二値化閾値と比較することで、入力画像の各画素の値を二値化して二値化画像を生成する。また、二値化処理部２は、このような二値化画像の生成処理を二値化閾値を変化させながら実行して、複数の二値化画像を生成する。
【００１８】
ここで、特徴量としては、例えば、入力画像の画素値に基づく輝度情報や色情報を用いることができる。また、他の例として、次のような方法を用いることもできる。二値化処理部２は、輝度情報や色情報などの画素値に基づく値の、入力画像上の出現頻度を算出し、算出した出現頻度を入力画像の各画素にバックプロジェクションすることで、特徴量画像を生成する。上記の特徴量として、このような特徴量画像の画素値（出現頻度）を用いることもできる。
【００１９】
輪郭検出部３は、生成された複数の二値化画像それぞれに現れる閉領域のうち、これらの複数の二値化画像の間で領域の一部が重複する対応閉領域の面積を算出する。そして、輪郭検出部３は、二値化閾値の変化に伴う対応閉領域の面積の変化率に基づいて、対応閉領域の境界を物体の輪郭として検出するために用いるべき二値化閾値を決定する。
【００２０】
決定された二値化閾値を用いて形成される対応閉領域の境界を、１つの物体の輪郭として検出することで、その物体の輪郭が高精度に検出される。そして、上記の処理が、１つの二値化画像に現れる複数の対応閉領域それぞれについて実行されることで、入力画像に映った複数の物体それぞれの輪郭が高精度に検出される。
【００２１】
以下、物体の輪郭検出処理の一例について説明する。この処理例では、入力画像には、互いに隣り合い、かつ接触している物体１１，１２が映っているものとする。そして、物体１１の輪郭を検出する場合を考える。
【００２２】
二値化処理部２は、二値化閾値ＴＨ１，ＴＨ２，ＴＨ３を用いて、それぞれ二値化画像Ｐ１，Ｐ２，Ｐ３を生成する（ステップＳ１）。なお、図１に示す二値化画像Ｐ１〜Ｐ３では、斜線領域が一方の画素値（例えば、値“１”）の領域を示し、斜線領域外の領域が他方の画素値（例えば、値“０”）の領域を示す。
【００２３】
この処理例では、二値化閾値ＴＨ１を用いたときに、二値化画像Ｐ１上に閉領域２１，２２が出現したものとする。二値化画像Ｐ１においては、閉領域２１は、物体１１の輪郭の内側に存在し、閉領域２２は、物体１２の輪郭の内側に存在している。
【００２４】
また、二値化閾値をＴＨ１からＴＨ２，ＴＨ３の順に変化させたとき、閉領域２１は徐々に大きくなったものとする。二値化画像Ｐ２においては、閉領域２１の輪郭は、物体１１の輪郭にほぼ一致したものとする。また、二値化画像Ｐ３においては、閉領域２１は、閉領域２２と連結してしまい、物体１２の輪郭の領域にまで拡大したものとする。
【００２５】
なお、二値化画像Ｐ１〜Ｐ３において、閉領域２１は、領域の一部が重複する前述の「対応閉領域」に相当する。
輪郭検出部３は、二値化画像Ｐ１〜Ｐ３のそれぞれにおける閉領域２１の面積を算出する（ステップＳ２）。そして、輪郭検出部３は、閉領域の２１の面積の変化率に基づいて、閉領域２１の境界を物体１１の輪郭として検出するために用いるべき二値化閾値の最適値を決定する。
【００２６】
二値化閾値をＴＨ１からＴＨ２に変化させたとき、閉領域２１は物体１１の輪郭の内側において拡大する。一方、二値化閾値をＴＨ２からＴＨ３に変化させたとき、閉領域２１は他の閉領域２２と連結してしまう。このため、二値化閾値をＴＨ２からＴＨ３に変化させたとき、閉領域２１の面積の変化率は急激に大きくなる。
【００２７】
この場合、二値化閾値をＴＨ３に変化させる直前に生成された二値化画像Ｐ２における閉領域２１の輪郭が、対応する物体１１の輪郭に最も近いと推定される。そこで、輪郭検出部３は、閉領域２１の面積の変化率が急激に大きくなったと判断すると、閉領域２１が急激に拡大する直前の二値化画像Ｐ２を生成するために用いられていた二値化閾値ＴＨ２を、二値化閾値の最適値に決定する（ステップＳ３）。
【００２８】
従って、二値化閾値ＴＨ２を用いて生成された二値化画像Ｐ２における閉領域２１の境界が、対応する物体１１の輪郭として出力されることで、物体１１の輪郭を高精度に検出することができる。
【００２９】
また、画像処理装置１は、上記と同様の処理手順により、閉領域２２の面積の変化率に基づいて、閉領域２２についての二値化閾値の最適値を決定することで、物体１２の輪郭も高精度に検出できる。
【００３０】
〔第２の実施の形態〕
図２は、第２の実施の形態に係る画像処理装置のハードウェア構成例を示す図である。画像処理装置１００は、例えば、図２のようなコンピュータとして実現される。
【００３１】
画像処理装置１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ１０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００３２】
プロセッサ１０１には、バス１０８を介して、ＲＡＭ（Random Access Memory）１０２と複数の周辺機器が接続されている。
ＲＡＭ１０２は、画像処理装置１００の主記憶装置として使用される。ＲＡＭ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。
【００３３】
バス１０８に接続されている周辺機器としては、ＨＤＤ（Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、読み取り装置１０６および通信インタフェース１０７がある。
【００３４】
ＨＤＤ１０３は、画像処理装置１００の補助記憶装置として使用される。ＨＤＤ１０３には、ＯＳプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、ＳＳＤ（Solid State Drive）などの他の種類の不揮発性記憶装置を使用することもできる。
【００３５】
グラフィック処理装置１０４には、表示装置１０４ａが接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、画像を表示装置１０４ａの画面に表示させる。表示装置としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００３６】
入力インタフェース１０５には、入力装置１０５ａが接続されている。入力インタフェース１０５は、入力装置１０５ａから出力される信号をプロセッサ１０１に送信する。入力装置１０５ａとしては、キーボードやポインティングデバイスなどがある。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００３７】
読み取り装置１０６には、可搬型記録媒体１０６ａが脱着される。読み取り装置１０６は、可搬型記録媒体１０６ａに記録されたデータを読み取ってプロセッサ１０１に送信する。可搬型記録媒体１０６ａとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。
【００３８】
通信インタフェース１０７は、ネットワークを介して、他の装置との間でデータの送受信を行う。
以上のようなハードウェア構成によって、画像処理装置１００の処理機能を実現することができる。
【００３９】
上記の画像処理装置１００は、外部の撮像装置によって撮像された、複数の物体が映った撮像画像の画像データの入力を受け付け、この画像データを処理の対象とする。撮像装置としては、例えば、一般的に市販されているデジタルスチルカメラを用いることができる。画像データは、例えば、可搬型記録媒体１０６ａを介して、あるいはネットワーク上の他の装置から通信インタフェース１０７を介して、画像処理装置１００へ入力される。入力された画像データは、例えばＨＤＤ１０３に保存される。
【００４０】
本実施の形態では、撮像画像に映っている物体として、例えば、ジャガイモなどの同種類の農作物を想定する。ただし、以下で説明する個々の物体の輪郭検出処理において、本質的には、検出対象の個々の物体は農作物に限定されない。個々の物体としては、例えば、画像に映ったときに画像データから判断される特徴量に、ある程度の共通性を有するものであればよい。このような特徴量としては、色情報がある。また、物体の形状としては、撮像される側の表面が曲面状になっていることが望ましい。
【００４１】
なお、画像処理装置１００は、例えば、農作物の生産者が操作する端末装置（例えば、パーソナルコンピュータなど）として実現される。また、他の例として、画像処理装置１００は、インターネットなどの広域ネットワークに接続されたサーバ装置であってもよい。後者の場合、農作物の生産者は、例えば、農作物を撮像した撮像画像のデータを、端末装置からネットワークを介してクラウドサーバに送信し、農作物の輪郭検出や重量推定などの後述する処理の実行を依頼する。
【００４２】
図３は、複数の物体が映った撮像画像の一例を示す図である。図３に示す撮像画像に映っている物体２０１は、例えば、ジャガイモである。また、それぞれの物体２０１は、上下方向（すなわち、撮像装置から見て前後方向）に重ならないように平面的に並べられる。このような画像は、例えば、カゴの底面に並べられた多数の農作物を、カゴの上方から撮像することで得られる。
【００４３】
画像処理装置１００は、図３のような撮像画像から、個々の物体２０１の輪郭を抽出する。また、画像処理装置１００は、抽出された輪郭を基に、各物体２０１の撮像画像上の面積を算出する。物体２０１が農作物である場合、前述した非特許文献１に記載の技術などを用いて、算出された各物体２０１の面積を基に、各物体２０１の重量を推定することができる。
【００４４】
例えば、農作物の生産者は、生育途中の多数の農作物を収穫して、それらの農作物を図３のような状態で撮像する。画像処理装置１００を用いて、撮像によって得られた画像から個々の農作物の重量を推定し、それらの農作物の重量分布を計算することができれば、生産者は、簡単な作業で農作物の収穫時期や収穫量を予測することができる。
【００４５】
本実施の形態において、画像処理装置１００は、各物体２０１の輪郭を検出する方法として、撮像画像に基づく画素ごとの特徴量を閾値と比較して、画像を二値化し、各物体２０１の領域とそれらの背景の領域とを分離する方法を用いる。また、特徴量としては、撮像画像に基づく画素ごとの特徴量のヒストグラムをバックプロジェクションすることで得られる濃淡画像の画素値（すなわち、頻度）が用いられる。
【００４６】
ヒストグラムのバックプロジェクションを用いた輪郭検出法は、例えば、検出対象の物体のモデルを用いるモデルフィッティング法と比較して、農作物のように、外形や色、模様などの視覚的特徴が類似しているが一様でない非定型の物体の輪郭を高精度に検出できる方法として知られている。
【００４７】
ここで、ヒストグラムのバックプロジェクションを用いた輪郭検出手順の概要と、その問題点について説明する。
図４は、ヒストグラムのバックプロジェクションによる濃淡画像の生成処理例を示す図である。図４に示すように、濃淡画像の生成は、例えば、撮像画像２１１からの色サンプリング、ヒストグラムの算出、ヒストグラムのバックプロジェクションという手順で行われる。
【００４８】
色サンプリングでは、処理対象の撮像画像２１１の領域のうち、検出対象の物体が映った領域内にサンプリング領域２１２が設定される。サンプリング領域２１２は、例えば、撮像画像２１１を表示装置１０４ａを介して視認する操作者の入力によって設定されてもよい。あるいは、撮像画像２１１から、色情報の値が検出対象の物体を識別するための一定の閾値範囲に含まれる連続的な領域が、画像処理装置１００によって自動的に検出されてもよい。
【００４９】
図４の例では、サンプリング領域２１２は、撮像画像２１１に含まれる２つの物体２１３ａ，２１３ｂのうちの１つの領域内に設定されているが、サンプリング領域２１２は、２つ以上の物体それぞれの領域内に設定されてもよい。
【００５０】
色サンプリングでは、設定されたサンプリング領域２１２における画素値がサンプリングされ、サンプリングされた画素値を基にヒストグラムが算出される。図４の例では、Ｈ（Hue、色相）Ｓ（Saturation、彩度）およびＶ（Value、明度）のヒストグラム（以下、「ＨＳＶヒストグラム」と呼ぶ）２１４が算出される。なお、図４ではＨＳＶヒストグラム２１４を平面的に描いているが、ＨＳＶヒストグラム２１４は、実際には、Ｈ、Ｓ、Ｖおよび頻度（画素数）の４軸を有するグラフとなる。
【００５１】
なお、ヒストグラムとしては、ＨＳＶヒストグラムの他、例えば、ＨおよびＳのヒストグラム、輝度のヒストグラムなどを用いることもできる。
次に、算出されたＨＳＶヒストグラム２１４を撮像画像２１１にバックプロジェクションすることで、頻度を画素値とする濃淡画像２１５が生成される。この処理では、画像処理装置１００は、撮像画像２１１の各画素について、元の画素値に基づくＨおよびＳの値に対応する頻度をＨＳＶヒストグラム２１４から判別し、判別した頻度を撮像画像２１１の対応する画素の位置に画素値として代入する。生成された濃淡画像２１５においては、画素値が大きいほど、その画素が検出対象の物体に属する確率が高いことを示し、画素値が小さいほど、その画素が検出対象の物体以外の背景領域に属する確率が高いことを示す。
【００５２】
次に、濃淡画像２１５の各画素の画素値を閾値と比較することで、濃淡画像２１５の二値化が行われる。この二値化処理では、例えば、画素値（頻度）が閾値以上である画素に値“１”が代入され、画素値（頻度）が閾値未満である画素に値“０”が代入される。このようにして濃淡画像２１５から変換された二値化画像においては、値“１”の領域が検出対象の物体の領域であると推定される。そして、値“１”の領域と値“０”の領域との境界が、物体の輪郭として抽出される。
【００５３】
図５は、濃淡画像の二値化処理例を示す図である。図５に示すグラフ２２１は、図４の濃淡画像２１５における左上の点Ｘ１と右下の点Ｙ１とを結んだＸ１−Ｙ１線に沿って、濃淡画像２１５における画素値（頻度）の分布を表したものである。また、図５では、それぞれ異なる閾値Ｔ１，Ｔ２を用いて生成された２つの二値化画像２２２，２２３も示している。なお、閾値Ｔ１は、閾値Ｔ２より大きいものとする。
【００５４】
図４の撮像画像２１１のように、検出対象の複数の物体が互いに隣接している場合には、物体それぞれの輪郭を高精度に抽出できるような閾値を設定することが難しいという問題がある。例えば、比較的大きい値である閾値Ｔ１を用いて二値化画像２２２を生成した場合、物体の実際の輪郭よりも物体の内側方向に輪郭が検出され、図５に斜線で示すような欠け領域２２２ａが発生する可能性がある。一方、比較的小さい値である閾値Ｔ２を用いて二値化画像２２３を生成した場合、領域２２３ａにおいて隣接する２つの物体の輪郭が連結してしまう可能性がある。
【００５５】
濃淡画像２１５における各物体の領域内の画素値は、例えば、それぞれの物体の形状、隣接する物体との接触位置との位置関係、光源からの光の当たり方などの要因によって、一様にはならない。また、これらの要因は物体ごとに異なるため、物体の領域内の画素値の分布は物体ごとに異なる。このため、ある１つの閾値を用いて濃淡画像２１５を二値化した場合、ある物体の輪郭が正確に抽出できたとしても、他の物体の輪郭に欠けが生じたり、さらに他の物体についてはその隣接物体と輪郭が連結する、といった事態が生じてしまう。
【００５６】
このような問題を解決するために、本実施の形態の画像処理装置１００は、濃淡画像２１５を基に閾値を変化させながらその都度二値化画像を生成し、各物体の領域に対応する閉領域の面積を算出する。そして、画像処理装置１００は、閾値の変化に伴う閉領域の面積の変化率を基に、変化させた閾値の中から最適な閾値を決定する。例えば、閉領域の面積が急激に変化するような閾値を探索することで、最適な閾値が決定される。
【００５７】
図６は、第２の実施の形態に係る画像処理装置の機能の構成例を示すブロック図である。画像処理装置１００は、画像変換部１１１、基準点抽出部１１２、二値化処理部１１３、閾値探索部１１４および輪郭抽出部１１５を有する。これらの各部の処理は、例えば、画像処理装置１００が備えるプロセッサ１０１が所定のプログラムを実行することで実現される。
【００５８】
画像変換部１１１は、複数の物体が映った撮像画像を、ＨＳＶヒストグラムの頻度を画素値とする濃淡画像に変換する。具体的には、画像変換部１１１は、撮像画像の画素値に基づくＨおよびＳの値からＨＳＶヒストグラムを算出し、ＨＳＶヒストグラムを撮像画像にバックプロジェクションすることで、濃淡画像を生成する。
【００５９】
基準点抽出部１１２は、濃淡画像から、物体のそれぞれに対応する基準点を抽出する。具体的には、基準点抽出部１１２は、濃淡画像を距離変換して距離変換画像を生成し、距離変換画像における極大点を複数抽出し、各極大点の位置を基準点とする。
【００６０】
二値化処理部１１３は、画像変換部１１１によって変換された濃淡画像の各画素を閾値と比較することで二値化し、二値化画像を生成する。二値化処理部１１３による二値化処理の対象領域や、二値化の際に使用する閾値は、閾値探索部１１４から指定される。
【００６１】
閾値探索部１１４は、基準点抽出部１１２によって抽出された基準点ごとに、基準点に対応する物体の輪郭を抽出するための最適な閾値を探索する。具体的には、閾値探索部１１４は、二値化処理部１１３に、閾値を徐々に変化させながら二値化画像を生成させ、生成される二値化画像のそれぞれに現れる、基準点を包含する閉領域の面積を算出する。閾値探索部１１４は、閾値を変化させたときの閉領域の面積の変化率に基づいて、基準点ごとに最適な閾値を決定する。
【００６２】
輪郭抽出部１１５は、基準点ごとに、閾値探索部１１４によって決定された閾値を用いて生成された二値化画像上の閉領域の輪郭を抽出する。１つの基準点について抽出された輪郭は、撮像画像に映った１つの物体の輪郭に対応する。
【００６３】
以下、画像処理装置１００の処理の詳細について説明する。
＜濃淡画像への変換＞
画像変換部１１１は、複数の物体が映った撮像画像を、ＨＳＶヒストグラムの頻度を画素値とする濃淡画像に変換する。濃淡画像の生成処理手順は図４で説明した通りであり、画像変換部１１１は、撮像画像の画素値に基づいてＨＳＶヒストグラムを算出し、ＨＳＶヒストグラムを撮像画像にバックプロジェクションすることで、濃淡画像を生成する。
【００６４】
＜基準点の抽出＞
基準点抽出部１１２は、濃淡画像を距離変換して距離変換画像を生成し、距離変換画像における極大点を複数抽出する。各極大点の位置が基準点とされる。
【００６５】
距離変換とは、検出対象の物体を含む画像上の画素の値を、その画素から背景画像（検出対象の物体以外の画素）までの最短距離に置き換える処理である。これにより、物体が映っている領域の画素には、その物体の輪郭部からその画素までの距離が書き込まれる。距離変換処理は、例えば、初期化処理、ラスタスキャンによる距離変換、逆ラスタスキャンによる距離変換の各処理を含む。
【００６６】
まず、基準点抽出部１１２は、初期化処理として、濃淡画像を所定の閾値を用いて二値化する。この閾値としては、比較的緩い値（比較的小さい値）が用いられる。そして、基準点抽出部１１２は、得られた二値化画像を第１の距離変換画像に変換する。ここで、二値化画像および第１の距離変換画像における画素（ｉ，ｊ）の画素値を、それぞれｐ（ｉ，ｊ）、ｄ１（ｉ，ｊ）とする。基準点抽出部１１２は、画素（ｉ，ｊ）のそれぞれについて、画素値ｐ（ｉ，ｊ）が１の場合には画素値ｄ１（ｉ，ｊ）に任意の最大値（ただし、最大値は１より大きい）を設定し、画素値ｐ（ｉ，ｊ）が０の場合には画素値ｄ１（ｉ，ｊ）に０を設定する。
【００６７】
次に、基準点抽出部１１２は、ラスタスキャンによる距離変換を行う。基準点抽出部１１２は、上記のようにして生成された第１の距離変換画像を左上端から右下端へラスタスキャンしながら、次の式（１）の演算を行うことで、第１の距離変換画像を第２の距離変換画像に変換する。ここで、第２の距離変換画像における画素（ｉ，ｊ）の画素値をｄ２（ｉ，ｊ）とする。また、“ｍｉｎ｛…｝”は、｛…｝の中の値のうち最小値を選択することを意味する。
ｄ２（ｉ，ｊ）＝ｍｉｎ｛ｄ１（ｉ，ｊ），ｄ２（ｉ−１，ｊ）＋１，ｄ２（ｉ，ｊ−１）＋１｝      ・・・（１）
次に、基準点抽出部１１２は、逆ラスタスキャンによる距離変換を行う。基準点抽出部１１２は、上記のようにして生成された第２の距離変換画像を右下端から左上端へ逆ラスタスキャンしながら、次の式（２）の演算を行うことで、第２の距離変換画像を最終的な第３の距離変換画像に変換する。ここで、第３の距離変換画像における画素（ｉ，ｊ）の画素値をｄ（ｉ，ｊ）とする。
ｄ（ｉ，ｊ）＝ｍｉｎ｛ｄ２（ｉ，ｊ），ｄ（ｉ＋１，ｊ）＋１，ｄ（ｉ，ｊ＋１）＋１｝      ・・・（２）
次に、基準点抽出部１１２は、上記のようにして生成された距離変換画像の各画素を対象に、近傍画素の中で極大となる画素の位置を求める。例えば、基準点抽出部１１２は、画素（ｉ，ｊ）について、その画素を中心とする７画素×７画素の領域から、画素値が最大の位置（最大点）を探索するとともに、その画素値（最大値）を記憶する。基準点抽出部１１２は、この処理を距離変換画像の左上端から右下端へラスタスキャンしながら実行し、最大値が更新された場合には、更新された最大値の画素を新たな最大点として追加するとともに、記憶していた最大値を更新する。
【００６８】
基準点抽出部１１２は、このようにして探索された複数の最大点の中から、画素値が所定の閾値未満である点を除外してフィルタリングを行う。さらに、基準点抽出部１１２は、残った最大点の中から、互いの距離が所定の閾値未満である最大点のペアを抽出し、抽出したペアのうち画素値が小さい方の最大点を除外してクラスタリングを行う。基準点抽出部１１２は、このようにして絞り込まれた最大点を、基準点に決定する。
【００６９】
図７は、基準点の抽出例を示す図である。図７に示す濃淡画像２３１において、点線は、映っている各物体の実際の輪郭を示す。上記処理により、ほとんどの基準点は、それぞれ物体の輪郭の内部に抽出される。
【００７０】
なお、以上の基準点の算出方法はあくまで一例であり、例えば、ミーンシフト（MeanShift）法を用いて基準点を算出することもできる。
＜最適な閾値の探索および輪郭抽出＞
二値化処理部１１３は、画像変換部１１１によって変換された濃淡画像の各画素を閾値と比較することで二値化し、二値化画像を生成する。閾値探索部１１４は、二値化処理部１１３に、閾値を徐々に変化させながら二値化画像を生成させる。
【００７１】
前述のように、基準点抽出部１１２によって抽出された各基準点は、検出対象の物体の内部領域に位置すると推定される。このため、生成される二値化画像においては、各基準点を内包するような閉領域が現れる。この閉領域は、基準点に対応する物体の輪郭に相当する。なお、閉領域とは、基準点と同じ画素値を有する隣接した領域であり、本実施の形態では、基準点を内包する画素値“１”の領域である。閾値探索部１１４は、閾値を変化させながら、基準点ごとに各基準点を内包する閉領域の面積を算出する。
【００７２】
ここで、図８は、閾値の変化に応じた閉領域の面積変化の例を示す図である。図８に示す物体２４１ａ，２４１ｂは、それぞれ濃淡画像に実際に映っている物体である。物体２４１ａ，２４１ｂは隣り合い、かつ接触している。以下、物体２４１ａを輪郭の検出対象とする。なお、物体２４１ａの領域の内部には、基準点２４２が抽出されているものとする。物体２４１ｂの領域の内部にも、別の基準点が抽出されていてよいが、ここでは省略する。
【００７３】
濃淡画像の各画素の画素値を閾値と比較して二値化することで、基準点２４２の周囲には、基準点２４２を内包するように閉領域２４３が現れる。また、二値化の際に使用される閾値が変化することで、同じ基準点２４２を内包する閉領域２４３の形状は変化し、その面積も変化する。
【００７４】
グラフ２４４は、閾値の変化と、基準点２４２を内包する閉領域２４３の面積の変化との関係の例を示す。ここで、閾値探索部１１４は、閾値を段階的に変化させるものとする。図８のＴ（ｊ−１），Ｔｊ，Ｔ（ｊ＋１）は、（ｊ−１）番目、ｊ番目、（ｊ＋１）番目にそれぞれ設定される閾値を示す。なお、閾値は等間隔で設定されるものとする。これにより、隣接する２つの閾値をそれぞれ用いて抽出された閉領域の面積の差分を、面積の変化率と考えることができる。
【００７５】
以下、図８に示すように、閾値を厳しい値から緩い値へ、すなわち大きい値から小さい値に変化させるものとする。グラフ２４５ａ〜グラフ２４５ｃは、図８中の点Ｘ２と点Ｙ２とを結ぶＸ２−Ｙ２線に沿った、濃淡画像の画素値（頻度）の分布を示す。
【００７６】
グラフ２４４に示すように、閾値が小さくなるほど、閉領域２４３の面積は大きくなる。閾値が例えばＴ（ｊ−１）であるとき、閉領域２４３は、物体２４１ａの実際の輪郭より内側に現れる。すなわち、この状態で閉領域２４３の境界線を輪郭として抽出した場合、輪郭の欠けが生じることになる。
【００７７】
また、閾値が例えばＴｊに低下すると、閉領域２４３は大きくなり、その面積も増加する。このとき、閉領域２４３は、物体２４１ａの実際の輪郭と一致したものとする。
また、閾値が例えばさらにＴ（ｊ＋１）に低下すると、閉領域２４３はさらに大きくなり、その面積も増加する。このとき、閉領域２４３は、物体２４１ａの実際の輪郭と、これに隣接する物体２４１ｂの実際の輪郭とが連結した領域にまで拡大してしまう。
【００７８】
ここで、閾値がＴｊまで徐々に小さくなる期間では、閉領域２４３はあくまで、物体２４１ａの実際の輪郭の内部において徐々に拡大する。このため、閉領域２４３の面積の変化率ｄＳ１はあまり大きくない。一方、閾値がＴｊよりさらに小さくなると、閉領域２４３は、物体２４１ａ，２４１ｂの実際の輪郭が連結した領域にまで拡大する。このため、閉領域２４３の変化率ｄＳ２は急激に大きくなる。
【００７９】
そこで、閾値探索部１１４は、基準点２４２を包含する閉領域２４３の面積の変化率が急激に大きくなったことを検知すると、変化率が急激に大きくなる直前に設定されていた閾値を、基準点２４２に対応する最適な閾値と判断する。
【００８０】
図８の例では、閾値探索部１１４は、閾値Ｔ（ｊ＋１）を設定して生成された二値化画像から閉領域２４３の面積を算出し、面積の変化率が急激に大きくなったと判定する。そして、閾値探索部１１４は、直前に設定していた閾値Ｔｊを、基準点２４２に対応する最適な閾値と判断する。
【００８１】
閾値探索部１１４は、閾値Ｔｊを設定して得られる二値化画像を、二値化処理部１１３から輪郭抽出部１１５に出力させ、この二値化画像上の閉領域２４３を基に輪郭の抽出を実行させる。輪郭抽出部１１５は、閉領域２４３の境界を検出し、検出した境界を、基準点２４２に対応する輪郭として出力する。これにより、周囲の他の物体と接触している物体の輪郭を、高精度に検出できるようになる。
【００８２】
また、以上の二値化処理部１１３、閾値探索部１１４および輪郭抽出部１１５による処理が、基準点ごとに実行されることで、各基準点に対応する物体の輪郭が抽出される。
なお、図示しないが、輪郭抽出の対象となる物体に対して、他の物体が接触していない場合には、その物体の輪郭は次のようにして抽出される。この物体の領域の内部に基準点が抽出されると、閾値探索部１１４は、上記と同様に閾値を徐々に小さくしながら二値化処理部１１３に二値化画像を生成させる。これにより、基準点を包含する閉領域が生成され、閾値の低下に伴って閉領域は徐々に拡大する。しかし、物体には他の物体が接触していないことから、閉領域は物体の実際の輪郭と一致した時点で一旦飽和し、閉領域の面積の変化率が極端に小さくなる。
【００８３】
そこで、閾値探索部１１４は、基準点を包含する閉領域の面積の変化率が極端に小さくなったことを検知すると、変化率が極端に小さくなる直前に設定されていた閾値を、その基準点に対応する最適な閾値と判断する。これにより、周囲の他の物体と接触していない物体の輪郭も高精度に検出できるようになる。
【００８４】
図９は、第２の実施の形態に係る画像処理装置の処理例を示すフローチャートである。
［ステップＳ１１］画像変換部１１１は、撮像画像の画素値に基づいてＨＳＶヒストグラムを算出する。
【００８５】
［ステップＳ１２］画像変換部１１１は、ＨＳＶヒストグラムを撮像画像にバックプロジェクションすることで、濃淡画像を生成する。
［ステップＳ１３］基準点抽出部１１２は、濃淡画像を距離変換して距離変換画像を生成し、距離変換画像における極大点を複数抽出する。基準点抽出部１１２は、抽出された各極大点を、それぞれ物体に対応する基準点として出力する。このとき、基準点抽出部１１２は、濃淡画像における各基準点の座標を、例えばＲＡＭ１０２に保存する。
【００８６】
［ステップＳ１４］閾値探索部１１４は、基準点を１つ選択する。
［ステップＳ１５］閾値探索部１１４は、二値化処理部１１３に対して二値化処理のための閾値を設定する。
【００８７】
このステップＳ１５で設定される閾値としては、段階的な所定数の値があらかじめ決められている。そして、ステップＳ１５〜Ｓ１７の処理は、決められた閾値の数だけ繰り返される。ステップＳ１４の実行後の閾値の初回設定時（すなわち、１つの基準点に対応する閾値の初回設定時）には、決められた閾値のうちの最大値が二値化処理部１１３に設定される。それ以後、ステップＳ１７で“Ｎｏ”と判定されてステップＳ１５が実行されるたびに、ステップＳ１５では１段階小さい閾値が設定される。
【００８８】
なお、ステップＳ１４の実行後の初回設定時に設定される閾値は、二値化画像における対応する閉領域が、対応する１つの物体が映っている領域より小さくなるように決定される。このような閾値の初期値は、例えば、経験的な値として決められてもよい。あるいは、図９の処理開始時に、オペレータが、閾値を入力して二値化画像のサンプルを生成させ、生成された二値化画像のサンプルを目視して閾値の初期値を決定してもよい。決定された閾値は、例えば、照明環境、撮影角度や距離、画像サイズ、撮影対象の種類といった撮影条件が変化しなければ、その後に継続して使用可能である。
【００８９】
［ステップＳ１６］二値化処理部１１３は、ステップＳ１２で生成された濃淡画像を、ステップＳ１５で設定された閾値を用いて二値化する。具体的には、二値化処理部１１３は、画素値（頻度）が閾値以上の画素に値“１”を代入し、閾値未満の画素に値“０”を代入することで、二値化画像を生成する。
【００９０】
閾値探索部１１４は、生成された二値化画像に現れる、該当基準点を内包する閉領域の面積を算出する。閉領域とは、該当基準点を内包し、かつ、該当基準点の画素値“１”と同じ画素値を有する隣接した領域である。
【００９１】
［ステップＳ１７］閾値探索部１１４は、決められたすべての閾値を設定済みかを判定する。未設定の閾値がある場合、ステップＳ１５の処理が実行され、すべての閾値が設定済みの場合、ステップＳ１８の処理が実行される。
【００９２】
なお、上記のステップＳ１６では、濃淡画像全体の領域が二値化される必要はなく、該当基準点を内包する１つの閉領域が抽出されるような領域が、最低限二値化されればよい。
【００９３】
例えば、濃淡画像に映る物体の大きさの最大値が予想できる場合には、予想される最大の物体が内包されるようなサイズより少し大きいサイズの矩形領域をあらかじめ決めておく。そして、閾値探索部１１４は、該当基準点を中心とする矩形領域を二値化処理部１１３に指定して、その矩形領域の二値化処理を実行させる。
【００９４】
また、他の例としては、１つの基準点についてステップＳ１５〜Ｓ１７が繰り返される際に、ステップＳ１６の初回実行時に、閾値探索部１１４は二値化処理部１１３に、濃淡画像全体の二値化処理を実行させる。このとき、閾値探索部１１４は、該当基準点を内包する閉領域を抽出し、その閉領域の大きさに基づいて、閉領域が抽出される十分な大きさの二値化領域を決定して、その後のステップＳ１６の実行時に指定する。また、ステップＳ１６が実行されるたびに閉領域は大きくなることから、閾値探索部１１４は、ステップＳ１６を実行するたびに二値化領域を徐々に大きくしてもよい。
【００９５】
［ステップＳ１８］閾値探索部１１４は、ステップＳ１６で算出された閉領域の面積を時系列に沿って並べたときに、面積の変化量が最初に、所定の上限閾値ｄＳｍａｘ以上となるか、または所定の下限閾値ｄＳｍｉｎ（ただし、ｄＳｍｉｎ＜ｄＳｍａｘ）となる面積の組を特定する。
【００９６】
ここで、面積の変化量が上限閾値ｄＳｍａｘ以上となる面積の組が特定された場合、閾値探索部１１４は、特定された面積の組のうち前者の面積（時系列的に前の面積）の算出時に二値化処理部１１３に設定していた閾値を、該当基準点に対応する物体の輪郭検出のための最適閾値と判定する。なお、前述のように、面積の変化量が上限閾値ｄＳｍａｘ以上となる面積の組が特定される場合とは、閉領域が、対応する物体の実際の輪郭の領域と、隣接する物体の実際の輪郭の領域と連結する領域まで拡大してしまう場合である。
【００９７】
また、面積の変化量が下限閾値ｄＳｍｉｎ以下となる面積の組が特定された場合、閾値探索部１１４は、特定された面積の組のうちの一方の面積（例えば、後者の面積）の算出時に二値化処理部１１３に設定していた閾値を、該当基準点に対応する物体の輪郭検出のための最適閾値と判定する。なお、前述のように、面積の変化量が下限閾値ｄＳｍｉｎ以下となる面積の組が特定される場合とは、対応する物体が周囲の物体に接触しておらず、閉領域の大きさが飽和する場合である。
【００９８】
［ステップＳ１９］閾値探索部１１４は、ステップＳ１８で判定した最適閾値を用いて生成された二値化画像を二値化処理部１１３に出力させる。この二値化画像は、ステップＳ１６で生成済みの、対応する閉領域を包含する二値化対象領域のみの二値化画像であってよい。
【００９９】
輪郭抽出部１１５は、二値化処理部１１３から出力された二値化画像における対応する閉領域の境界を検出し、検出された境界を、ステップＳ１４で選択した基準点に対応する物体の輪郭として出力する。
【０１００】
［ステップＳ２０］閾値探索部１１４は、ステップＳ１３で抽出されたすべての基準点を選択済みかを判定する。選択されていない基準点がある場合には、ステップＳ１４の処理が実行される。一方、全基準点が選択済みの場合、処理が終了する。なお、後者の場合、図示しないが、画像処理装置１００は、抽出された各物体の輪郭を基に、撮像画像における各物体の面積を算出してもよい。さらに、画像処理装置１００は、算出された各物体の面積を基に、各物体の推定重量を算出してもよい。
【０１０１】
以上説明した第２の実施の形態によれば、撮像画像において、輪郭検出対象の物体がその周囲の他の物体と接触している場合でも、各物体の輪郭を正確に検出することができる。また、撮像画像の中に、周囲の他の物体と接触していない物体が含まれている場合でも、その物体についても輪郭を正確に検出することができる。
【０１０２】
なお、上記の第２の実施の形態では、最初に各物体に対応する基準点を抽出して、基準点ごとに閉領域の面積の変化率を算出した。しかし、基準点を用いずに、閾値を変えながら生成される二値化画像間で対応する閉領域ごとに、面積の変化率を評価し、最適閾値を求めることもできる。ここで言う「対応する閉領域」とは、例えば、領域の一部が重複する閉領域である。
【０１０３】
ただし、物体それぞれに対する照明の当たり方などの条件により、閾値を変化させたときの閉領域の変化の仕方は様々であり、二値化画像間で対応する閉領域を判定することが困難な場合がある。これに対し、上記のように物体に対応する基準点（極大点）を抽出して基準点ごとに閉領域の面積の変化率を算出することで、個々の物体に対応する閉領域を高精度に推測できるようになる。その結果、全体として輪郭検出精度を向上させることができる。
【０１０４】
また、輪郭抽出部１１５は、ステップＳ１９で閉領域の輪郭を抽出したとき、その輪郭の円形度あるいはアスペクト比（あるいはそれらの両方）を算出し、算出された値が所定の閾値範囲内であるかを判定してもよい。算出された値が所定の閾値範囲外である場合、目的とする物体の輪郭が正確に検出されていない可能性がある。そこで、画像処理装置１００は、該当する基準点についてステップＳ１５〜Ｓ１９の処理を再実行する。このとき、例えば、ステップＳ１５で設定する閾値のステップ幅を小さくしたり、設定する閾値のレンジを変更してもよい。これにより、目的とする物体を正確に検出し、その輪郭の検出精度を向上させることができる。
【０１０５】
〔第３の実施の形態〕
上記の第２の実施の形態では、基準点ごとに閉領域の面積の変化率を算出して、基準点ごとに最適閾値を判定した。これに対して、以下の第３の実施の形態は、基準点を通る複数の分割線によって分割された分割領域ごとに、閉領域の面積の変化率を算出するように、第２の実施の形態を変形したものである。このような方法を用いることで、撮像画像に映った物体に照明の当たり方のバラツキがあった場合でも、物体ごとの輪郭を高精度に検出できるようにする。
【０１０６】
図１０は、第３の実施の形態に係る画像処理装置の機能の構成例を示すブロック図である。なお、図１０では、図６と同じ処理を行う処理ブロックには同じ符号を付して示しており、それらの説明を省略する。
【０１０７】
第３の実施の形態に係る画像処理装置１００ａは、第２の実施の形態と同様の画像変換部１１１、基準点抽出部１１２、二値化処理部１１３および輪郭抽出部１１５を有する。また、画像処理装置１００ａは、第２の実施の形態の閾値探索部１１４の代わりに、閾値探索部１１４ａを有し、さらに、領域分割部１２１および領域統合部１２２を有する。これらの各部の処理は、例えば、画像処理装置１００ａが備えるプロセッサが所定のプログラムを実行することで実現される。
【０１０８】
領域分割部１２１は、基準点抽出部１１２によって抽出された基準点ごとに、各基準点の周囲領域を複数の分割領域に分割する。
閾値探索部１１４ａは、第２の実施の形態と同様に、二値化処理部１１３に、閾値を徐々に変化させながら二値化画像を生成させる。ただし、閾値探索部１１４ａは、基準点に対応する閉領域の輪郭を検出するための二値化時の最適な閾値を、基準点ごとではなく、分割領域ごとに決定する。
【０１０９】
これにより、１つの基準点の周囲に形成された分割領域ごとに最適な閾値を用いて閉領域が生成される。領域統合部１２２は、これらの閉領域を統合して、１つの基準点に対応する閉領域に変換する。そして、変換された閉領域に基づいて、輪郭抽出部１１５によって物体に対応する輪郭が検出される。
【０１１０】
図１１は、分割領域の設定方法の例を示す図である。領域分割部１２１は、各基準点の周囲領域を、基準点を通る複数の分割線によって分割する。これにより、基準点を中心とした放射状に分割領域が形成される。そして、閾値探索部１１４ａは、二値化のための閾値を変化させながら、分割領域ごとに閉領域の面積の変化率を算出し、分割領域ごとに最適閾値を判定する。
【０１１１】
図１１の例では、基準点２５１を通る２本の分割線２５２ａ，２５２ｂによって、基準点２５１の周囲領域が４つの分割領域に分割されている。従って、二値化画像に現れる、基準点２５１を内包する閉領域も、分割線２５２ａ，２５２ｂによって４つに分割される。
【０１１２】
以下、閉領域が分割線によって分割された領域のそれぞれを、部分閉領域と呼ぶ。部分閉領域はそれぞれ、２本の分割線と、それら２本の分割線が交差する位置にある基準点とに接し、その基準点と同じ画素値“１”を有する隣接する領域である。図１１の例では、分割線２５２ａ，２５２ｂにより、基準点２５１の左上に部分閉領域２５３ａが形成され、右上に部分閉領域２５３ｂが形成され、右下に部分閉領域２５３ｃが形成され、左下に部分閉領域２５３ｄが形成される。
【０１１３】
なお、図１１に示す二値化領域２５４は、基準点２５１に対応する二値化の対象領域であり、これは図９のステップＳ１６で二値化が行われる領域に対応する。閾値探索部１１４ａは、例えば、二値化領域２５４を、それぞれ分割領域に対応する部分二値化領域２５５ａ〜２５５ｄに分割し、これらの部分二値化領域２５５ａ〜２５５ｄごとに、二値化処理部１１３に二値化処理を実行させる。
【０１１４】
なお、部分二値化領域２５５ａ〜２５５ｄのそれぞれは、二値化のための閾値が変更されるたびに、その内部に現れる部分閉領域の大きさに応じて変更されてもよい。すなわち、部分二値化領域の大きさは、分割領域ごとに、対応する部分閉領域が内包されるような十分な大きさに設定されればよい。
【０１１５】
次に、図１２〜図１４を用いて、分割領域ごとに最適閾値を決定することの意義について説明する。
図１２は、閾値の変化に応じた部分閉領域の面積変化の例を示す図である。図１２では、部分二値化領域２５５ａ〜２５５ｄから、二値化処理によってそれぞれ部分閉領域２５３ａ〜２５３ｄが形成されたとする。また、グラフ２６１ａ〜２６１ｄは、部分二値化領域２５５ａ〜２５５ｄのそれぞれについて個別に閾値を変化させたときの、部分閉領域２５３ａ〜２５３ｄの面積の遷移を示す。
【０１１６】
また、Ｔａ〜Ｔｄは、部分二値化領域２５５ａ〜２５５ｄのそれぞれについての最適閾値を示す。これらの最適閾値Ｔａ〜Ｔｄは、部分閉領域２５３ａ〜２５３ｄのそれぞれについて図９のステップＳ１８と同様の判定を行うことで得られたものである。
【０１１７】
これらのグラフ２６１ａ〜２６１ｄに示すように、部分二値化領域ごとに、そこに現れる部分閉領域を最適化するような最適閾値が異なる場合がある。例えば、部分二値化領域２５５ｂにおける最適閾値Ｔｂは、部分二値化領域２５５ａにおける最適閾値Ｔａより小さい。このため、例えば、部分二値化領域２５５ｂを、部分二値化領域２５５ｂの最適閾値Ｔａを用いて二値化した場合には、輪郭の欠けが生じる可能性がある。また、部分二値化領域２５５ｂ〜２５５ｄのそれぞれにおいては、検出対象の物体には他の物体が接していない。それにもかかわらず、部分二値化領域２５５ｂ〜２５５ｄにそれぞれ対応する最適閾値Ｔｂ〜Ｔｄも、互いに異なる。
【０１１８】
このように、部分二値化領域ごとに最適閾値が異なることの主な要因としては、映っている物体に対する照明の当たり方が部分二値化領域ごとに異なることが挙げられる。例えば、図３のように多数の物体が撮像されたときに、撮像装置とほぼ同じ位置に照明光源があったとする。この場合、撮像画像の中央部に映る物体には、照明光が正面から当たる。一方、撮像画像の隅に位置する物体ほど、照明光の照射角度は斜めになる。
【０１１９】
ここで、照明光の当たり方に応じた閉領域の例について説明する。図１３は、物体に対して照明光が正面から当てられた場合の閉領域の例を示す図である。また、図１４は、物体に対して照明光が斜めから当てられた場合の閉領域の例を示す図である。
【０１２０】
なお、図１３および図１４のいずれも、基準点を通る３本の分割線２７１ａ〜２７１ｃによって、基準点の周囲領域が８つの分割領域Ｄ１〜Ｄ８に分割されている。また、図１３のグラフ２７２ａは、物体２７３ａの内部に抽出された基準点２７４ａの周囲領域を分割した分割領域Ｄ１〜Ｄ８のそれぞれについて、閾値を変化させながら二値化を行ったときに、形成された部分閉領域の面積の遷移を示したものである。また、図１４のグラフ２７２ｂも同様に、物体２７３ｂの内部に抽出された基準点２７４ｂの周囲領域を分割した分割領域Ｄ１〜Ｄ８のそれぞれについて、閾値を変化させながら二値化を行ったときに、形成された部分閉領域の面積の遷移を示したものである。
【０１２１】
図１３の例では、物体２７３ａに対してほぼ正面から照明光が当たっている。このため、照明光の反射光は、基準点２７４ａから物体２７３ａの輪郭に対して、どの角度についても同じように減衰する。この場合、図１３のグラフ２７２ａに示すように、どの分割領域Ｄ１〜Ｄ８に対応する最適閾値も、ほぼ同じ値（Ｔｐ）に特定される。
【０１２２】
ここで、図１３の下図に示す輪郭２７５ａは、第２の実施の形態の方法を用いて、閾値Ｔｐにより濃淡画像を二値化することで得られた閉領域の輪郭を示す。この輪郭２７５ａは、多少の輪郭の欠けが発生しているものの、物体２７３ａの実際の輪郭に概ね沿った位置に抽出されている。この図１３の例では、照明光が正面から当たっていることから、分割領域ごとに求めた最適閾値を使用した場合でも、基準点２７４ａの周囲全体について１つだけ求めた最適閾値を使用した場合でも、輪郭の検出精度は大きく変わらない。
【０１２３】
一方、図１４の例では、物体２７３ｂに対して例えば左上方向から照明光が当たっている。このため、照明光の反射光は、基準点２７４ｂから物体２７３ｂの輪郭に対して、角度によって減衰の仕方が変わる。例えば、基準点２７４ｂから左上に対しては当初緩やかに減衰し、物体２７３ｂの輪郭に近づくにつれて急激に減衰する。一方、基準点２７４ｂから右下方向に対しては、当初から急激に減衰する。
【０１２４】
このような場合、図１４のグラフ２７２ｂに示すように、分割領域Ｄ１〜Ｄ８にそれぞれ対応する最適閾値は、たとえそれらのいくつかがほぼ同じ値（Ｔｑ）になったとしても、すべてが同じ値にはならない。
【０１２５】
ここで、図１４の下図に示す輪郭２７５ｂは、第２の実施の形態の方法を用いて、閾値Ｔｑにより濃淡画像を二値化することで得られた閉領域の輪郭を示す。この輪郭２７５ｂは、基準点２７４ｂの上側や左側については、物体２７３ｂの実際の輪郭に概ね沿っている。しかしながら、輪郭２７５ｂは、基準点２７４ｂの右下側において物体２７３ｂの実際の輪郭よりも内側に大きく離れており、大きな輪郭の欠けが発生している。
【０１２６】
以上の図１３および図１４の例のように、基準点の周囲領域全体について１つの最適閾値を用いて輪郭を検出した場合には、撮像された物体の位置に応じた、照明光の入射角などの照明条件の違いが要因となって、輪郭を精度よく検出できない場合があった。これに対して、本実施の形態の画像処理装置１００ａは、分割領域ごとに求めた最適閾値を用いて二値化を行い、最適な部分閉領域を出力する。そして、基準点ごとに、出力された複数の部分閉領域を統合して１つの閉領域を形成し、形成した閉領域の輪郭を抽出する。これにより、輪郭の検出精度を向上させる。
【０１２７】
図１５は、第３の実施の形態に係る画像処理装置の処理例を示すフローチャートである。
［ステップＳ２１］図９のステップＳ１１〜Ｓ１３と同様の処理が実行される。すなわち、画像変換部１１１は、撮像画像の画素値に基づいてＨＳＶヒストグラムを算出し、ＨＳＶヒストグラムを撮像画像にバックプロジェクションすることで、濃淡画像を生成する。基準点抽出部１１２は、濃淡画像を距離変換して距離変換画像を生成し、距離変換画像における極大点を、基準点として複数抽出する。
【０１２８】
［ステップＳ２２］閾値探索部１１４ａは、基準点を１つ選択する。領域分割部１２１は、選択された基準点の周囲領域を、所定の２つ以上の分割線によって分割領域に分割する。
【０１２９】
［ステップＳ２３］閾値探索部１１４ａは、領域分割部１２１によって分割された分割領域を１つ選択する。
［ステップＳ２４］閾値探索部１１４ａは、二値化処理部１１３に対して二値化処理のための閾値を設定する。
【０１３０】
ここで、ステップＳ２４〜Ｓ２６の処理は、決められた閾値の数だけ繰り返される。ステップＳ２３の実行後の閾値の初回設定時（すなわち、１つの分割領域に対応する閾値の初回設定時）には、決められた閾値のうちの最大値が二値化処理部１１３に設定される。それ以後、ステップＳ２６で“Ｎｏ”と判定されてステップＳ２４が実行されるたびに、ステップＳ２４では１段階小さい閾値が設定される。
【０１３１】
［ステップＳ２５］二値化処理部１１３は、ステップＳ２１で生成された濃淡画像を、ステップＳ２４で設定された閾値を用いて二値化する。具体的には、二値化処理部１１３は、画素値（頻度）が閾値以上の画素に値“１”を代入し、閾値未満の画素に値“０”を代入することで、二値化画像を生成する。
【０１３２】
閾値探索部１１４ａは、生成された二値化画像における分割領域に現れる、該当基準点を含む部分閉領域の面積を算出する。
なお、ステップＳ２５での二値化対象領域としては、例えば、図１１で説明した部分二値化領域が設定される。このような二値化対象領域は、閾値探索部１１４ａから二値化処理部１１３に対して設定される。
【０１３３】
［ステップＳ２６］閾値探索部１１４ａは、決められたすべての閾値を設定済みかを判定する。未設定の閾値がある場合、ステップＳ２４の処理が実行され、すべての閾値が設定済みの場合、ステップＳ２７の処理が実行される。
【０１３４】
［ステップＳ２７］閾値探索部１１４ａは、ステップＳ２５で算出された部分閉領域の面積を時系列に沿って並べたときに、面積の変化量が最初に、所定の上限閾値ｄＳｍａｘ以上となるか、または所定の下限閾値ｄＳｍｉｎ（ただし、ｄＳｍｉｎ＜ｄＳｍａｘ）となる面積の組を特定する。そして、閾値探索部１１４ａは、特定された面積の組に基づいて、最適閾値を判定する。
【０１３５】
このステップＳ２７での最適閾値の判定処理は、面積算出の対象が閉領域全体ではなく部分閉領域であること以外は、図９のステップＳ１８と同様である。
［ステップＳ２８］閾値探索部１１４ａは、ステップＳ２７で判定した最適閾値を用いて生成された二値化画像を二値化処理部１１３に出力させる。この二値化画像は、ステップＳ２５で生成済みの、対応する部分閉領域を包含する二値化対象領域のみの二値化画像であってよい。
【０１３６】
［ステップＳ２９］閾値探索部１１４ａは、ステップＳ２３で分割されたすべての分割領域を選択済みかを判定する。選択されていない分割領域がある場合には、ステップＳ２３の処理が実行され、すべての分割領域が選択済みの場合は、ステップＳ３０の処理が実行される。
【０１３７】
［ステップＳ３０］領域統合部１２２には、二値化処理部１１３によって二値化された、１つの基準点に対応する分割領域ごとの二値化画像が入力されている。領域統合部１２２は、閾値探索部１１４ａの制御の下で、これらの二値化画像を統合して、対応する基準点の周囲領域が含まれる二値化画像を生成する。これにより、各分割領域に対応する二値化画像に形成されていた部分閉領域が、１つの閉領域に結合される。
【０１３８】
輪郭抽出部１１５は、結合された閉領域の境界を検出し、検出された境界を、ステップＳ２２で選択された基準点に対応する物体の輪郭として出力する。
［ステップＳ３１］閾値探索部１１４ａは、ステップＳ２１で抽出されたすべての基準点を選択済みかを判定する。選択されていない基準点がある場合には、ステップＳ２２の処理が実行される。一方、全基準点が選択済みの場合、処理が終了する。なお、後者の場合、図示しないが、画像処理装置１００ａは、抽出された各物体の輪郭を基に、撮像画像における各物体の面積を算出してもよい。さらに、画像処理装置１００ａは、算出された各物体の面積を基に、各物体の推定重量を算出してもよい。
【０１３９】
以上説明した第３の実施の形態によれば、撮像画像に映った各物体への照明光の当たり方が一様でない場合でも、各物体の輪郭を高精度に検出することができる。
また、第２の実施の形態と同様に、輪郭抽出部１１５は、ステップＳ３０で閉領域の輪郭を抽出したとき、その輪郭の円形度あるいはアスペクト比（あるいはそれらの両方）を算出し、算出された値が所定の閾値範囲内であるかを判定してもよい。算出された値が所定の閾値範囲外である場合、目的とする物体の輪郭が正確に検出されていない可能性がある。そこで、画像処理装置１００ａは、該当する基準点についてステップＳ２３〜Ｓ３０の処理を再実行する。このとき、例えば、ステップＳ２４で設定する閾値のステップ幅を小さくしたり、設定する閾値のレンジを変更してもよい。これにより、目的とする物体を正確に検出し、その輪郭の検出精度を向上させることができる。
【０１４０】
なお、上記の各実施の形態に示した装置（画像処理装置１、１００，１００ａ）の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（Rewritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１４１】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１４２】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１４３】
以上の各実施の形態に関し、さらに以下の付記を開示する。
（付記１）  複数の物体が映った画像における画素ごとの特徴量を所定の二値化閾値と比較することで、前記画像の各画素の値を二値化して二値化画像を生成する処理を、前記二値化閾値を変化させながら実行して複数の二値化画像を生成する二値化処理部と、
前記複数の二値化画像それぞれに現れる閉領域のうち、前記複数の二値化画像の間で領域の一部が重複する対応閉領域の面積を算出し、前記二値化閾値の変化に伴う前記対応閉領域の面積の変化率に基づいて、前記対応閉領域の境界を物体の輪郭として検出するために用いるべき前記二値化閾値を決定する輪郭検出部と、
を有することを特徴とする画像処理装置。
【０１４４】
（付記２）  前記二値化閾値は、前記対応閉領域が徐々に大きくなるように変化し、
前記輪郭検出部は、前記二値化閾値の変化に伴って連続して生成される２つの二値化画像の間で、前記対応閉領域の面積の変化率が所定の上限閾値以上になった場合に、当該２つの二値化画像のうち前側の二値化画像における前記対応閉領域の境界を、物体の輪郭として検出する、
ことを特徴とする付記１記載の画像処理装置。
【０１４５】
（付記３）  前記輪郭検出部は、前記２つの二値化画像の間で、前記対応閉領域の面積の変化率が、前記上限閾値より小さい所定の下限閾値以下になった場合には、当該２つの二値化画像のいずれかにおける前記対応閉領域の境界を、物体の輪郭として検出することを特徴とする付記２記載の画像処理装置。
【０１４６】
（付記４）  前記二値化処理部は、前記画像における各画素の画素値に基づく値の頻度を、前記画像の各画素にバックプロジェクションすることで特徴量画像を生成し、前記特徴量画像の各画素の値を前記二値化閾値と比較することで前記二値化画像を生成することを特徴とする付記１〜３のいずれか１つに記載の画像処理装置。
【０１４７】
（付記５）  前記輪郭検出部は、前記特徴量画像に対して距離変換を行い、変換後の画像における極大点を、物体ごとの基準点として抽出し、前記対応閉領域の面積として、前記複数の二値化画像それぞれに現れる、同一の前記基準点を内包する閉領域の面積を算出することを特徴とする付記４記載の画像処理装置。
【０１４８】
（付記６）  前記輪郭検出部は、前記画像における画素ごとの前記特徴量に基づいて、物体ごとの基準点を抽出し、前記対応閉領域の面積として、前記複数の二値化画像それぞれに現れる、同一の前記基準点を内包する閉領域の面積を算出する、
ことを特徴とする付記１〜３のいずれか１つに記載の画像処理装置。
【０１４９】
（付記７）  前記輪郭検出部は、前記基準点の周囲領域を複数の分割領域に分割し、各分割領域に現れる、前記対応閉領域の一部である部分閉領域の面積を算出し、前記二値化閾値の変化に伴う前記部分閉領域の面積の変化率に基づいて、前記部分閉領域の境界を物体の輪郭の一部として検出するために用いるべき前記二値化閾値を、分割領域ごとに決定することを特徴とする付記６記載の画像処理装置。
【０１５０】
（付記８）  複数の物体が映った画像における画素ごとの特徴量を所定の二値化閾値と比較することで、前記画像の各画素の値を二値化して二値化画像を生成する処理を、前記二値化閾値を変化させながら実行して複数の二値化画像を生成し、
前記複数の二値化画像それぞれに現れる閉領域のうち、前記複数の二値化画像の間で領域の一部が重複する対応閉領域の面積を算出し、
前記二値化閾値の変化に伴う前記対応閉領域の面積の変化率に基づいて、前記対応閉領域の境界を物体の輪郭として検出するために用いるべき前記二値化閾値を決定する、
ことを特徴とする画像処理方法。
【０１５１】
（付記９）  前記二値化閾値は、前記対応閉領域が徐々に大きくなるように変化し、
前記面積の変化率に基づく決定処理では、前記二値化閾値の変化に伴って連続して生成される２つの二値化画像の間で、前記対応閉領域の面積の変化率が所定の上限閾値以上になった場合に、当該２つの二値化画像のうち前側の二値化画像における前記対応閉領域の境界を、物体の輪郭として検出する、
ことを特徴とする付記８記載の画像処理方法。
【０１５２】
（付記１０）  前記２つの二値化画像の間で、前記対応閉領域の面積の変化率が、前記上限閾値より小さい所定の下限閾値以下になった場合には、当該２つの二値化画像のいずれかにおける前記対応閉領域の境界を、物体の輪郭として検出する、
処理をさらに含むことを特徴とする付記９記載の画像処理方法。
【０１５３】
（付記１１）  前記画像における各画素の画素値に基づく値の頻度を、前記画像の各画素にバックプロジェクションすることで特徴量画像を生成する処理をさらに含み、
前記二値化画像の生成では、前記特徴量画像の各画素の値を前記二値化閾値と比較することで前記二値化画像を生成する、
ことを特徴とする付記８〜１０のいずれか１つに記載の画像処理方法。
【０１５４】
（付記１２）  前記特徴量画像に対して距離変換を行い、変換後の画像における極大点を、物体ごとの基準点として抽出する処理をさらに含み、
前記対応閉領域の面積の算出では、前記対応閉領域の面積として、前記複数の二値化画像それぞれに現れる、同一の前記基準点を内包する閉領域の面積を算出する、
ことを特徴とする付記１１記載の画像処理方法。
【０１５５】
（付記１３）  前記画像における画素ごとの前記特徴量に基づいて、物体ごとの基準点を抽出する処理をさらに含み、
前記対応閉領域の面積の算出では、前記対応閉領域の面積として、前記複数の二値化画像それぞれに現れる、同一の前記基準点を内包する閉領域の面積を算出する、
ことを特徴とする付記８〜１０のいずれか１つに記載の画像処理方法。
【０１５６】
（付記１４）  前記面積の変化率に基づく決定処理では、前記基準点の周囲領域を複数の分割領域に分割し、各分割領域に現れる、前記対応閉領域の一部である部分閉領域の面積を算出し、前記二値化閾値の変化に伴う前記部分閉領域の面積の変化率に基づいて、前記部分閉領域の境界を物体の輪郭の一部として検出するために用いるべき前記二値化閾値を、分割領域ごとに決定することを特徴とする付記１３記載の画像処理方法。
【０１５７】
（付記１５）  コンピュータに、
複数の物体が映った画像における画素ごとの特徴量を所定の二値化閾値と比較することで、前記画像の各画素の値を二値化して二値化画像を生成する処理を、前記二値化閾値を変化させながら実行して複数の二値化画像を生成し、
前記複数の二値化画像それぞれに現れる閉領域のうち、前記複数の二値化画像の間で領域の一部が重複する対応閉領域の面積を算出し、
前記二値化閾値の変化に伴う前記対応閉領域の面積の変化率に基づいて、前記対応閉領域の境界を物体の輪郭として検出するために用いるべき前記二値化閾値を決定する、
処理を実行させることを特徴とする画像処理プログラム。
【符号の説明】
【０１５８】
１  画像処理装置
２  二値化処理部
３  輪郭検出部
１１，１２  物体
２１，２２  閉領域
Ｐ１〜Ｐ３  二値化画像
Ｓ１〜Ｓ３  ステップ
ＴＨ１〜ＴＨ３  二値化閾値
【図１】
2015045966.tif 000003
【図２】
2015045966.tif 000004
【図３】
2015045966.tif 000005
【図４】
2015045966.tif 000006
【図５】
2015045966.tif 000007
【図６】
2015045966.tif 000008
【図７】
2015045966.tif 000009
【図８】
2015045966.tif 000010
【図９】
2015045966.tif 000011
【図１０】
2015045966.tif 000012
【図１１】
2015045966.tif 000013
【図１２】
2015045966.tif 000014
【図１３】
2015045966.tif 000015
【図１４】
2015045966.tif 000016
【図１５】
2015045966.tif 000017