(57)【要約】【課題】  段積みされている複数の長尺物の本数を自動的に且つ正確に測定できるようにする。【解決手段】  カメラ２０ａ〜２０ｃで撮像された元画像のそれぞれに対して画像処理を行って、鋼管１０の夫々に対応する領域が相互に分離されて表現された２値化画像である補正後領域分離２値化画像１４１０ａ〜１４１０ｃを作成する。そして、補正領域分離２値化画像１４１０ａ〜１４１０ｃのうち、相互に隣接する領域分離２値化画像から、相互に対応するブロブ群１４１１ｂ、１４１２ａ等を導出し、当該ブロブ群同士が合うように、領域分離２値化画像１４１０ａ〜１４１０ｃを合成して合成画像１５１０を作成する。この合成画像１５１０に基づいて鋼管１０の本数を決定する。【選択図】  図１５
2014219842.tif 000002
【特許請求の範囲】
【請求項１】
段積みされている複数の長尺物の端面を含む領域が、相互に間隔を有する複数の位置でそれぞれ撮像されることにより得られた複数の元画像を画像処理した結果に基づいて前記複数の長尺物の本数を測定する長尺物測定装置であって、
前記複数の位置のうち相互に間隔を有して隣接する位置で撮像された２つの前記元画像に、前記複数の長尺物の少なくとも一部が共通して含まれるように、前記複数の位置でそれぞれ撮像された複数の前記元画像を取得する元画像取得手段と、
前記元画像取得手段により取得された前記複数の元画像のそれぞれから、前記長尺物の端面に対応するブロブである長尺物対応ブロブであって相互に分離された長尺物対応ブロブにより表現された２値化画像である領域分離２値化画像を作成する領域分離２値化画像作成手段と、
前記領域分離２値化画像導出手段により導出された前記領域分離２値化画像のうち、相互に間隔を有して隣接する位置で撮像された２つの前記元画像から得られた２つの前記領域分離２値化画像に含まれる長尺物対応ブロブを比較した結果に基づいて、当該２つの領域分離２値化画像における位置合わせの基準となる長尺物対応ブロブを、前記領域分離２値化画像作成手段により作成された前記領域分離２値化画像のそれぞれについて決定する合成位置決定手段と、
前記合成位置決定手段により決定された長尺物対応ブロブを位置合わせの基準として、前記相互に間隔を有して隣接する位置で撮像された２つの前記元画像から得られた２つの前記領域分離２値化画像を、前記領域分離２値化画像作成手段により作成された前記領域分離２値化画像のそれぞれについて合成した合成画像を作成する画像合成手段と、
前記画像合成手段により作成された前記合成画像に基づいて、前記複数の長尺物の本数を決定する本数決定手段と、
前記本数決定手段により決定された前記複数の長尺物の本数を識別するための情報を出力する出力手段と、を有することを特徴とする長尺物本数測定装置。
【請求項２】
前記相互に間隔を有して隣接する位置で撮像された２つの前記元画像には、前記複数の長尺物のうち、所定の方向に並ぶ少なくとも一列の長尺物の画像が共通して含まれており、
前記合成位置決定手段は、
前記領域分離２値化画像導出手段により導出された前記領域分離２値化画像に含まれる長尺物対応ブロブの位置に基づいて、前記所定の方向に一列に並ぶ複数の長尺物対応ブロブからなるブロブ群を設定する設定手段と、
前記ブロブ群のそれぞれについて、前記ブロブ群に含まれる長尺物対応ブロブの数を導出するブロブ数導出手段と、
前記ブロブ群のそれぞれについて、前記ブロブ群の前記所定の方向の長さ、又は、前記ブロブ群に含まれる長尺物対応ブロブのうち相互に隣接する２つの長尺物対応ブロブの間隔を導出する長さ・間隔導出手段と、
前記ブロブ数導出手段により導出された前記ブロブの数と、前記長さ・間隔導出手段により導出された前記長さ又は前記間隔と、を、相互に間隔を有して隣接する位置で撮像された２つの前記元画像から得られた２つの前記領域分離２値化画像に含まれるブロブ群同士で比較した結果に基づいて、当該２つの領域分離２値化画像の位置合わせの基準となる長尺物対応ブロブをそれぞれ決定するブロブ決定手段と、を更に有することを特徴とする請求項１に記載の長尺物本数測定装置。
【請求項３】
前記ブロブ群に含まれる長尺物対応ブロブのうち相互に隣接する２つの長尺物対応ブロブの間隔は、当該ブロブ群の前記所定の方向の長さに対する割合で表されることを特徴とする請求項２に記載の長尺物本数測定装置。
【請求項４】
前記合成位置決定手段は、
前記ブロブ群の前記所定の方向に対する傾きを導出する傾き導出手段と、
前記ブロブ群が前記所定の方向を向くように、前記傾き導出手段により導出された前記傾きに基づいて、前記ブロブ群の位置を補正する位置補正手段と、を更に有し、
前記長さ・間隔導出手段は、前記位置補正手段により位置が補正された前記ブロブ群のそれぞれについて、前記ブロブ群の前記所定の方向の長さ、又は、前記ブロブ群に含まれるブロブのうち相互に隣接する２つの長尺物対応ブロブの間隔を導出することを特徴とする請求項２又は３に記載の長尺物本数測定装置。
【請求項５】
前記所定の方向は、水平方向及び高さ方向の少なくとも何れか一方であることを特徴とする請求項２〜４の何れか１項に記載の長尺物本数測定装置。
【請求項６】
前記複数の元画像は、水平方向及び高さ方向の少なくとも何れか一方の方向において間隔を有して並べられた複数の撮像装置によりそれぞれ撮像された画像であることを特徴とする請求項５に記載の長尺物本数測定装置。
【請求項７】
前記画像合成手段は、
前記複数の元画像のうち、基準となる元画像から得られた前記領域分離２値化画像の大きさに合うように、当該領域分離２値化画像と異なる前記領域分離２値化画像の大きさを変更する拡縮手段を更に有し、
前記相互に間隔を有して隣接する位置で撮像された２つの前記元画像から得られた２つの前記領域分離２値化画像の少なくとも何れか１つの大きさが前記拡縮手段により変更された場合には、当該大きさが変更された領域分離２値化画像を用いて前記合成を行うことを特徴とする請求項１〜６の何れか１項に記載の長尺物本数測定装置。
【請求項８】
段積みされている複数の長尺物の端面を含む領域が、相互に間隔を有する複数の位置でそれぞれ撮像されることにより得られた複数の元画像を画像処理した結果に基づいて前記複数の長尺物の本数を測定する長尺物測定方法であって、
前記複数の位置のうち相互に間隔を有して隣接する位置で撮像された２つの前記元画像に、前記複数の長尺物の少なくとも一部が共通して含まれるように、前記複数の位置でそれぞれ撮像された複数の前記元画像を取得する元画像取得工程と、
前記元画像取得工程により取得された前記複数の元画像のそれぞれから、前記長尺物の端面に対応するブロブである長尺物対応ブロブであって相互に分離された長尺物対応ブロブにより表現された２値化画像である領域分離２値化画像を作成する領域分離２値化画像作成工程と、
前記領域分離２値化画像導出工程により導出された前記領域分離２値化画像のうち、相互に間隔を有して隣接する位置で撮像された２つの前記元画像から得られた２つの前記領域分離２値化画像に含まれる長尺物対応ブロブを比較した結果に基づいて、当該２つの領域分離２値化画像における位置合わせの基準となる長尺物対応ブロブを、前記領域分離２値化画像作成工程により作成された前記領域分離２値化画像のそれぞれについて決定する合成位置決定工程と、
前記合成位置決定工程により決定された長尺物対応ブロブを位置合わせの基準として、前記相互に間隔を有して隣接する位置で撮像された２つの前記元画像から得られた２つの前記領域分離２値化画像を、前記領域分離２値化画像作成工程により作成された前記領域分離２値化画像のそれぞれについて合成した合成画像を作成する画像合成工程と、
前記画像合成工程により作成された前記合成画像に基づいて、前記複数の長尺物の本数を決定する本数決定工程と、
前記本数決定工程により決定された前記複数の長尺物の本数を識別するための情報を出力する出力工程と、を有することを特徴とする長尺物本数測定方法。
【請求項９】
前記相互に間隔を有して隣接する位置で撮像された２つの前記元画像には、前記複数の長尺物のうち、所定の方向に並ぶ少なくとも一列の長尺物の画像が共通して含まれており、
前記合成位置決定工程は、
前記領域分離２値化画像導出工程により導出された前記領域分離２値化画像に含まれる長尺物対応ブロブの位置に基づいて、前記所定の方向に一列に並ぶ複数の長尺物対応ブロブからなるブロブ群を設定する設定工程と、
前記ブロブ群のそれぞれについて、前記ブロブ群に含まれる長尺物対応ブロブの数を導出するブロブ数導出工程と、
前記ブロブ群のそれぞれについて、前記ブロブ群の前記所定の方向の長さ、又は、前記ブロブ群に含まれる長尺物対応ブロブのうち相互に隣接する２つの長尺物対応ブロブの間隔を導出する長さ・間隔導出工程と、
前記ブロブ数導出工程により導出された前記ブロブの数と、前記長さ・間隔導出工程により導出された前記長さ又は前記間隔と、を、相互に間隔を有して隣接する位置で撮像された２つの前記元画像から得られた２つの前記領域分離２値化画像に含まれるブロブ群同士で比較した結果に基づいて、当該２つの領域分離２値化画像の位置合わせの基準となる長尺物対応ブロブをそれぞれ決定するブロブ決定工程と、を更に有することを特徴とする請求項８に記載の長尺物本数測定方法。
【請求項１０】
前記ブロブ群に含まれる長尺物対応ブロブのうち相互に隣接する２つの長尺物対応ブロブの間隔は、当該ブロブ群の前記所定の方向の長さに対する割合で表されることを特徴とする請求項９に記載の長尺物本数測定方法。
【請求項１１】
前記合成位置決定工程は、
前記ブロブ群の前記所定の方向に対する傾きを導出する傾き導出工程と、
前記ブロブ群が前記所定の方向を向くように、前記傾き導出工程により導出された前記傾きに基づいて、前記ブロブ群の位置を補正する位置補正工程と、を更に有し、
前記長さ・間隔導出工程は、前記位置補正工程により位置が補正された前記ブロブ群のそれぞれについて、前記ブロブ群の前記所定の方向の長さ、又は、前記ブロブ群に含まれるブロブのうち相互に隣接する２つの長尺物対応ブロブの間隔を導出することを特徴とする請求項９又は１０に記載の長尺物本数測定方法。
【請求項１２】
前記所定の方向は、水平方向及び高さ方向の少なくとも何れか一方であることを特徴とする請求項９〜１１の何れか１項に記載の長尺物本数測定方法。
【請求項１３】
前記複数の元画像は、水平方向及び高さ方向の少なくとも何れか一方の方向において間隔を有して並べられた複数の撮像装置によりそれぞれ撮像された画像であることを特徴とする請求項１２に記載の長尺物本数測定方法。
【請求項１４】
前記画像合成工程は、
前記複数の元画像のうち、基準となる元画像から得られた前記領域分離２値化画像の大きさに合うように、当該領域分離２値化画像と異なる前記領域分離２値化画像の大きさを変更する拡縮工程を更に有し、
前記相互に間隔を有して隣接する位置で撮像された２つの前記元画像から得られた２つの前記領域分離２値化画像の少なくとも何れか１つの大きさが前記拡縮工程により変更された場合には、当該大きさが変更された領域分離２値化画像を用いて前記合成を行うことを特徴とする請求項８〜１３の何れか１項に記載の長尺物本数測定方法。
【請求項１５】
請求項１〜７の何れか１項に記載の長尺物本数測定装置の各手段としてコンピュータを機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、長尺物本数測定装置、長尺物本数測定方法、及びコンピュータプログラムに関し、特に、長尺物の画像を撮像し、撮像した画像に基づいて長尺物の本数を測定するために用いて好適なものである。
【背景技術】
【０００２】
従来から、鉄鋼業では、棒鋼や鋼管等、製造された長尺物の本数を計数することが行われている。例えば、出荷前に出荷ロットの荷揃え等のために、製造された鋼管を、同一の仕様の鋼管毎に、スタックと呼ばれる保管場所に保管することが行われている。そして、出荷する鋼管の本数の確認等のために、スタックに保管されている鋼管の本数を出荷前に測定することが必要になる。そこで、従来は、スタックに保管されている鋼管を作業員が目視で計数するようにしていた。１つのロットに含められる鋼管の数が多くなると、多数の鋼管が１つのスタックに段積みされることになるので、このように作業員が目視で鋼管を計数すると、ヒューマンエラーが発生し、出荷すべき本数の鋼管を出荷できなくなる虞がある。そこで、このような長尺物の計数を人手によらずに自動的に計数する技術が望まれていた。この種の技術として、特許文献１に記載の技術がある。
【０００３】
特許文献１に記載の技術では、まず、照明されている状態で棒鋼材の端面を撮像した端面画像と、棒鋼材の側面を撮像した側面画像とを取得し、端面画像に基づいて、棒鋼材が積み重なっているか否かを判定する。そして、棒鋼材が積み重なっている場合には、端面画像に基づく棒鋼材の計数値と、側面画像に基づく計数値とのうち、大きい方を棒鋼材の本数とする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−９９７５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前述したように、１つのロットに含められる長尺物の数が多くなると、多数の長尺物が段積みされることになる。そして、例えば、端部にソケットが形成されているソケット付きの鋼管を段積みする場合には、先端部を揃えた状態で段積みすることができず、例えば、先端部の位置が上下の段のソケットの根元付近の位置になるように、１段おきに先端部が後退した状態で段積みされる（図１（ａ）を参照）。
このようにして段積みされた場合に、特許文献１に記載の技術で端面画像を撮像すると、撮像装置における撮像範囲に死角が生じることや、後退している鋼管に照明が届かないことにより、鋼管を認識することができない虞がある。
以上のように、段積みされている複数の長尺物の一部の先端が他の長尺物よりも後退した状態であっても、当該段積みされている複数の長尺物の本数を正確に測定する技術が望まれている。
【０００６】
本発明は、以上の事情に鑑みてなされたものであり、段積みされている複数の長尺物の一部の先端が他の長尺物よりも後退した状態であっても、当該段積みされている複数の長尺物の本数を自動的に且つ正確に測定できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の長尺物本数測定装置は、段積みされている複数の長尺物の端面を含む領域が、相互に間隔を有する複数の位置でそれぞれ撮像されることにより得られた複数の元画像を画像処理した結果に基づいて前記複数の長尺物の本数を測定する長尺物測定装置であって、前記複数の位置のうち相互に間隔を有して隣接する位置で撮像された２つの前記元画像に、前記複数の長尺物の少なくとも一部が共通して含まれるように、前記複数の位置でそれぞれ撮像された複数の前記元画像を取得する元画像取得手段と、前記元画像取得手段により取得された前記複数の元画像のそれぞれから、前記長尺物の端面に対応するブロブである長尺物対応ブロブであって相互に分離された長尺物対応ブロブにより表現された２値化画像である領域分離２値化画像を作成する領域分離２値化画像作成手段と、前記領域分離２値化画像導出手段により導出された前記領域分離２値化画像のうち、相互に間隔を有して隣接する位置で撮像された２つの前記元画像から得られた２つの前記領域分離２値化画像に含まれる長尺物対応ブロブを比較した結果に基づいて、当該２つの領域分離２値化画像における位置合わせの基準となる長尺物対応ブロブをそれぞれ決定する合成位置決定手段と、前記合成位置決定手段により決定された長尺物対応ブロブに基づいて、前記相互に間隔を有して隣接する位置で撮像された２つの前記元画像から得られた２つの前記領域分離２値化画像をそれぞれ合成した合成画像を作成する画像合成手段と、前記画像合成手段により作成された合成画像に基づいて、前記複数の長尺物の本数を決定する本数決定手段と、前記本数決定手段により決定された前記複数の長尺物の本数を識別するための情報を出力する出力手段と、を有することを特徴とする。
【０００８】
本発明の長尺物本数測定方法は、段積みされている複数の長尺物の端面を含む領域が、相互に間隔を有する複数の位置でそれぞれ撮像されることにより得られた複数の元画像を画像処理した結果に基づいて前記複数の長尺物の本数を測定する長尺物測定方法であって、前記複数の位置のうち相互に間隔を有して隣接する位置で撮像された２つの前記元画像に、前記複数の長尺物の少なくとも一部が共通して含まれるように、前記複数の位置でそれぞれ撮像された複数の前記元画像を取得する元画像取得工程と、前記元画像取得工程により取得された前記複数の元画像のそれぞれから、前記長尺物の端面に対応するブロブである長尺物対応ブロブであって相互に分離された長尺物対応ブロブにより表現された２値化画像である領域分離２値化画像を作成する領域分離２値化画像作成工程と、前記領域分離２値化画像導出工程により導出された前記領域分離２値化画像のうち、相互に間隔を有して隣接する位置で撮像された２つの前記元画像から得られた２つの前記領域分離２値化画像に含まれる長尺物対応ブロブを比較した結果に基づいて、当該２つの領域分離２値化画像における位置合わせの基準となる長尺物対応ブロブをそれぞれ決定する合成位置決定工程と、前記合成位置決定工程により決定された長尺物対応ブロブに基づいて、前記相互に間隔を有して隣接する位置で撮像された２つの前記元画像から得られた２つの前記領域分離２値化画像をそれぞれ合成した合成画像を作成する画像合成工程と、前記画像合成工程により作成された合成画像に基づいて、前記複数の長尺物の本数を決定する本数決定工程と、前記本数決定工程により決定された前記複数の長尺物の本数を識別するための情報を出力する出力工程と、を有することを特徴とする。
【０００９】
本発明のコンピュータプログラムは、前記長尺物本数測定装置の各手段としてコンピュータを機能させることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、相互に間隔を有して隣接する位置で撮像された２つの元画像に、段積みされている複数の長尺物の少なくとも一部が共通して含まれるように、複数の位置でそれぞれ撮像された複数の元画像のそれぞれから、相互に分離された長尺物対応ブロブにより表現された２値化画像である領域分離２値化画像を作成する。そして、相互に隣接する位置にある２つの領域分離２値化画像に含まれる長尺物対応ブロブを比較した結果に基づいて、当該２つの領域分離２値化画像における位置合わせの基準となる長尺物対応ブロブをそれぞれ決定し、決定した長尺物対応ブロブに基づいて、当該２つの領域分離２値化画像をそれぞれ合成した合成画像を作成し、作成した合成画像に基づいて、前記段積みされている複数の長尺物の本数を決定する。したがって、段積みされている複数の長尺物の一部の先端が他の長尺物よりも後退した状態であっても、当該段積みされている複数の長尺物の本数を自動的に且つ正確に測定することができる。
【図面の簡単な説明】
【００１１】
【図１】複数の鋼管と、撮像装置と、照明装置の配置の一例を示す図である。
【図２】長尺物本数測定装置の機能的な構成の一例を示すブロック図である。
【図３】鋼管抽出部の詳細な機能構成の第１の例を示すブロック図である。
【図４】元画像が処理される様子の一例を概念的に示す図である。
【図５】鋼管の候補が鋼管であるか否かを判定するための第１の処理の一例を概念的に説明する図である。
【図６】鋼管の候補が所望の鋼管であるか否かを判定するための第２、第３の処理の一例を概念的に説明する図である。
【図７】ブロブに対して外接する複数の矩形を導出した結果の一例を概念的に示す図である。
【図８】領域分離２値化画像の第１の例を示す図である。
【図９】各カメラにより得られた元画像から作成された領域分離２値化画像の一例を示す図である。
【図１０】ブロブ群を設定する方法の一例を説明する図である。
【図１１】Ｘ軸方向の両端にある２つの鋼管対応ブロブの重心の一例を示す図である。
【図１２】各ブロブ群の両端の２つの鋼管対応ブロブの重心を相互に接続する直線と、Ｘ軸方向とのなす角度の一例を示す図である。
【図１３】傾きが補正された後の各ブロブ群の間隔割合を導出する方法の一例を説明する図である。
【図１４】相互に隣接する２つの補正後領域分離２値化画像を合成する位置を決定する方法の一例を説明する図である。
【図１５】補正後領域分離２値化画像を合成して表示する方法の一例を説明する図である。
【図１６−１】長尺物本数測定装置の動作の一例を説明するフローチャートである。
【図１６−２】図１６−１に続くフローチャートである。
【図１６−３】図１６−２に続くフローチャートである。
【図１７】鋼管対応ブロブを元画像に合成する方法の変形例を示す図である。
【図１８】鋼管抽出部の詳細な機能構成の第２の例を示すブロック図である。
【図１９】色空間要素選択テーブルの一例を示す図である。
【図２０】第１のグレースケール画像の一例を示す図である。
【図２１】グレースケール２値化画像の一例を示す図である。
【図２２】隙間補完後２値化画像の一例を示す図である。
【図２３】第２のグレースケール画像の一例を示す図である。
【図２４】計数対象領域抽出画像の一例を示す図である。
【図２５】計数対象領域２値化画像の一例を示す図である。
【図２６】計数対象領域２値化画像を複数の領域に分離する様子の一例を概念的に示す図である。
【図２７】領域分離２値化画像の第２の例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら、本発明の一実施形態を説明する。尚、各図では、表記の都合上、一部の構成を簡略化又は省略化している。また、各図に示しているＸ、Ｙ、Ｚ座標は、各図の方向の関係を示すものであり、Ｘ、Ｙ、Ｚ座標の原点は、必ずしも各図に示す位置にはない。
＜第１の実施形態＞
まず、第１の実施形態について説明する。
（長尺物の配置と長尺物を撮像するための装置の構成）
図１は、計数の対象となる複数の鋼管１０と、当該複数の鋼管の端面の画像を撮像するための３つのカメラ２０ａ〜２０ｃ（撮像装置）と、当該複数の鋼管１０の端面を照明するための照明装置３０ａ〜３０ｆの配置の一例を示す図である。具体的に図１（ａ）は、複数の鋼管１０及びカメラ２０ａ〜２０ｃをその側方向（Ｘ軸に沿う方向）から見た図であり、図１（ｂ）は、カメラ２０ａ〜２０ｃ及び照明装置３０ａ〜３０ｆをその正面から見た図であり、図１（ｃ）は、複数の鋼管１０の端面をその正面から見た図である。
【００１３】
図１（ａ）、（ｃ）に示すように、複数の鋼管１０は、スタックにおいて、バンド４０により束ねられている。
また、図１（ａ）に示すように、複数の鋼管１０は、少なくとも一端部にソケットが形成されたソケット付きの鋼管であり、それぞれ同一の仕様のものである。また、図１（ａ）に示すように、下から偶数段目にある鋼管１０の端部であって、ソケットが形成されている側の端部の位置が、その上下の段の鋼管１０（下から奇数段目にある鋼管１０）のソケットの根元付近の位置になるように、１段おきに端部が後退した状態で複数の鋼管１０が段積みされている。本実施形態では、このようにして段積みされた複数の鋼管１０の、ソケットが形成されている側の端面の画像をカメラ２０ａ〜２０ｃで撮像する。
【００１４】
本実施形態では、カメラ２０ａ〜２０ｃは、同一の仕様のデジタルスチルカメラである。図１（ａ）、図１（ｂ）に示すように、カメラ２０ａ〜２０ｃは、Ｙ軸方向（高さ方向）において略等間隔で並べられている。すなわち、カメラ２０ａ〜２０ｃのＸ軸方向及びＺ軸方向の位置は略同じ位置であるが、カメラ２０ａ〜２０ｃのＹ軸方向の位置（高さ位置）は、カメラ２０ａが最も高く、カメラ２０ｃが最も低くなるようにしている。また、相互に隣接するカメラ２０（例えばカメラ２０ａ、２０ｂ）の撮像範囲は、少なくとも一段の鋼管１０が共通して含まれるように、相互に共通する領域を有する。
図１（ａ）に示すように、カメラ２０ａ〜２０ｃ（のレンズ）は、複数の鋼管１０の端面とＺ軸方向において間隔を有して正対しており、複数の鋼管１０のうち撮像範囲内にある鋼管１０の端面のカラー静止画像を撮像する。
以下の説明では、カメラ２０ａ〜２０ｃにより撮像された「鋼管１０の端面の画像」を必要に応じて「元画像」と称する。
【００１５】
照明装置３０ａ、３０ｂは、それぞれカメラ２０ａの左、右から、少なくともカメラ２０ａの撮像範囲内にある鋼管１０の端面を可及的に一様に照明できる位置に配置される。同様に、照明装置３０ｃ、３０ｄ・３０ｅ、３０ｆは、それぞれカメラ２０ｂ・２０ｃの左、右から、少なくともカメラ２０ｂ・２０ｃの撮像範囲内にある鋼管１０の端面を可及的に一様に照明できる位置に配置される。
【００１６】
（長尺物本数測定装置の構成）
図２は、長尺物本数測定装置１００の機能的な構成の一例を示すブロック図である。
長尺物本数測定装置１００は、照明装置３０ａ〜３０ｆにより照明された複数の鋼管１０の端面を、当該端面と正対する位置からカメラ２０ａ〜２０ｃによって撮像されることにより得られた画像（元画像）を画像処理して、複数の鋼管１０の本数を自動的に計数するものである。
図２に示す長尺物本数測定装置１００は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤ、及び各種のインターフェースを備えたコンピュータ（例えばＰＣ）を用いることにより実現することができる。以下に、長尺物本数測定装置１００が有する機能の一例を説明する。尚、長尺物本数測定装置１００とカメラ２０ａ〜２０ｃは、ＵＳＢケーブル等により、相互に通信可能に接続されている。
【００１７】
［鋼管抽出部１０１］
鋼管抽出部１０１は、各カメラ２０ａ〜２０ｃで撮像された元画像のそれぞれに対して画像処理を行って、鋼管１０の夫々に対応する領域が相互に分離されて表現された２値化画像である領域分離２値化画像を作成する。
図１に示すように、本実施形態では、計数対象の鋼管１０の形状は、パイプ状である。そこで、本実施形態では、鋼管抽出部１０１は、本出願人が提案した特願２０１２−１８７９６９号明細書に記載の技術を利用して、各カメラ２０ａ〜２０ｃで撮像された元画像から、鋼管１０の本数をカメラ２０ａ〜２０ｃ毎に個別に計数する。以下に、特願２０１２−１８７９６９号明細書に記載の技術に基づいた鋼管抽出部１０１の構成及び処理の一例について説明する。
【００１８】
図３は、鋼管抽出部１０１の詳細な機能構成の一例を示すブロック図である。尚、鋼管抽出部１０１は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、ユーザインターフェース、及び通信インターフェースを用いることにより実現される。
鋼管情報取得部１０１ａは、スタックに保管されるべき鋼管１０の管理本数と、当該鋼管１０のパイプ径（ここでは、パイプ径が鋼管１０の内径であるとする）とを含む鋼管情報を、上位コンピュータ２００から取得する。このとき、鋼管情報取得部１０１ａは、上位コンピュータ２００に要求を行うことにより鋼管情報を取得しても、要求を行わずに上位コンピュータ２００から鋼管情報を取得してもよい。この他、バーコードリーダにより読み取ったＱＲコード（登録商標）（２次元バーコード）に含まれる鋼管情報を取得してもよい。
元画像取得部１０１ｂは、カメラ２０ａ〜２０ｃで撮像された元画像を個別に取得する。
【００１９】
図４は、元画像が処理される様子の一例を概念的に示す図である。以下に、元画像取得部１０１ｂにより取得された元画像の処理の一例を説明する。カメラ２０ａ〜２０ｃで撮像された元画像のそれぞれに対して、以下の処理が個別に行われる。尚、図４以降では、便宜上、画像に対するＸ、Ｙ座標が、それぞれ水平方向、高さ方向に一致するように示しているが、必ずしもこのようになるものではない。また、図４以降の画像を示す図は、実際に得られた画像ではなく、説明のために、図面化したものであり、説明に必要な部分を必要に応じてデフォルメして示す。
【００２０】
シェーディング補正部１０１ｃは、元画像取得部１０１ｂにより読み出された元画像に対してシェーディング補正を行い、元画像の濃度レベルのむらを補正し、高精細な元画像を得るためのものである。尚、シェーディング補正は、公知の技術で実現できるので、ここでは、その詳細な説明を省略する。
【００２１】
２値化部１０１ｄは、シェーディング補正部１０１ｃでシェーディング補正が行われた元画像に対して２値化処理を行い、当該元画像を２値化する。例えば、２値化部１０１ｄは、元画像において、諧調が閾値以上である画素には論理「１」を、当該閾値未満である画素には論理「０」を割り当てる。鋼管１０は、鋼材で形成されているため、鋼管１０からの反射光は、その周囲からの反射光よりも高い輝度を有する。したがって、閾値を適切に設定することによって、元画像において、鋼管１０の領域については論理「１」が、その他の領域については論理「０」が、それぞれ割り当てられることになる。尚、以下の説明では、２値化された元画像を、必要に応じて、２値化元画像と称する。図４（ａ）は、２値化元画像４１０の一例を示す図である。尚、ここでは、表記の都合上、図１に示した鋼管の一部についての２値化元画像４１０を示している。
図４（ａ）において、黒で塗り潰されている領域が、論理「０」が割り当てられた領域であることを示し、白抜きの領域が、論理「１」が割り当てられた領域であることを示している。尚、このような２値化処理は、公知の技術で実現できるので、ここでは、その詳細な説明を省略する。
【００２２】
ブロブ処理部１０１ｅは、２値化元画像４１０において、諧調が前記閾値未満の「連続する複数の画素」（すなわち、論理「０」が割り当てられている「連続する複数の画素」）で構成される閉領域（ブロブ）を導出し、各ブロブに対してラベリング処理（番号の割り振り）を行う。ブロブ処理部１０１ｅは、例えば、隣接する画素に割り当てられた論理が共に「０」である場合、当該画素は、同じブロブに含まれるものとしてブロブを導出する。このとき、ブロブ処理部１０１ｅは、ブロブの中に含まれる「論理「１」が割り当てられた画素」の数が閾値以下の場合、当該画素の論理を「１」から「０」に変更するようにするようにしてもよい。尚、ブロブ処理は、公知の技術で実現できるので、ここでは、その詳細な説明を省略する。
図４（ａ）に示す例では、鋼管の中空部分に対応するブロブ４１１ａ〜４１１ｐと、鋼管１０の隙間部分に対応するブロブ４１２ａ〜４１２ｎと、背景部分に対応するブロブ４１３と、が導出される。
【００２３】
鋼管候補抽出部１０１ｆは、ブロブ処理部１０１ｅで導出された各ブロブ４１１、４１２、４１３から、鋼管１０の中空部分のブロブとは異なるブロブを排除し、鋼管１０の中空部分の候補となるブロブを鋼管の候補として抽出する。このようにするための具体例を示すと、鋼管候補抽出部１０１ｆは、まず、鋼管情報取得部１０１ａで取得された鋼管情報に含まれているパイプ径を直径とする円の面積を導出し、導出した面積に所定の２つの倍率Ｋ１、Ｋ２（Ｋ１＜１、Ｋ２＞１）を乗算した値を第１、第２の閾値として導出する。また、鋼管候補抽出部１０１ｆは、ブロブ処理部１０１ｅで導出された各ブロブ４１１、４１２、４１３の面積を導出する。そして、鋼管候補抽出部１０１ｆは、面積が、第１の閾値以上、第２の閾値以下のブロブを鋼管の候補として設定する。
【００２４】
図４（ｂ）に示す例では、鋼管の中空部分に対応するブロブ４１１ａ〜４１１ｐが鋼管の候補として抽出された様子を示している。
図４に示す例では、ブロブ４１１ｎの形状及び大きさが、その他のブロブ４１１ａ〜４１１ｍ、４１１ｏ〜４１１ｐのものと異なることを示している。
鋼管判定部１０１ｇは、鋼管候補抽出部１０１ｆで設定された鋼管の候補（ブロブ４１１ａ〜４１１ｐ）が、所望の鋼管１０であるか否かを判定する。具体的に本実施形態では、鋼管の候補のそれぞれについて、以下の処理を行うようにしている。
図５は、鋼管の候補が鋼管１０であるか否かを判定するための第１の処理の一例を概念的に説明する図である。図５では、鋼板の候補としてブロブ４１１ａを例に挙げて説明する。
まず、鋼管判定部１０１ｇは、所定の２次元直交座標系（前述したように本実施形態では、地面に対して水平な方向の軸をＸ軸とし、地面に対して垂直な方向（高さ方向）の軸をＹ軸とする）を設定する。次に、鋼管判定部１０１ｇは、鋼管の候補のブロブ４１１ａの重心Ｏを、２次元直交座標系の所定の座標（例えば原点）に配置する。次に、鋼管判定部１０１ｇは、ブロブ４１１ａの中心Ｏを通り、且つ、Ｘ軸に平行な直線５０１を設定する（図５（ａ）を参照）。
【００２５】
次に、鋼管判定部１０１ｇは、論理「０」が割り当てられている画素が、直線５０１上に存在しているか否かを判定する。この判定の結果、論理「０」が割り当てられている画素が、直線５０１上に存在している場合、鋼管判定部１０１ｇは、直線５０１を、Ｙ軸の正の方向に１画素分移動する。次に、鋼管判定部１０１ｇは、移動した直線５０１に、論理「０」が割り当てられている画素が存在しているか否かを判定する。このような直線５０１の移動と判定とを繰り返し行う（図５（ｂ）を参照）。そして、鋼管判定部１０１ｇは、論理「０」が割り当てられている画素が、直線５０１に存在しなくなったところで直線５０１を固定する（図５（ｃ）を参照）。
【００２６】
鋼管判定部１０１ｇは、以上と同様の処理を、Ｙ軸の負の方向についても行い、直線５０２を設定する。そして、論理「０」が割り当てられている画素が存在しなくなったところで直線５０２を固定する（図５（ｄ）を参照）。
次に、鋼管判定部１０１ｇは、ブロブａの重心Ｏを通り、且つ、Ｙ軸に平行な直線を設定し、以上の処理と同様の処理を行う。この処理は、前述した処理の説明において、例えば、「Ｙ軸」を「Ｘ軸」に置き換えることで実現できるので、この処理の詳細な説明を省略する。
以上の処理により、図５（ｄ）に示すように、ブロブ４１１ａに対して４つの接線（直線５０１〜５０４）が得られる。そして、鋼管判定部１０１ｇは、図５（ｅ）に示すように、これら４つ接線で囲まれる矩形を、ブロブ４１１ａに対して外接する矩形５１０として導出し、この矩形５１０のＸ軸方向（横）の長さａ１とＹ軸方向（縦）の長さｂ１とを導出する。
【００２７】
図６は、鋼管の候補が所望の鋼管１０であるか否かを判定するための第２、第３の処理の一例を概念的に説明する図である。図６でも、図５と同様に、鋼管の候補としてブロブ４１１ａを例に挙げて説明する。鋼管判定部１０１ｇは、第１の処理が終わった後に、第２の処理、第３の処理を行う。
第１の処理（図５を参照）では、ブロブ４１１ａに対する４つの接線（直線５０１〜５０４）として、所定の２次元直交座標系のＸ軸及びＹ軸に平行な方向の接線を導出するようにした。これに対し、第２の処理では、図６（ａ）に示すように、鋼管判定部１０１ｇは、所定の２次元直交座標系のＸ軸及びＹ軸に平行な直線のそれぞれを、所定の方向（図６では時計回りの方向）に２２［°］傾けた直線６０１又は６０２に平行な４つの直線を、ブロブ４１１ａに対する４つの接線として導出する。そして、鋼管判定部１０１ｇは、これら４つ接線で囲まれる矩形を、ブロブ４１１ａに対して外接する矩形６１０として導出し、この矩形６１０について、Ｘ軸方向に対して所定の方向に２２［°］傾いた辺（横）の長さａ２と、Ｙ軸方向に対して所定の方向に２２°傾いた辺（横）の長さｂ２とを導出する。
【００２８】
また、第３の処理では、図６（ｂ）に示すように、鋼管判定部１０１ｇは、所定の２次元直交座標系のＸ軸及びＹ軸に平行な直線のそれぞれを、所定の方向（図６では時計回りの方向）に４４［°］傾けた直線６０３又は６０４に平行な４つの直線を、ブロブ４１１ａに対する４つの接線として導出する。そして、鋼管判定部１０１ｇは、これら４つ接線で囲まれる矩形を、ブロブ４１１ａに対して外接する矩形６２０として導出し、この矩形６２０について、Ｘ軸方向に対して所定の方向に４４［°］傾いた辺（横）の長さａ３と、Ｙ軸方向に対して所定の方向に４４［°］傾いた辺（横）の長さｂ３とを導出する。
以上のような第２、第３の処理は、それぞれ、鋼管の候補のブロブ４１１ａの重心Ｏを、前述した２次元直交座標系の所定の座標（例えば原点）に配置した後、前述した第１の処理の説明において、例えば、「Ｘ軸の方向」を「Ｘ軸方向に対して時計回りの方向に２２［°］、４４［°］傾いた方向」とし、「Ｙ軸の方向」を「Ｙ軸方向に対して時計回りの方向に２２［°］、４４［°］傾いた方向」とすることで実現できるので、これら第２、第３の処理の詳細な説明を省略する。
以上のようにして、鋼管の候補となるブロブ４１１ａに対して外接する複数の矩形５１０、６１０、６２０を導出することができる。尚、以下の説明では、Ｘ軸、Ｙ軸に対する角度を、必要に応じて、傾き角度と称する。
【００２９】
図７は、他の鋼管の候補と形状及び大きさが異なるブロブ４１１ｎに対して、第１〜第３の処理を行い、ブロブ４１１ｊに対して外接する複数の矩形７１０、７２０、７３０を導出した結果の一例を概念的に示す図である。
鋼管の候補となるブロブ４１１が真円に近ければ、図５（ｅ）、図６に示すように、当該ブロブ４１１に対して外接する複数の矩形の各辺の長さは、それ程変わらない。一方、鋼管の候補となるブロブ４１１が真円からずれるようになると、図７に示すように、当該ブロブ４１１に対して外接する複数の矩形の各辺の長さは、矩形毎に異なることになる。
【００３０】
鋼管判定部１０１ｇは、以上のようにして得られた複数の矩形（例えば、矩形５１０、６１０、６２０、７１０〜７３０）の２辺（横・縦）の長さａ１、ａ２、ａ３・ｂ１、ｂ２、ｂ３が、以下の鋼管判定条件式（（１）式〜（８）式）を満たす場合に、当該複数の矩形の元となるブロブ４１１が所望の鋼管１０に対応するものであると判定し、そのブロブ４１１の情報を記憶する。尚、本実施形態では、鋼管判定条件式は、予め設定されているものとする。
ａ１×０．８＜ｂ１＜ａ１×１．２  ・・・（１）
ｂ１×０．８＜ａ１＜ｂ１×１．２  ・・・（２）
ａ２×０．８＜ｂ２＜ａ２×１．２  ・・・（３）
ｂ２×０．８＜ａ２＜ｂ２×１．２  ・・・（４）
ａ３×０．８＜ｂ３＜ａ３×１．２  ・・・（５）
ｂ３×０．８＜ａ３＜ｂ３×１．２  ・・・（６）
｛（ａ１＋ｂ１）／２]2×π×０．８＜｛（ａ２＋ｂ２）／２]2×π＜｛（ａ１＋ｂ１）／２]2×π×１．２  ・・・（７）
｛（ａ１＋ｂ１）／２]2×π×０．８＜｛（ａ３＋ｂ３）／２]2×π＜｛（ａ１＋ｂ１）／２]2×π×１．２  ・・・（８）
尚、図４に示す例では、ブロブ４１１ａ〜４１１ｍ、４１１ｏ〜４１１ｐについては、鋼管判定条件式を満たし、その他のブロブ４１１ｎについては、鋼管判定条件式を満たさないものとする（図５〜図７を参照）。
【００３１】
領域分離２値化画像作成部１０１ｈは、２値化部１０１ｄで得られた２値化元画像４１０から、ブロブ処理部１０１ｅで得られたブロブ４１１、４１２、４１３のうち、鋼管判定部１０１ｇで所望の鋼管１０であると判定されたブロブを抽出して領域分離２値化画像を作成する。
図８は、領域分離２値化画像の一例を示す図である。前述したように、図４に示す例では、ブロブ４１１ａ〜４１１ｐのうち、ブロブ４１１ａ〜４１１ｍ、４１１ｏ〜４１１ｐが所望の鋼管に対応するものとなる。そこで、領域分離２値化画像作成部１０１ｈは、２値化元画像４１０のブロブ４１１ａ〜４１１ｍ、４１１ｏ〜４１１ｐの領域の画素に論理「１」をその他の領域の画素に論理「０」を割り当てて、領域分離２値化画像８１０を生成する。このようにして、複数の鋼管１０の１つ１つに対応するブロブが、相互に分離された状態になる。以下の説明では、このような複数の鋼管１０の１つ１つに対応するブロブを必要に応じて鋼管対応ブロブ（長尺物対応ブロブ）と称する。
【００３２】
本実施形態では、３つのカメラ２０ａ〜２０ｃによりそれぞれ１つずつ元画像が得られるので、３つの領域分離２値化画像８１０が得られる。図９は、カメラ２０ａ〜２０ｃにより得られた元画像から作成された領域分離２値化画像８１０ａ、８１０ｂ、８１０ｃの一例を示す図である。
図９（ａ）に示す領域分離２値化画像８１０ａは、カメラ２０ａにより得られた元画像から作成されたものであり、図９（ｂ）に示す領域分離２値化画像８１０ｂは、カメラ２０ｂにより得られた元画像から作成されたものであり、図９（ｃ）に示す領域分離２値化画像８１０ｃは、カメラ２０ｃにより得られた元画像から作成されたものである。尚、図８は、図９（ｃ）に示すものと同じである。すなわち、図４〜図８は、カメラ２０ｃにより得られた元画像に対する処理を説明するものである。尚、領域分離２値化画像８１０ａ、８１０ｂ、８１０ｃと、それらの基となる元画像の撮像範囲はそれぞれ同じである。また、ここでも、表記の都合上、図１に示した鋼管の一部についての領域分離２値化画像８１０を示している。また、図９以降では、表記の都合上、２値化画像についても輪郭のみを示す。
【００３３】
［間隔導出部１０２］
図２の説明に戻り、間隔導出部１０２は、領域分離２値化画像８１０において、Ｘ軸方向に並ぶｎ個以上の鋼管対応ブロブの間隔であって、相互に隣接する鋼管対応ブロブの間隔の、当該ｎ個以上の鋼管対応ブロブのＸ軸方向の全体の長さに対する割合（間隔割合）を導出する。以下に、間隔導出部１０２の具体的な処理の一例を説明する。間隔導出部１０２は、鋼管抽出部１０１により得られた全ての領域分離２値化画像８１０に対して以下の処理を個別に行う。
【００３４】
まず、間隔導出部１０２は、領域分離２値化画像８１０に含まれる鋼管対応ブロブから、Ｘ軸方向に並んでいるｎ個以上の鋼管対応ブロブからなるブロブ群を設定する。
図１０は、ブロブ群を設定する方法の一例を説明する図である。ここでは、図９（ａ）に示す領域分離２値化画像８１０ａからブロブ群を抽出する場合を例に挙げて説明する。
間隔導出部１０２は、領域分離２値化画像８１０ａに含まれる全ての鋼管対応ブロブ１００１ａ〜１００１ｑのＹ軸方向の最大値１００２ａ〜１００２ｑと最小値１００３ａ〜１００３ｑを導出する。
【００３５】
次に、間隔導出部１０２は、Ｙ軸方向の最大値１００２と最小値１００３の双方が所定の範囲内で一致する鋼管対応ブロブ１００１を選択する。次に、間隔導出部１０２は、抽出した鋼管対応ブロブ１００１の数がｎ個以上であるか否かを判定する。この判定の結果、抽出した鋼管対応ブロブ１００１の数がｎ個以上である場合、間隔導出部１０２は、抽出した鋼管対応ブロブ１００１を同一のブロブ群に属するものとする。一方、抽出した鋼管対応ブロブ１００１の数がｎ個以上でない場合、間隔導出部１０２は、抽出した鋼管対応ブロブ１００１が何れのブロブ群にも属さないようにする。ブロブ群とする鋼管対応ブロブ１００１の数がｎを「３」とした場合、図１０に示す例では、鋼管対応ブロブ１００１ａ〜１００１ｆが第１のブロブ群に属し、鋼管対応ブロブ１００１ｇ〜１００１ｋが第２のブロブ群に属し、鋼管対応ブロブ１００１ｌ〜１００１ｑが第３のブロブ群に属する。
【００３６】
次に、間隔導出部１０２は、同一のブロブ群に属する鋼管対応ブロブのうち、Ｘ軸方向の両端にある２つの鋼管対応ブロブの重心を導出する。図１１は、Ｘ軸方向の両端にある２つの鋼管対応ブロブの重心の一例を示す図である。ここでは、図１０に示す鋼管対応ブロブ１００１ｌ〜１００１ｑから設定されたブロブ群を例に挙げて説明する。図１１に示す例では、第１のブロブ群の両端の鋼管対応ブロブ１００１ａ、１００１ｆの重心１１０１ａ、１１０１ｆと、第２のブロブ群の両端の鋼管対応ブロブ１００１ｇ、１００１ｋの重心１１０１ｇ、１１０１ｋと、第３のブロブ群の両端の鋼管対応ブロブ１００１ｌ、１００１ｑの重心１１０１ｌ、１１０１ｑと、が導出される。
【００３７】
次に、間隔導出部１０２は、各ブロブ群の両端の２つの鋼管対応ブロブの重心を相互に接続する直線を導出する。図１１に示す例では、第１のブロブ群に対して直線１１０２ａが導出され、第２のブロブ群に対して直線１１０２ｂが導出され、第３のブロブ群に対して直線１１０２ｃが導出される。
次に、間隔導出部１０２は、各ブロブ群の両端の２つの鋼管対応ブロブの重心を相互に接続する直線と、Ｘ軸方向とのなす角度θを導出する。図１２は、各ブロブ群の両端の２つの鋼管対応ブロブの重心を相互に接続する直線と、Ｘ軸方向とのなす角度θの一例を示す図である。ここでは、図１１に示す第１のブロブ群を例に挙げて説明する。尚、説明の都合上、図１２では、第１のブロブ群の両端の２つの鋼管対応ブロブ１００１ａ、１００１ｆの重心１１０１ａ、１１０１ｆを相互に接続する直線１１０２ａを水平方向（Ｘ軸方向）に対して大きく傾けて示す。
【００３８】
図１２に示すように、本実施形態では、角度θは、Ｘ軸方向を基準として、紙面に向かって反時計回りの方向に値が増加するものとする。図１１に示す例では、３つのブロブ群があるので、このような角度θが３つ導出される。
そして、間隔導出部１０２は、各ブロブ群の両端の２つの鋼管対応ブロブの重心を相互に接続する直線と、Ｘ軸方向とのなす角度θの算術平均値を、各ブロブ群のＸ軸方向に対する傾きとして導出する。図１１に示す例では、３つのブロブ群があり、角度θが３つ導出されるので、これら３つの角度の算術平均値が導出される。
【００３９】
次に、間隔導出部１０２は、各ブロブ群のＸ軸方向に対する傾き（角度）の値が０°になるように、各ブロブ群を回動させて、各ブロブ群の傾きを補正する。第１のブロブ群のＸ軸方向に対する傾きが、図１２に示す角度θである場合、間隔導出部１０２は、図１２の紙面に向かって時計回りに角度θだけ各ブロブ群（第１〜第３のブロブ群）を回動させる。このような傾きを補正することによって、各領域分離２値化画像８１０ａ〜８１０ｃ（カメラ２０ａ〜２０ｃにより得られる元画像）のＸ−Ｙ座標の座標軸のずれを補正することができる。以下の説明では、このようにして補正がされた領域分離２値化画像を必要に応じて補正後領域分離２値化画像と称する。
【００４０】
次に、間隔導出部１０２は、傾きが補正された後の各ブロブ群の間隔割合を導出する。図１３は、傾きが補正された後の各ブロブ群の間隔割合を導出する方法の一例を説明する図である。ここでは、図１１に示す第１のブロブ群の傾きが補正された場合を例に挙げて説明する。
まず、間隔導出部１０２は、第１のブロブ群のＸ軸方向における両端の鋼管対応ブロブ１００１ａ、１００１ｆの重心１１０１ａ、１１０１ｆの長さＷを導出する。次に、間隔導出部１０２は、第１のブロブ群のＸ軸方向における両端以外の鋼管対応ブロブ１００１ｂ〜１００１ｅの重心１１０１ｂ〜１１０１ｅを導出する。次に、間隔導出部１０２は、第１のブロブ群の相互に隣接する２つの鋼管対応ブロブ１００１の間隔Ｄ１〜Ｄ５を導出する。そして、間隔導出部１０２は、各間隔Ｄ１〜Ｄ５を長さＷで割ることにより、間隔割合（＝Ｄ１／Ｗ、Ｄ２／Ｗ、Ｄ３／Ｗ、Ｄ４／Ｗ、Ｄ５／Ｗ）を導出する。
間隔導出部１０２は、例えば、ＣＰＵ、ＲＯＭ、及びＲＡＭを用いることにより実現される。尚、間隔割合の単位は百分率［％］であっても無次元［−］であってもよい。
【００４１】
［合成位置決定部１０３］
合成位置判定部１０３は、相互に隣接する２つの補正後領域分離２値化画像（ブロブ群の傾きが補正された領域分離２値化画像）を合成する位置を決定する。
図１４は、相互に隣接する２つの補正後領域分離２値化画像を合成する位置を決定する方法の一例を説明する図である。図１４に示す補正後領域分離２値化画像１４１０ａは、図９（ａ）に示す領域分離２値化画像８１０ａ（カメラ２０ａにより得られた元画像）に対応し、補正後領域分離２値化画像１４１０ｂは、図９（ｂ）に示す領域分離２値化画像８１０ｂ（カメラ２０ｂにより得られた元画像）に対応する。ここでは、図１４に示す補正後領域分離２値化画像１４１０ａ、１４１０ｂを合成する位置を決定する場合を例に挙げて説明する。尚、図１４の補正後領域分離２値化画像１４１０ｂの破線は、Ｘ軸方向に並ぶｎ個以上の鋼管対応ブロブが並んでいないため、間隔導出部１０２によりブロブ群として設定されなかった鋼管対応ブロブを仮想的に表す。
【００４２】
合成位置決定部１０３は、補正後領域分離２値化画像１４１０ａに含まれるブロブ群の１つと補正後領域分離２値化画像１４１０ｂに含まれるブロブ群の１つとの組み合わせを選択し、それらのブロブ群に属する鋼管対応ブロブの数が同じであるか否かを判定する。この判定を、補正後領域分離２値化画像１４１０ａに含まれるブロブ群と補正後領域分離２値化画像１４１０ｂに含まれるブロブ群との全ての組み合わせについて行う。
そして、この判定を、補正後領域分離２値化画像１４１０ａに含まれるブロブ群と補正後領域分離２値化画像１４１０ｂに含まれるブロブ群との全ての組み合わせについて行っても、鋼管対応ブロブの数が同じブロブ群の組み合わせがない場合、合成位置決定部１０３は、補正後領域分離２値化画像１４１０ａ、１４１０ｂを合成することができないと判定する。
【００４３】
図１４に示す例では、補正後領域分離２値化画像１４１０ａに含まれるブロブ群１４１１ａ、１４１１ｃに属する鋼管対応ブロブの数と、補正後領域分離２値化画像１４１０ｂに含まれるブロブ群１４１２ｂに属する鋼管対応ブロブの数と、が一致する。また、補正後領域分離２値化画像１４１０ａに含まれるブロブ群１４１１ｂに属する鋼管対応ブロブの数と、補正後領域分離２値化画像１４１０ｂに含まれるブロブ群１４１２ａに属する鋼管対応ブロブの数が一致する。
【００４４】
このように、鋼管対応ブロブの数が同じブロブ群の組み合わせがあった場合、合成位置決定部１０３は、当該ブロブ群の間隔割合が所定の範囲内で一致するか否かを判定する。この判定の結果、鋼管対応ブロブの数が同じ２つのブロブ群の間隔割合が所定の範囲内で一致する場合、合成位置決定部１０３は、当該ブロブ群の組み合わせを、位置合わせ候補のブロブ群として一時的に記憶する。例えば、相互に対応する位置の間隔割合の差の２乗の総和が所定の範囲内にある場合に、間隔割合が所定の範囲内で一致すると判定することができる。
【００４５】
以上の判定を、鋼管対応ブロブの数が同じブロブ群の組み合わせの全てについて行った結果、鋼管対応ブロブの数が同じブロブ群の組み合わせの全てにおいて、間隔割合が所定の範囲内で一致しない場合（位置合わせ候補のブロブ群が得られなかった場合）、合成位置決定部１０３は、補正後領域分離２値化画像１４１０ａ、１４１０ｂを合成することができないと判定する。
一方、位置合わせ候補のブロブ群の組み合わせが１つだけ得られた場合、合成位置決定部１０３は、当該ブロブ群の組み合わせを、位置合わせを行うブロブ群として決定する。
【００４６】
また、位置合わせ候補のブロブ群の組み合わせが複数得られた場合、合成位置決定部１０３は、補正後領域分離２値化画像１４１０ａに含まれる位置合わせ候補のブロブ群から、２つのブロブ群（ブロブ群のペア）を選択すると共に、当該ブロブ群のペアに対応するブロブ群を、補正後領域分離２値化画像１４１０ｂに含まれる位置合わせ候補のブロブ群から選択する。
そして、合成位置決定部１０３は、補正後領域分離２値化画像１４１０ａに含まれる位置合わせ候補のブロブ群から選択した２つのブロブ群のペアのＹ軸方向の間隔を導出する。同様に、合成位置決定部１０３は、補正後領域分離２値化画像１４１０ｂに含まれる位置合わせ候補のブロブ群から選択した２つのブロブ群のペアのＹ軸方向の間隔を導出する。そして、合成位置決定部１０３は、導出したＹ軸方向の間隔が所定の範囲内で一致するか否かを判定する。
このような判定を、補正後領域分離２値化画像１４１０ａ、１４１０ｂに含まれる位置合わせ候補のブロブ群から選択し得るブロブ群のペアの全ての組み合わせについて行う。そして、全ての組み合わせについてこのような判定を行った結果、全ての組み合わせにおいてＹ軸方向の間隔が所定の範囲内で一致する場合、合成位置決定部１０３は、位置合わせ候補のブロブ群を、位置合わせを行うブロブ群として決定し、そうでない場合、合成位置決定部１０３は、補正後領域分離２値化画像１４１０ａ、１４１０ｂを合成することができないと判定する。
尚、Ｙ軸方向の間隔としては、例えば、補正後領域分離２値化画像１４１０ａ、１４１０ｂにおける、ブロブ群の両端の２つの鋼管対応ブロブの重心を相互に接続する直線（図１１の直線１１０２ａ、１１０２ｂ、１１０２ｃを参照）の間隔を採用することができる。
【００４７】
図１４に示す例では、補正後領域分離２値化画像１４１０ａに含まれるブロブ群１４１１ｃの間隔割合と、補正後領域分離２値化画像１４１０ｂに含まれるブロブ群１４１２ｂの間隔割合は、所定の範囲内で一致するが、補正後領域分離２値化画像１４１０ａに含まれるブロブ群１４１１ａの間隔割合と、補正後領域分離２値化画像１４１０ｂに含まれるブロブ群１４１２ｂの間隔割合は、所定の範囲内で一致しないものとする。また、補正後領域分離２値化画像１４１０ａに含まれるブロブ群１４１１ｂの間隔割合と、補正後領域分離２値化画像１４１０ｂに含まれるブロブ群１４１２ａの間隔割合が所定の範囲内で一致するものとする。尚、本発明者らの知見によれば、段数が異なる鋼管においては、ほとんどの場合、鋼管のＸ軸方向の間隔は異なるので、ほとんどの場合、以上のように、異なる段のブロブ群の間隔割合は、所定の範囲内で一致しないものとなる（無視できない程度に異なる値になる）。
【００４８】
そうすると、図１４の両矢印線で示すように、補正後領域分離２値化画像１４１０ａに含まれるブロブ群１４１１ｃと、補正後領域分離２値化画像１４１０ｂに含まれるブロブ群１４１２ｂとが、位置合わせ候補のブロブ群の一つになる。さらに、補正後領域分離２値化画像１４１０ａに含まれるブロブ群１４１１ｂと、補正後領域分離２値化画像１４１０ｂに含まれるブロブ群１４１２ａとが、位置合わせ候補のブロブ群の他の一つになる。
【００４９】
ここでは、位置合わせ候補のブロブ群の組み合わせ（ブロブ群１４１１ｃ、１４１２ｂ、ブロブ群１４１１ｂ、１４１２ａ）が２つ得られる。したがって、合成位置決定部１０３は、補正後領域分離２値化画像１４１０ａに含まれる位置合わせ候補のブロブ群１４１１ｃ、１４１２ｂのＹ軸方向の間隔と、補正後領域分離２値化画像１４１０ｂに含まれる位置合わせ候補のブロブ群１４１１ｂ、１４１２ａのＹ軸方向の間隔と、を導出する。そして、合成位置決定部１０３は、これら２つのＹ軸方向の間隔が所定の範囲内で一致するか否かを判定する。これら２つのＹ軸方向の間隔が所定の範囲内で一致する場合、合成位置決定部１０３は、ブロブ群１４１１ｃ、１４１２ｂ、ブロブ群１４１１ｂ、１４１２ａを、位置合わせを行うブロブ群として決定する。
以上の処理を、図９（ｂ）に示す領域分離２値化画像８１０ｂ（カメラ２０ｂにより得られた元画像）に対応する補正後領域分離２値化画像１４１０ｂと、図９（ｃ）に示す領域分離２値化画像８１０ｃ（カメラ２０ｃにより得られた元画像）に対応する補正後領域分離２値化画像１４１０ｂについても行う。
合成位置決定部１０３は、例えば、ＣＰＵ、ＲＯＭ、及びＲＡＭを用いることにより実現される。
【００５０】
［画像合成部１０４］
画像合成部１０４は、合成位置決定部１０３により決定された、位置合わせを行うブロブ群の位置に基づいて、相互に隣接する補正後領域分離２値化画像を合成する。
図１５は、補正後領域分離２値化画像を合成して表示する方法の一例を説明する図である。
図１５において、補正後領域分離２値化画像１４１０ａ、１４１０ｂ、１４１０ｃは、図９（ａ）、図９（ｂ）、図９（ｃ）に示す領域分離２値化画像８１０ａ、８１０ｂ、８１０ｃ（カメラ２０ａ、２０ｂ、２０ｃにより得られた元画像）に対応する。すなわち、補正後領域分離２値化画像１４１０ａ、１４１０ｂが相互に隣接するものであり、補正後領域分離２値化画像１４１０ｂ、１４１０ｃが相互に隣接するものである。ここでは、これらの補正後領域分離２値化画像１４１０ａ、１４１０ｂ、１４１０ｃを合成する場合を例に挙げて説明する。
【００５１】
まず、画像合成部１０４は、補正後領域分離２値化画像１４１０ａ、１４１０ｂを、基準となる補正後領域分離２値化画像１４１０ｂの大きさに合わせて拡縮する。
本実施形態では、画像合成部１０４は、補正後領域分離２値化画像１４１０ｂに含まれるブロブ群のうち、合成位置決定部１０３により決定された位置合わせを行うブロブ群のＸ軸方向における両端の鋼管対応ブロブの重心の長さ（図１３の長さＷを参照）の算術平均値を導出する。以下の説明では、この長さを必要に応じて基準長さと称する。
同様に、画像合成部１０４は、補正後領域分離２値化画像１４１０ａ、１４１０ｃに含まれるブロブ群のうち、合成位置決定部１０３により決定された位置合わせを行うブロブ群のＸ軸方向における両端の鋼管対応ブロブの重心の長さの算術平均値をそれぞれ導出する。以下の説明では、この長さを必要に応じて比較対象長さと称する。
【００５２】
そして、画像合成部１０４は、補正後領域分離２値化画像１４１０ａにおける比較対象長さと基準長さとの比に応じて、補正後領域分離２値化画像１４１０ｂの大きさに合うように、補正後領域分離２値化画像１４１０ａの大きさを拡縮する。
同様に、画像合成部１０４は、補正後領域分離２値化画像１４１０ｃにおける比較対象長さと基準長さとの比に応じて、補正後領域分離２値化画像１４１０ｂの大きさに合うように、補正後領域分離２値化画像１４１０ｃの大きさを拡縮する。
このように補正後領域分離２値化画像１４１０ａ、１４１０ｃの大きさを補正後領域分離２値化画像１４１０ｂの大きさに合うように拡縮することにより、カメラ２０ａ、２０ｂ、２０ｃのＺ軸方向の位置のずれ等を補正することができる。
【００５３】
次に、画像合成部１０４は、大きさが拡縮された補正後領域分離２値化画像１４１０ａと、基準となる補正後領域分離２値化画像１４１０ｂとを、それらの位置合わせを行うブロブ群の位置が可及的に近くなるように合成する（図１５の最上段の左図と中央図を参照）。同様に、画像合成部１０４は、大きさが拡縮された補正後領域分離２値化画像１４１０ｃと、基準となる補正後領域分離２値化画像１４１０ｂとを、それらの位置合わせを行うブロブ群の位置が可及的に近くなるように合成する（図１５の最上段の右図と中央図を参照）。こうして補正後領域分離２値化画像１４１０ａ〜１４１０ｃが１つの合成画像１５１０となる（図１５の中段の図を参照）。
画像合成部１０４は、例えば、ＣＰＵ、ＲＯＭ、及びＲＡＭを用いることにより実現される。
【００５４】
［本数決定部１０５］
本数決定部１０５は、画像合成部１０４で得られた合成画像１５１０に基づいて、鋼管の本数を決定する。
合成画像１５１０は、３つの補正後領域分離２値化画像１４１０ａ〜１４１０ｃを合成したものであるので、同じ鋼管に対応する複数の鋼管対応ブロブが存在することがある。そこで、本数決定部１０５は、合成画像１５１０に含まれる鋼管対応ブロブのうち、所定の割合以上、相互に重複している鋼管対応ブロブを、１つを残して削除する。このときに残す鋼管対応ブロブは、例えば、３つの補正後領域分離２値化画像１４１０ａ〜１４１０ｃに対して予め定められた優先順に従って決めることができる。ここでは、基準となる補正後領域分離２値化画像１４１０ｂにおける鋼管対応ブロブを優先的に残すようにする。そして、本数決定部１０５は、最終的に合成画像１５１０に残っている鋼管対応ブロブの数を、鋼管１０の本数として決定する。
本数決定部１０５は、例えば、ＣＰＵ、ＲＯＭ、及びＲＡＭを用いることにより実現される。
【００５５】
［出力画像作成部１０６］
出力画像作成部１０６は、本数決定部１０５により鋼管の数を決定する際に使用された鋼管対応ブロブを、カメラ２０ｂで撮像された元画像に合成した画像と、本数決定部１０５で決定された鋼管１０の本数とを含む出力画像１５２０を表示するための表示データを作成する。鋼管対応ブロブが所定の色で着色されるようにする（図１５の最下段に示す黒塗りの部分と「２２」と示されている部分を参照）。
また、出力画像作成部１０６は、合成位置決定部１０３により、補正後領域分離２値化画像を合成することができないと判定されると、鋼管１０の本数を計数することができなかった旨の情報を表示するための表示データを作成する。
出力画像作成部１０６は、例えば、ＣＰＵ、ＲＯＭ、及びＲＡＭを用いることにより実現される。
［出力画像出力部１０７］
出力画像出力部１０７は、出力画像作成部１０６により作成された表示データを、表示装置に出力する。これにより、長尺物本数測定装置１００に接続された表示装置（コンピュータディスプレイ）に鋼管１０の本数を含む出力画像が表示される。
出力画像出力部１０７は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、及び通信インターフェースを用いることにより実現される。
【００５６】
（動作フローチャート）
次に、図１６のフローチャートを参照しながら、長尺物本数測定装置１００の動作の一例を説明する。尚、ここでは、長尺物本数測定装置１００は、カメラ２０ａ〜２０ｃで撮像された元画像と、鋼管情報を既に取得しているものとして説明を行う。
まず、ステップＳ１６０１において、鋼管抽出部１０１は、カメラ２０ａ〜２０ｃで撮像された３つの元画像の１つを選択する。
次に、ステップＳ１６０２において、鋼管抽出部１０１は、ステップＳ１６０１で選択した元画像から、領域分離２値化画像８１０ａ、８１０ｂ又は８１０ｃを作成する（図９を参照）。
【００５７】
次に、ステップＳ１６０３において、鋼管抽出部１０１は、カメラ２０ａ〜２０ｃで撮像された３つの元画像の全てを選択したか否かを判定する。この判定の結果、カメラ２０ａ〜２０ｃで撮像された３つの元画像の全てを選択していない場合には、ステップＳ１６０１に戻り、カメラ２０ａ〜２０ｃで撮像された３つの元画像の全てから、領域分離２値化画像８１０ａ、８１０ｂ、８１０ｃを作成するまで、ステップＳ１６０１〜Ｓ１６０３の処理を繰り返し行う。
そして、カメラ２０ａ〜２０ｃで撮像された３つの元画像の全てを選択すると、ステップＳ１６０４に進む。ステップＳ１６０４に進むと、間隔導出部１０２は、３つの領域分離２値化画像８１０ａ、８１０ｂ、８１０ｃの１つを選択する。
【００５８】
次に、ステップＳ１６０５において、間隔導出部１０２は、領域分離２値化画像８１０に含まれる鋼管対応ブロブに基づいて、Ｘ軸方向に並んでいるｎ個以上の鋼管対応ブロブからなるブロブ群を設定する。
次に、ステップＳ１６０６において、間隔導出部１０２は、各ブロブ群のＸ軸方向に対する傾きを導出する。ここでは、各ブロブ群の両端の２つの鋼管対応ブロブの重心を相互に接続する直線と、Ｘ軸方向とのなす角度θの算術平均値を、各ブロブ群のＸ軸方向に対する傾きとする（図１２を参照）。
【００５９】
次に、ステップＳ１６０７において、間隔導出部１０７は、各ブロブ群のＸ軸方向に対する傾き（角度）の値が０°になるように、各ブロブ群を回動させて、各ブロブ群のＸ軸方向に対する傾きを補正する。
次に、ステップＳ１６０８において、間隔導出部１０７は、傾きが補正された後の各ブロブ群の間隔割合を導出する。ここでは、各間隔Ｄ１〜Ｄ５を長さＷで割った値（＝Ｄ１／Ｗ、Ｄ２／Ｗ、Ｄ３／Ｗ、Ｄ４／Ｗ、Ｄ５／Ｗ）を間隔割合とする（図１３を参照）。
次に、ステップＳ１６０９において、間隔導出部１０７は、３つの領域分離２値化画像８１０ａ、８１０ｂ、８１０ｃの全てを選択したか否かを判定する。この判定の結果、３つの領域分離２値化画像８１０ａ、８１０ｂ、８１０ｃの全てを選択していない場合には、ステップＳ１６０４に戻る。そして、３つの領域分離２値化画像８１０ａ、８１０ｂ、８１０ｃの全てについて、各ブロブ群の間隔割合を導出するまで、ステップＳ１６０４〜Ｓ１６０９の処理を繰り返し行う。
【００６０】
そして、３つの領域分離２値化画像８１０ａ、８１０ｂ、８１０ｃの全てを選択すると、ステップＳ１６１０に進む。ステップＳ１６１０に進むと、合成位置決定部１０３は、補正後領域分離２値化画像１４１０ａ、１４１０ｂ、１４１０ｃ（傾きが補正された後の領域分離２値化画像）のうち、相互に隣接する２つの補正後領域分離２値化画像（例えば、補正後領域分離２値化画像１４１０ａ、１４１０ｂ）の組み合わせを１つ選択する。
次に、ステップＳ１６１１において、合成位置決定部１０３は、ステップＳ１６１０で選択した２つの補正後領域分離２値化画像のうち、一方の補正後領域分離２値化画像（例えば、補正後領域分離２値化画像１４１０ａ）に含まれるブロブ群を１つ選択する。
次に、ステップＳ１６１２において、合成位置決定部１０３は、ステップＳ１６１０で選択した２つの補正後領域分離２値化画像のうち、他方の補正後領域分離２値化画像（例えば、補正後領域分離２値化画像１４１０ｂ）に含まれるブロブ群を１つ選択する。
【００６１】
次に、図１６−２のステップＳ１６１３において、合成位置決定部１０３は、ステップＳ１６１１、Ｓ１６１２で選択したブロブ群に属する鋼管対応ブロブの数が同じであるか否かを判定する。この判定の結果、ステップＳ１６１１、Ｓ１６１２で選択したブロブ群に属する鋼管対応ブロブの数が同じでない場合には、ステップＳ１６１４、Ｓ１６１５を省略して後述するステップＳ１６１６に進む。
一方、ステップＳ１６１１、Ｓ１６１２で選択したブロブ群に属する鋼管対応ブロブの数が同じである場合には、ステップＳ１６１４に進む。ステップＳ１６１４に進むと、ステップＳ１６１１、Ｓ１６１２で選択したブロブ群の間隔割合が所定の範囲内で一致するか否かを判定する。この判定の結果、ステップＳ１６１１、Ｓ１６１２で選択したブロブ群の間隔割合が所定の範囲内で一致しない場合には、ステップＳ１６１５を省略して後述するステップＳ１６１６に進む。
【００６２】
一方、ステップＳ１６１１、Ｓ１６１２で選択したブロブ群の間隔割合が所定の範囲内で一致する場合には、ステップＳ１６１５に進む。ステップＳ１６１５に進むと、合成位置決定部１０３は、ステップＳ１６１１、Ｓ１６１２で選択したブロブ群の組み合わせを位置合わせ候補のブロブ群として一時的に記憶する。そして、ステップＳ１６１６に進む。
ステップＳ１６１６に進むと、合成位置決定部１０３は、ステップＳ１６１０で選択した２つの補正後領域分離２値化画像のうち、他方の補正後領域分離２値化画像に含まれるブロブ群の全てを選択したか否かを判定する。この判定の結果、ステップＳ１６１０で選択した２つの補正後領域分離２値化画像のうち、他方の補正後領域分離２値化画像に含まれるブロブ群の全てを選択していない場合には、図１６−１のステップＳ１６１２に戻る。
【００６３】
そして、一方の補正後領域分離２値化画像のブロブ群の１つと、他方の補正後領域分離２値化画像のブロブ群の全てとのそれぞれの組み合わせが、位置合わせ候補のブロブ群になるか否かを判定するまで、ステップＳ１６１２〜ステップＳ１６１６の処理を繰り返し行う。そして、ステップＳ１６１０で選択した２つの補正後領域分離２値化画像のうち、他方の補正後領域分離２値化画像に含まれるブロブ群の全てを選択すると、ステップＳ１６１７に進む。
ステップＳ１６１７に進むと、合成位置決定部１０３は、ステップＳ１６１０で選択した２つの補正後領域分離２値化画像のうち、一方の補正後領域分離２値化画像に含まれるブロブ群の全てを選択したか否かを判定する。この判定の結果、ステップＳ１６１０で選択した２つの補正後領域分離２値化画像のうち、一方の補正後領域分離２値化画像に含まれるブロブ群の全てを選択していない場合には、図１６−１のステップＳ１６１１に戻る。そして、一方の補正後領域分離２値化画像のブロブ群と、他方の補正後領域分離２値化画像のブロブ群の全ての組み合わせが、位置合わせ候補のブロブ群になるか否かを判定するまで、ステップＳ１６１１〜ステップＳ１６１７の処理を繰り返し行う。そして、ステップＳ１６１０で選択した２つの補正後領域分離２値化画像のうち、一方の補正後領域分離２値化画像に含まれるブロブ群の全てを選択すると、ステップＳ１６１８に進む。
【００６４】
ステップＳ１６１８に進むと、合成位置決定部１０３は、位置合わせ候補のブロブ群の組み合わせがあるか否かを判定する。この判定の結果、位置合わせ候補のブロブ群の組み合わせが１つもない場合には、補正後領域分離２値化画像を合成することができず、鋼管１０の本数を計数することができない。そこで、ステップＳ１６１９において、出力画像作成部１０６は、鋼管１０の本数を計数することができなかった旨の情報を表示するための表示データを作成する。そして、出力画像出力部１０７は、当該表示データを、表示装置に出力してエラー表示を行う。そして、図１６のフローチャートによる処理を終了する。
一方、位置合わせ候補のブロブ群の組み合わせがある場合には、ステップＳ１６２０に進む。ステップＳ１６２０に進むと、合成位置決定部１０３は、位置合わせ候補のブロブ群の組み合わせが複数あるか否かを判定する。この判定の結果、位置合わせ候補のブロブ群の組み合わせが複数ある場合には、後述するステップＳ１６３１に進む。
【００６５】
一方、位置合わせ候補のブロブ群の組み合わせが複数ない場合には、位置合わせ候補のブロブ群の組み合わせは１つである。そこで、ステップＳ１６２１に進み、合成位置決定部１０３は、当該位置合わせ候補のブロブ群の組み合わせを、位置合わせを行うブロブ群として決定する。
次に、図１６−３のステップＳ１６２２において、合成位置決定部１０３は、補正後領域分離２値化画像１４１０ａ、１４１０ｂ、１４１０ｃのうち、相互に隣接する２つの補正後領域分離２値化画像の組み合わせを全て選択したか否かを判定する。この判定の結果、相互に隣接する２つの補正後領域分離２値化画像の組み合わせを全て選択していない場合には、図１６−１のステップＳ１６１０に戻る。そして、相互に隣接する２つの補正後領域分離２値化画像の組み合わせの全てについて、位置合わせを行うブロブ群を決定するまで、ステップＳ１６１０〜Ｓ１６２２の処理を繰り返し行う。
【００６６】
そして、相互に隣接する２つの補正後領域分離２値化画像の組み合わせを全て選択すると、ステップＳ１６２３に進む。ステップＳ１６２３に進むと、画像合成部１０４は、基準となる補正後領域分離２値化画像１４１０ｂ以外の補正後領域分離２値化画像１４１０ａ、１４１０ｂの１つを選択する。
次に、ステップＳ１６２４において、画像合成部１０４は、ステップＳ１５２３で選択した領域分離２値化画像１４１０ａ又は１４１０ｂを、基準となる補正後領域分離２値化画像１４１０ｂの大きさに合わせて拡縮する。
【００６７】
次に、ステップＳ１６２５において、画像合成部１０４は、基準となる補正後領域分離２値化画像１４１０ｂ以外の補正後領域分離２値化画像１４１０ａ、１４１０ｂの全てを選択したか否かを判定する。この判定の結果、基準となる補正後領域分離２値化画像１４１０ｂ以外の補正後領域分離２値化画像１４１０ａ、１４１０ｂの全てを選択していない場合には、ステップＳ１６２３に戻る。そして、基準となる補正後領域分離２値化画像１４１０ｂ以外の補正後領域分離２値化画像１４１０ａ、１４１０ｂの全てを、基準となる補正後領域分離２値化画像１４１０ｂの大きさに合わせて拡縮するまで、ステップＳ１６２３〜Ｓ１６２５の処理を繰り返し行う。
そして、基準となる補正後領域分離２値化画像１４１０ｂ以外の補正後領域分離２値化画像１４１０ａ、１４１０ｂの全てを選択すると、ステップＳ１６２６に進む。ステップＳ１６２６に進むと、画像合成部１０４は、大きさが拡縮された補正後領域分離２値化画像１４１０ａ、１４１０ｂと基準となる補正後領域分離２値化画像１４１０ｂとを、それらの位置合わせを行うブロブ群の位置が可及的に近くなるようにそれぞれ合成して合成画像１５１０を作成する（図１５の最上段及び中段の図を参照）。
【００６８】
次に、ステップＳ１６２７において、本数決定部１０５は、合成画像１５１０に含まれる鋼管対応ブロブのうち、所定の割合以上、相互に重複している鋼管対応ブロブを、１つを残して削除する。
次に、ステップＳ１６２８において、本数決定部１０５は、最終的に合成画像１５１０に残っている鋼管対応ブロブの数を、鋼管１０の本数として決定する。
次に、ステップＳ１６２９において、出力画像作成部１０６は、本数決定部１０５により鋼管の数を決定する際に使用された鋼管対応ブロブを、カメラ２０ｂで撮像された元画像に合成した画像と、本数決定部１０５で決定された鋼管１０の本数とを含む出力画像１５２０を表示するための表示データを作成する。
そして、ステップＳ１６３０において、出力画像出力部１０７は、ステップＳ１６２９で作成された表示データを、表示装置に出力する（図１５の最下段の図を参照）。そして、図１６のフローチャートによる処理を終了する。
【００６９】
前述したように、図１６−２のステップＳ１６２０において、位置合わせ候補のブロブ群の組み合わせが複数ある場合には、ステップＳ１６３１に進む。
ステップＳ１６３１に進むと、合成位置決定部１０３は、ステップＳ１６１０で選択された２つの補正後領域分離２値化画像のうち、一方の補正後領域分離２値化画像に含まれる位置合わせ候補のブロブ群から、２つのブロブ群（ブロブ群のペア）を選択する。
次に、ステップＳ１６３２において、合成位置決定部１０３は、ステップＳ１６１０で選択された２つの補正後領域分離２値化画像のうち、他方の補正後領域分離２値化画像に含まれる位置合わせ候補のブロブ群から、ステップＳ１６３１に対応する２つのブロブ群（ブロブ群）を選択する。
【００７０】
次に、ステップＳ１６３３において、合成位置決定部１０３は、ステップＳ１６３１で選択した２つのブロブ群のＹ軸方向の間隔と、ステップＳ１６３２で選択した２つのブロブ群のＹ軸方向の間隔とを導出する。
次に、図１６−３のステップＳ１６３４において、合成位置決定部１０３は、ステップＳ１６３１で選択した２つのブロブ群のＹ軸方向の間隔と、ステップＳ１６３２で選択した２つのブロブ群のＹ軸方向の間隔とが所定の範囲内で一致するか否かを判定する。この判定の結果、ステップＳ１６３１で選択した２つのブロブ群のＹ軸方向の間隔と、ステップＳ１６３２で選択した２つのブロブ群のＹ軸方向の間隔とが所定の範囲内で一致しない場合には、ステップＳ１６３５に進む。ステップＳ１６３５に進むと、出力画像作成部１０６は、鋼管１０の本数を計数することができなかった旨の情報を表示するための表示データを作成する。そして、出力画像出力部１０７は、当該表示データを、表示装置に出力してエラー表示を行う。そして、図１６のフローチャートによる処理を終了する。
【００７１】
一方、ステップＳ１６３１で選択した２つのブロブ群のＹ軸方向の間隔と、ステップＳ１６３２で選択した２つのブロブ群のＹ軸方向の間隔とが所定の範囲内で一致する場合には、ステップＳ１６３６に進む。ステップＳ１６３６に進むと、合成位置決定部１０３は、ステップＳ１６１０で選択された２つの補正後領域分離２値化画像のうち、一方の補正後領域分離２値化画像に含まれる位置合わせ候補のブロブ群から、２つのブロブ群の組み合わせを全て選択したか否かを判定する。
この判定の結果、ステップＳ１６１０で選択された２つの補正後領域分離２値化画像のうち、一方の補正後領域分離２値化画像に含まれる位置合わせ候補のブロブ群から、２つのブロブ群の組み合わせを全て選択していない場合には、図１６−２のステップＳ１６３１に戻る。そして、一方の補正後領域分離２値化画像に含まれる位置合わせ候補の２つのブロブ群の全ての組み合わせと、それらの組み合わせに対応する２つのブロブ群であって、他方の補正後領域分離２値化画像に含まれる位置合わせ候補の２つのブロブ群の全ての組み合わせと、のそれぞれについてＹ軸方向の間隔が所定の範囲内で一致するか否かを判定するまで、ステップＳ１６３１〜Ｓ１６３６の処理を繰り返し行う。
【００７２】
そして、一方の補正後領域分離２値化画像に含まれる位置合わせ候補のブロブ群から、２つのブロブ群の組み合わせを全て選択すると、ステップＳ１６３７に進む。ステップＳ１６３７に進むと、合成位置決定部１０３は、位置合わせ候補のブロブ群の全てを、位置合わせを行うブロブ群として決定する。そして、前述したステップＳ１６２２に進む。
【００７３】
（まとめ）
以上のように本実施形態では、カメラ２０ａ〜２０ｃで撮像された元画像のそれぞれに対して画像処理を行って、鋼管１０の夫々に対応する領域が相互に分離されて表現された２値化画像である補正後領域分離２値化画像１４１０ａ〜１４１０ｃを作成する。そして、補正領域分離２値化画像１４１０ａ〜１４１０ｃのうち、相互に隣接する領域分離２値化画像から、相互に対応するブロブ群１４１１ｂ、１４１２ａ等を導出し、当該ブロブ群同士が合うように、領域分離２値化画像１４１０ａ〜１４１０ｃを合成して合成画像１５１０を作成する。この合成画像１５１０に基づいて鋼管１０の本数を決定する。したがって、カメラ２０ａ〜２０ｃの死角となる領域を、他のカメラ２０ａ〜２０ｃで得られる元画像で補うことができると共に、カメラ２０ａ〜２０ｃで得られた元画像において照明が十分に当たらずに十分な輝度が得られていない元画像の領域を、他のカメラ２０ａ〜２０ｃで得られる元画像で補うことができる。したがって、段積みされている複数の鋼管の一部の先端が他の鋼管よりも後退した状態であっても、当該段積みされている複数の鋼管の本数を自動的に且つ正確に測定することができる。
【００７４】
また、本実施形態では、領域分離２値化画像８１０ａ〜８１０ｃにおけるブロブ群の傾きを補正した補正後領域分離２値化画像１４１０ａ〜１４１０ｃを作成すると共に、補正領域分離２値化画像１４１０ｂの大きさに合うように補正領域分離２値化画像１４１０ａ、１４１０ｃを拡縮した。したがって、カメラ２０ａ〜２０ｃの配置や光学系のずれに基づく画像のずれを補正することができる。したがって、当該段積みされている複数の鋼管の本数をより正確に測定することができる。
【００７５】
（変形例）
本実施形態では、本数決定部１０５により鋼管の数を決定する際に使用された鋼管対応ブロブを、カメラ２０ｂで撮像された元画像に合成する場合を例に挙げて説明した（ステップＳ１６２９）。しかしながら、必ずしもこのようにする必要はない。その一例を以下に説明する。
【００７６】
図１７は、本数決定部１０５により鋼管の数を決定する際に使用された鋼管対応ブロブを、元画像に合成する方法の変形例を示す図である。
まず、本数決定部１０５は、前述したように、画像合成部１０４で得られた合成画像１５１０に含まれる鋼管対応ブロブのうち、所定の割合以上、相互に重複している鋼管対応ブロブを、１つを残して削除する。
【００７７】
次に、本数決定部１０５は、鋼管対応ブロブを削除した合成画像に含まれる鋼管対応ブロブのそれぞれを、それらの重心の位置を変えずに同じ割合で拡大させる（図１７の最上段の図の矢印線を参照）。本数決定部１０５は、このような鋼管対応ブロブの拡大を、他の鋼管対応ブロブの何れかと接触するまで行う（図１７の中段の図の矢印線を参照）。
次に、本数決定部１０５は、拡大し終えた鋼管対応ブロブに外接する矩形を導出し、導出した矩形を、その重心の位置を変えずに所定の長さだけ拡大させる（図１７の最下段の図の破線を参照）。
次に、本数決定部１０５は、合成画像をＹ軸方向において３等分した３つの領域のうち、最も上にある領域１７１０ａに対応する座標を、矩形内の鋼管対応ブロブの位置から割り出し、割り出した座標の範囲にある部分を、最も上に配置されたカメラ２０ａで撮像された元画像から抽出する。同様に、本数決定部１０５は、真ん中にある領域１７１０ｂに対応する座標を、矩形内の鋼管対応ブロブの位置から割り出し、割り出した座標の範囲にある部分を、真ん中に配置されたカメラ２０ｂで撮像された元画像から抽出し、さらに、最も下にある領域１７１０ｃに対応する座標を、矩形内の鋼管対応ブロブの位置から割り出し、割り出した座標の範囲にある部分を、最も下に配置されたカメラ２０ｃで撮像された元画像から抽出する。そして、本数決定部１０５は、抽出した画像を張り合わせ、当該張り合わせた画像に、本数決定部１０５により鋼管の数を決定する際に使用された鋼管対応ブロブを合成する。以上のようにして、鋼管対応ブロブを元画像に合成してもよい。
【００７８】
また、本実施形態では、領域分離２値化画像８１０ａ〜８１０ｃにおけるブロブ群の傾きを補正した補正後領域分離２値化画像１４１０ａ〜１４１０ｃを作成すると共に、補正領域分離２値化画像１４１０ｂの大きさに合うように補正領域分離２値化画像１４１０ａ、１４１０ｃを拡縮した。しかしながら、カメラ２０ａ〜２０ｃの配置や光学系のずれがない（Ｙ軸方向の位置以外のカメラ２０ａ〜２０ｃの条件が完全に同じであると見なせる）場合には、これらの処理は必ずしも行う必要はない。
【００７９】
また、本実施形態では、３つのカメラ２０ａ〜２０ｃをＹ軸方向（高さ方向）に並べ、Ｙ軸方向で画像を合成する場合を例に挙げて説明した。しかしながら、複数のカメラをＸ軸方向に並べ、Ｘ軸方向で画像を合成してもよい。このようにする場合、Ｘ軸とＹ軸を逆にして考えれば、本実施形態と同様にして実現することができる。また、複数のカメラをＸ軸方向とＹ軸方向の双方に並べ（すなわち、複数のカメラをマトリックス状に並べ）、Ｘ軸方向及びＹ軸方向の双方で画像を合成してもよい。
【００８０】
また、本実施形態では、３つのカメラ２０ａ〜２０ｃを用いる場合を例に挙げて説明した。しかしながら、必ずしもこのようにする必要はない。例えば、１つのカメラを用いてもよい。このようにした場合には、当該カメラを、各カメラ２０ａ〜２０ｃの位置に移動させ、それぞれの位置おいて、元画像を撮像することができる。
【００８１】
また、本実施形態では、相互に隣接する２つの鋼管対応ブロブ１００１の間隔Ｄ１〜Ｄ５を、Ｘ軸方向における両端の鋼管対応ブロブ１００１ａ、１００１ｆの重心１１０１ａ、１１０１ｆの長さＷで割った値を、間隔情報とした場合を例に挙げて説明した。しかしながら、必ずしもこのようにする必要はない。例えば、カメラ２０ａ〜２０ｃの配置や光学系のずれがない（Ｙ軸方向の位置以外のカメラ２０ａ〜２０ｃの条件が完全に同じであると見なせる）場合には、間隔Ｄ１〜Ｄ５そのものを間隔情報としてもよいし、長さＷを間隔情報としてもよい。
【００８２】
また、本実施形態では、地面に対して水平な直線又は地面に対して垂直な直線に平行な「ブロブ４１１の４つの接線」により囲まれる矩形と、当該直線を時計回りの方向に２２[°]、４４［°］傾けた直線に平行な「ブロブ４１１の４つの接線」により囲まれる２つの矩形と、を求めるようにした。しかしながら、ブロブ４１１の４つの接線の決め方は、このようなものに限定されない。
また、パイプ判定条件式は、前述したもの（（１）式〜（８）式）に限定されない。
【００８３】
また、ブロブ４１１を固定した状態で、ブロブ４１１の径を複数の箇所で求め、それらの径が、所定の範囲内に入るか否かを判定するようにしていれば、必ずしも、ブロブ４１１に対して外接する矩形を導出する必要はない。
また、前述したように、ブロブの中から、鋼管１０とは明らかに異なるものを排除するのが好ましいが、必ずしも鋼管１０とは明らかに異なるものを排除する必要はない。このようにした場合には、鋼管候補抽出部１０１ｆ、鋼管判定部１０１ｇ、及び領域分離２値化画像作成部１０１ｈが不要になり、ブロブ処理部１０１ｅで得られた結果から、領域分離２値化画像が得られる。
【００８４】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。前述した第１の実施形態では、計数対象の鋼管１０がパイプ状である場合を例に挙げて説明した。これに対し、本実施形態では、端面が開口していない状態であり且つ所定の色で着色されている状態の長尺物である場合を例に挙げて説明する。このようなものの一例として、端面にキャップがつけられた鋼管や、端面が地色と異なる所定の色で着色された棒鋼等がある。
【００８５】
このようにする場合には、特願２０１２−１８７９６９号明細書に記載の技術を用いて鋼管抽出部１０１を構成することは容易でない。そこで、本実施形態では、本出願人が提案した特願２０１２−１７３１１２号明細書の技術を用いて鋼管抽出部１０１を構成する場合を例に挙げて説明する。このように本実施形態と第１の実施形態とは、鋼管抽出部１０１の構成及び処理が主として異なる。したがって、本実施形態の説明において、第１の実施形態と同一の部分については、図１〜図１７に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００８６】
図１８は、鋼管抽出部１８０１の詳細な機能構成の一例を示すブロック図である。鋼管抽出部１８０１は、第１の実施形態の鋼管抽出部１０１に置き替わるものである。尚、鋼管抽出部１０１は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、ユーザインターフェース、及び通信インターフェースを用いることにより実現される。以下に、特願２０１２−１７３１１２号明細書に記載の技術に基づいた鋼管抽出部１８０１の構成及び処理の一例について説明する。尚、ここでは、計数の対象となる鋼管が、端面に赤色のキャップがつけられた鋼管である場合を例に挙げて説明する。
【００８７】
端面色情報取得部１８０１ａは、計数対象となる長尺物（鋼管１０）の端面の色を示す情報を、上位コンピュータ２００から取得する。尚、以下の説明では、「計数対象となる長尺物（鋼管２０）の端面の色を示す情報」を必要に応じて「端面色情報」と称する。端面色情報取得部１８０１ａは、上位コンピュータ２００に要求を行うことにより端面色情報を取得しても、要求を行わずに上位コンピュータ２００から端面色情報を取得してもよい。この他、バーコードリーダにより読み取ったＱＲコード（２次元バーコード）に含まれる端面色情報を取得してもよい。
前述したように、本実施形態では、キャップの色は赤色である。よって、端面色情報取得部１８０１ａは、端面色情報として赤色であることを示す情報を取得する。
【００８８】
色空間要素選択部１８０１ｂは、端面色情報取得部１８０１ａにより取得された端面色情報により特定される色に対応する「色空間の要素」を色空間要素選択テーブルから選択する。
図１９は、色空間要素選択テーブルの一例を示す図である。
図１９に示すように、色空間要素選択テーブル１９００には、色と、第１の色空間要素と、第２の色空間要素とが相互に関連付けられて登録されている。
【００８９】
色空間要素選択テーブル１９００における「色」は、端面色情報により特定される色を指す。よって、色空間要素選択テーブル１９００における「色」として、端面色情報により特定される色として想定される色が予め設定される。
また、「第１の色空間要素」、「第２の色空間要素」は、後述するようにして元画像取得部１８０１ｃにより取得される画像から選択する「色空間の要素」を示す。
「第１の色空間要素」としては、鋼管の端面（キャップ）の領域の色（端面色情報により特定される色）である場合と、鋼管（キャップ）の背景の色である場合とで（可及的に大きく）異なる値をとる要素が予め設定される。
「第２の色空間要素」としては、鋼管の端面（キャップ）の領域の色（端面色情報により特定される色）であるときの値と、それらの間の隙間の領域の色（ここでは黒色）であるときの値との差が第１の色空間要素におけるものよりも大きくなる要素が予め設定される。また、「第２の色空間要素」としては、鋼管の端面（キャップ）の色のムラによって値が大きく変化しない要素が好ましい。
【００９０】
図１９に示す色空間要素選択テーブル１９００では、端面色情報により特定される色が赤色である場合には、第１の色空間要素として、ＣＩＥ Ｌａｂ色空間のａ*が選択され、第２の色空間要素として、ＲＧＢ色空間のＲが選択される。また、端面色情報により特定される色が緑色である場合には、第１の色空間要素として、ＣＩＥ Ｌａｂ色空間のａ*が選択され、第２の色空間要素として、ＲＧＢ色空間のＧが選択される。また、端面色情報により特定される色が黄色である場合には、第１の色空間要素として、ＨＳＶ色空間のＶ（明度）が選択され、第２の色空間要素として、ＲＧＢ色空間のＲが選択される。また、端面色情報により特定される色が白色である場合には、第１の色空間要素として、ＨＳＶ色空間のＶ（明度）が選択され、第２の色空間要素として、ＲＧＢ色空間のＲが選択される。
前述したように、本実施形態では、キャップの色が赤色であるので、端面色情報により特定される色は赤色である。よって、色空間要素選択部１８０１ｂは、色空間要素選択テーブル１９００から、第１の色空間要素としてＣＩＥ Ｌａｂ色空間のａ*を、第２の色空間要素としてＲＧＢ色空間のＲを、それぞれ選択する。
【００９１】
元画像取得部１８０１ｃは、カメラ２０ａ〜２０ｃで撮像された元画像を個別に取得する。本実施形態では、元画像は、ＲＧＢ色空間で表現される画像であるものとする。
【００９２】
第１のグレースケール画像作成部１８０１ｄは、元画像取得部１８０１ｃにより取得された元画像のそれぞれの画素のデータから、色空間要素選択部１８０１ｂにより選択された第１の色空間要素の値を導出し、それぞれの画素が、当該第１の色空間要素の値に応じた画素値を有するグレースケールの画像を作成する。第１のグレースケール画像作成部１８０１ｄにより作成されるグレースケールの画像を、以下の説明では必要に応じて「第１のグレースケール画像」と称する。
【００９３】
図２０は、第１のグレースケール画像の一例を示す図である。
前述したように、第１の色空間要素は、鋼管の端面（キャップ）の領域の色（端面色情報により特定される色）である場合と、鋼管（キャップ）の背景の色である場合とで異なる値をとる要素である。よって、図２０に示すように、赤色であるキャップの領域（キャップが写し出されている領域）の画素値が、他の赤色以外の色の領域の画素値と（大きく）異なる第１のグレースケール画像２０００が得られる。
【００９４】
グレースケール２値化画像作成部１８０１ｅは、第１のグレースケール画像作成部１８０１ｄにより作成された第１のグレースケール画像の各画素の画素値を、予め設定された閾値に基づいて２値化する。具体例を説明すると、色空間要素選択部１８０１ｂにより選択された第１の色空間要素に応じて、グレースケール２値化画像作成部１８０１ｅは、第１のグレースケール画像の各画素について、画素値が所定の範囲内（又は所定の範囲外）である画素に論理「１」を割り当て、画素値が当該所定の範囲外（又は所定の範囲内）である画素に論理「０」を割り当てることにより第１のグレースケール画像を２値化することができる。本実施形態では、端面色情報により特定される色（ここでは赤色）に応じた画素値を有する画素に可及的に論理「１」が割当てられ、それ以外の色に応じた画素値を有する画素に可及的に論理「０」が割当てられるようにするための閾値が、オペレータによる操作に基づいて予め設定されている。以下の説明では、グレースケール２値化画像作成部１８０１ｅにより作成される２値化された画像を、必要に応じて「グレースケール２値化画像」と称する。
【００９５】
図２１は、グレースケール２値化画像の一例を示す図である。図２１に示すグレースケール２値化画像２１００は、図２０に示した第１のグレースケール画像２０００から得られたものである。
図２１に示すように、グレースケール２値化画像６００では、概ね、キャップの領域に論理「１」が割当てられ（図２１のグレーで塗りつぶされている領域を参照）、且つ、それ以外の領域に論理「０」が割当てられる（図２１の白色の領域を参照）。
尚、２値化処理の前にシェーディング補正を行うようにしてもよい。
【００９６】
隙間補完後２値化画像作成部１８０１ｆは、グレースケール２値化画像作成部１８０１ｅにより作成されたグレースケール２値化画像において、画素値が「１」である領域に囲まれている「画素値が「０」である領域」の画素値を「１」に変更する。
以下の説明では、隙間補完後２値化画像作成部１８０１ｆにより画素値が変更されたグレースケール２値化画像を、必要に応じて「隙間補完後２値化画像」と称する。
図２２は、隙間補完後２値化画像の一例を示す図である。図２２に示す隙間補完後２値化画像２２００は、図２１に示したグレースケール２値化画像２１００から得られたものである。
図２２に示すように、図２１に示したグレースケール２値化画像２２００において、グレーで塗りつぶされている領域（画素値が「１」の領域）に囲まれている白色の領域（画素値が「０」の領域）がグレーで塗りつぶされる（画素値が「０」から「１」に変更される）。このようにすることによって、端面色情報により特定される色（ここでは赤色）が存在する領域（すなわちキャップが存在する一纏まりの領域）を他の領域と明確に区別することができる。
【００９７】
第２のグレースケール画像作成部１８０１ｇは、元画像取得部１８０１ｃにより取得された元画像のそれぞれの画素のデータから、色空間要素選択部１８０１ｂにより選択された第２の色空間要素の値を導出し、それぞれの画素が、当該第２の色空間要素の値に応じた画素値を有するグレースケールの画像を作成する。第２のグレースケール画像作成部１８０１ｇにより作成されるグレースケールの画像を、以下の説明では必要に応じて「第２のグレースケール画像」と称する。
【００９８】
図２３は、第２のグレースケール画像の一例を示す図である。
前述したように、第２の色空間要素は、色のムラによって値が大きく変化せず、且つ、鋼管の端面（キャップ）の領域の色（端面色情報により特定される色）であるときの値と、それらの間の隙間の領域の色（ここでは黒色）であるときの値との差が第１の色空間要素におけるものよりも大きくなる要素である。よって、図２３に示すように、第２のグレースケール画像２３００では、元画像に対し、赤色であるキャップの領域の画素値の差が小さくなり（色むらが低減され）、且つ、キャップの領域の画素値とそれらの隙間の領域の画素値との差が大きくなる。
【００９９】
計数対象領域抽出画像作成部１８０１ｈは、第２のグレースケール画像作成部１８０１ｇにより作成された第２のグレースケール画像から、領域補完後２値化画像作成部１０６により作成された隙間補完後２値化画像の画素値が「１」である領域を抽出する。以下の説明では、このようにして計数対象領域抽出画像作成部１８０１ｈにより得られる画像を、必要に応じて「計数対象領域抽出画像」と称する。
図２４は、計数対象領域抽出画像２４００の一例を示す図である。図２４に示す計数対象領域抽出画像２４００は、図２２に示した隙間補完後２値化画像２２００と、図２３に示した第２のグレースケール画像２３００とから得られたものである。
【０１００】
前述したように、第２のグレースケール画像２３００では、第１のグレースケール画像２０００に比べて、赤色であるキャップの領域の画素値の差が小さくなり、且つ、キャップの領域の画素値とそれらの隙間の領域の画素値との差が大きくなる。よって、第２のグレースケール画像２３００から、計数対象領域抽出画像２４００に基づき、キャップの領域を抽出すると、キャップの領域を、当該キャップを際立たせた状態で抽出することができる。
【０１０１】
計数対象領域２値化画像作成部１８０１ｉは、計数対象領域抽出画像作成部１８０１ｈにより作成された計数対象領域抽出画像２４００の各画素の画素値を、予め設定された閾値に基づいて２値化する。具体的に説明すると、色空間要素選択部１８０１ｂにより選択された第２の色空間要素に応じて、計数対象領域２値化画像作成部１８０１ｉは、計数対象領域抽出画像の各画素について、画素値が所定の範囲内（又は所定の範囲外）である画素に論理「１」を割り当て、画素値が当該所定の範囲外（又は所定の範囲内）である画素に論理「０」を割り当てることにより計数対象領域抽出画像を２値化することができる。本実施形態では、端面色情報により特定される色（ここでは赤色）に応じた画素値を有する画素に可及的に論理「１」が割当てられ、それ以外の色に応じた画素値を有する画素に可及的に論理「０」が割当てられるようにするための閾値が、オペレータによる操作に基づいて予め設定されている。以下の説明では、計数対象領域２値化画像作成部１８０１ｉにより作成される２値化された画像を、必要に応じて「計数対象領域２値化画像」と称する。
図２５は、計数対象領域２値化画像の一例を示す図である。図２５に示す計数対象領域２値化画像２５００は、図２４に示した計数対象領域抽出画像２４００から得られたものである。前述したように、計数対象領域抽出画像２５００では、キャップの領域の画素値の差が小さくなり、且つ、キャップの領域の画素値とそれらの隙間の領域の画素値との差が大きくなる。よって、計数対象領域抽出画像２５００を２値化すると、キャップの領域と、それらの間の領域とを明確に区別することができる。
【０１０２】
領域分離部１８０１ｊは、計数対象領域２値化画像作成部１８０１ｉにより作成された計数対象領域２値化画像の画素値が「１」である画素と、当該画素に対し縦、横及び斜めの何れかで隣接する画素であって、画素値が「１」である画素とを１つの領域とすることを計数対象領域２値化画像のそれぞれの画素について行うことにより得られた領域を縮小させることにより、計数対象領域２値化画像を複数の領域（個々のキャップの領域）に分離する。
【０１０３】
図２６は、計数対象領域２値化画像２５００を複数の領域に分離する様子の一例を概念的に示す図である。
まず、領域分離部１８０１ｊは、画素値が「１」である画素と、当該画素に対し縦、横及び斜めの何れかで隣接する画素であって、画素値が「１」である画素とを１つの領域とすることを計数対象領域２値化画像のそれぞれの画素について行う。これにより、画素値が「１」である画素により構成される閉領域であって、当該外縁の画素に接する画素の少なくとも１つが、画素値が「０」である画素となる閉領域（所謂ブロブ）が導出される。図２５に示す例では、計数対象領域２値化画像２５００において、グレーで表示されている領域が導出される。
【０１０４】
次に、領域分離部１８０１ｊは、導出した閉領域の外縁の画素に対し、当該外縁の画素を接点とする接線に垂直な方向であって、当該閉領域が存在している方向に、所定の画素数分だけ離隔した位置を、当該閉領域の外縁の位置に変更することを、当該閉領域の外縁の画素について行う（図２６の一番上の図において塗りつぶされている領域の外縁に付されている矢印線を参照）。ここで、導出した閉領域の外縁の位置の変更は、変更前の閉領域の外縁の画素と変更後の閉領域の外側との間に位置する画素の画素値を「１」から「０」に変更することにより行うことができる。
【０１０５】
このような処理と共に、領域分離部１８０１ｊは、導出した閉領域の内縁の画素に対し、当該外縁の画素を接点とする接線に垂直な方向であって、当該閉領域が存在している方向に、所定の画素数分だけ離隔した位置を、当該閉領域の内縁の位置に変更することを、当該閉領域の内縁の画素について行う（図２６の一番上の図において塗りつぶされている領域の内縁に付されている矢印線を参照）。ここで、閉領域の内縁の位置の変更は、変更前の閉領域の外縁の画素と変更後の閉領域の外側との間に位置する画素の画素値を「１」から「０」に変更することにより行うことができる。また、変更前の閉領域の内縁と変更後の閉領域の内縁との間隔（画素数）と、変更前の閉領域の外縁と変更後の閉領域の外縁との間隔（画素数）は（すなわち、前記所定の画素数は）、同じ値となる。
【０１０６】
尚、例えば、ある鋼管がずれた状態で段積みされている場合には、カメラ２０により撮像される鋼管の端面側において、当該鋼管が他の鋼管と接触していないこと（又は少しの領域でしか接触していないこと）が生じ得る。そうすると、計数対象領域２値化画像作成部１８０１ｉにより作成された計数対象領域２値化画像において、内縁が存在しない閉領域が孤立して存在することがある。このような場合、当該内縁が存在しない閉領域については、例えば、当該閉領域の外縁の位置だけを前述したようにして変更することができる。
【０１０７】
以上のような処理を、図２６に示すように段階的に行うことにより、１つの閉領域となっているキャップの領域を（図２６の一番上に示す図を参照）、個々のキャップの領域に分離することができる（図２６の一番下に示す図を参照）。
【０１０８】
ブロブ処理部１８０１ｋは、領域分離部１８０１ｊにより個々のキャップの領域が分離された計数対象領域２値化画像から、画素値が「１」である画素により構成される閉領域であって、当該外縁の画素に接する画素の少なくとも１つが、画素値が「０」である画素となる閉領域（所謂ブロブ）を導出する。具体的に説明すると、ブロブ処理部１８０１ｋは、領域分離部１８０１ｊにより個々のキャップの領域が分離された計数対象領域２値化画像において、画素値が「１」である画素と、当該画素に対し縦、横及び斜めの何れかで隣接する画素であって、画素値が「１」である画素とを１つの領域とすることを、領域分離２値化画像のそれぞれの画素について行うことにより、ブロブを導出する。
次に、ブロブ処理部１８０１ｋは、導出した各ブロブに対してラベリング処理（番号の割り振り）を行う。
【０１０９】
領域分離２値化画像作成部１８０１ｌは、領域分離部１８０１ｊにより個々のキャップの領域が分離された計数対象領域２値化画像から、ブロブ処理部１８０１ｋで得られたブロブを抽出して領域分離２値化画像を作成する。
図２７は、領域分離２値化画像の一例を示す図である。この領域分離２値化画像２７００により、個々のキャップの領域（１６個の領域）が他のキャップの領域と分離され明確に区別される（すなわち、個々のキャップの領域（１６個の領域）が単独で存在するようになる）。領域分離２値化画像２７００においてグレーで示しているブロブが鋼管対応ブロブになる。
以上のようにして鋼管対応ブロブが得られた後の処理は、第１の実施形態と同じであるので、その詳細な説明を省略する。
そして、以上のようにして鋼管抽出部１８０１を構成することにより、計数の対象となる鋼管の端面が開口していない場合であっても、第１の実施形態と同様の効果を得ることができる。
【０１１０】
（変形例）
本実施形態では、本数を計測する対象となる長尺物の端面の形状が円形である場合を例に挙げて説明した。しかしながら、本数を計測する対象となる長尺物の端面の形状は、撮像を行う端面側において、相互に隣接する長尺物の間の少なくとも一部に隙間が形成されるように段積みされる長尺物であればよい。本数を計測する対象となる長尺物の端面の形状は、例えば、楕円形、多角形、段付鋼管のようなレモン型の形状等であってもよい。
また、第１の色空間要素、第２の色空間要素は、前述したものに限定されない。長尺物の端面の色に応じて、例えば、ＣＩＥ 1976 Ｌ*ｕ*ｖ*色空間の要素や、ＣＩＥ ＸＹＺ色空間の要素を第１の色空間要素、第２の色空間要素として採用することができる。
【０１１１】
また、本実施形態のように、グレースケール２値化画像において、画素値が「１」である領域に囲まれている「画素値が「０」である領域」の画素値を「１」に変更して隙間補完後２値化画像を作成すれば、第２のグレースケール画像から抽出する領域を、キャップの領域に、より確実に一致させることができるので好ましい。しかしながら、必ずしも隙間補完後２値化画像を作成する必要はない。
【０１１２】
また、本実施形態では、第１のグレースケール画像と第２のグレースケール画像とを作成し、第１のグレースケール画像からグレースケール２値化画像を、グレースケール２値化画像から隙間補完後２値化画像を、それぞれ作成し、隙間補完後２値化画像に基づいて定められる領域を第２のグレースケール画像から抽出して計数対象領域抽出画像を作成した。しかしながら、第１の色空間要素と第２の色空間要素とが同じ要素になる場合には、グレースケール２値化画像した段階で、計数対象領域２値化画像と同等の２値化画像を得ることができる。よって、このような場合には、第２のグレースケール画像、隙間補完後２値化画像、及び計数対象領域抽出画像は不要となる。
また、本実施形態においても第１の実施形態で説明した種々の変形例を採用することができる。
【０１１３】
尚、以上説明した本発明の実施形態は、コンピュータがプログラムを実行することによって実現することができる。また、前記プログラムを記録したコンピュータ読み取り可能な記録媒体及び前記プログラム等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
また、以上説明した本発明の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１１４】
１０    鋼管
２０    カメラ
３０    照明装置
４０    バンド
１００    長尺物本数測定装置
１０１、１８０１    鋼管抽出部
１０２    間隔導出部
１０３    合成位置決定部
１０４    画像合成部
１０５    本数決定部
１０６    出力画像作成部
１０７    出力画像出力
４１０    ２値化元画像
４１１    ブロブ
８１０    領域分離２値化画像
１４１０    補正後領域分離２値化画像
１４１１、１４１２    ブロブ群
１５１０    合成画像
１５２０    出力画像
【図１】
2014219842.tif 000003
【図２】
2014219842.tif 000004
【図３】
2014219842.tif 000005
【図４】
2014219842.tif 000006
【図５】
2014219842.tif 000007
【図６】
2014219842.tif 000008
【図７】
2014219842.tif 000009
【図８】
2014219842.tif 000010
【図９】
2014219842.tif 000011
【図１０】
2014219842.tif 000012
【図１１】
2014219842.tif 000013
【図１２】
2014219842.tif 000014
【図１３】
2014219842.tif 000015
【図１４】
2014219842.tif 000016
【図１５】
2014219842.tif 000017
【図１６−１】
2014219842.tif 000018
【図１６−２】
2014219842.tif 000019
【図１６−３】
2014219842.tif 000020
【図１７】
2014219842.tif 000021
【図１８】
2014219842.tif 000022
【図１９】
2014219842.tif 000023
【図２０】
2014219842.tif 000024
【図２１】
2014219842.tif 000025
【図２２】
2014219842.tif 000026
【図２３】
2014219842.tif 000027
【図２４】
2014219842.tif 000028
【図２５】
2014219842.tif 000029
【図２６】
2014219842.tif 000030
【図２７】
2014219842.tif 000031