(57)【要約】【課題】  パターン光が投光された状態の対象物体を撮像したパターン光投光画像からパターン光を高精度で検出することができる３次元形状検出装置を提供する。【解決手段】  対象物体のパターン光投光画像に基づき、対象物体に投光されたパターン光の位置を抽出し、抽出されたパターン光の位置に基づき、対象物体の３次元形状を算出する。撮像されたパターン光投光画像の色値データに基づき、パターン光を構成する主な色相に対応する色相パラメータを画素単位で算出し、色値データに基づき、輝度パラメータを画素単位で算出し、算出される輝度パラメータと色相パラメータとを用いて、パターン光投光画像内からパターン光を含む画素を検出する。検出されるパターン光を含む画素に基づいて、パターン光の位置を抽出する。【選択図】  図６
2005128006.tif 000002
【特許請求の範囲】
【請求項１】
パターン光を投光する投光手段と、
前記パターン光が投光される状態における対象物体のパターン光投光画像を撮像する撮像手段と、
前記撮像手段によって撮像されたパターン光投光画像に基づき、対象物体に投光されたパターン光の位置を抽出するパターン光位置抽出手段と、
前記パターン光位置抽出手段で抽出されたパターン光の位置に基づき、対象物体の３次元形状を算出する３次元形状算出手段と、
前記撮像手段で撮像されたパターン光投光画像の色値データを記憶する記憶手段と、
前記記憶手段に記憶された色値データに基づき、前記パターン光を構成する主な色相に対応する色相パラメータを画素単位で算出する色相パラメータ算出手段と、
前記記憶手段に記憶された色値データに基づき、輝度パラメータを画素単位で算出する輝度パラメータ算出手段と、
前記輝度パラメータ算出手段により算出される前記輝度パラメータと前記色相パラメータ算出手段により算出される前記色相パラメータとを用いて、前記パターン光投光画像内からパターン光を含む画素を検出するパターン光検出手段と、を備え、
前記パターン光位置抽出手段は、前記パターン光検出手段で検出されるパターン光を含む画素に基づいて、前記パターン光の位置を抽出することを特徴とする３次元形状検出装置。
【請求項２】
前記色相パラメータ算出手段は、前記パターン光を構成する主な色相に対応する色値から他の色値の平均値を減算して求められるパラメータを前記色相パラメータとして算出することを特徴とする請求項１に記載の３次元形状検出装置。
【請求項３】
前記輝度パラメータ算出手段で算出される輝度パラメータと、前記色相パラメータ算出手段で算出される色相パラメータとに基づき、前記パターン光投光画像内において前記パターン光を含む画素を他の画素より強調させるための強調パラメータを画素単位で算出する強調パラメータ算出手段を更に備え、
前記パターン光検出手段は、前記強調パラメータ算出手段で算出される強調パラメータに基づいて前記パターン光投光画像内から前記パターン光を含む画素を検出すること、を特徴とする請求項１または請求項２に記載の３次元形状検出装置。
【請求項４】
前記強調パラメータ算出手段は、前記色相パラメータと前記輝度パラメータとを乗じて求められるパラメータを前記強調パラメータとして算出することを特徴とする請求項３に記載の３次元形状検出装置。
【請求項５】
前記強調パラメータには所定の閾値が設定されており、
前記パターン光検出手段は、前記パターン光投光画像内から前記強調パラメータが前記閾値を越える画素をパターン光を含む画素であると検出することを特徴とする請求項３に記載の３次元形状検出装置。
【請求項６】
前記パターン光検出手段は、前記パターン光投光画像内において前記パターン光に沿った所定領域毎に前記パターン光を含む画素を検出するものであり、且つ、その所定領域内において前記強調パラメータが最大である画素をパターン光を含む画素であると検出することを特徴とする請求項１から請求項５のいずれかに記載の３次元形状検出装置。
【請求項７】
前記撮像手段は、前記パターン光投光画像に加え、前記パターン光投光画像に対応した、前記パターン光が投光されていない状態における対象物体のパターン光非投光画像をも撮像するよう構成され、
前記パターン光検出手段によって検出されるパターン光を含む画素に対応する画素が、前記パターン光非投光画像内に存在するか否かを検索する検索手段をさらに備え、
前記パターン光位置抽出手段は、前記パターン光検出手段によって検出される画素に対応する画素が、前記検索手段によって前記パターン光非投光画像内から検索されない場合に、前記パターン光検出手段によって検出される画素に基づいて、前記パターン光の位置を抽出することを特徴とする請求項１から請求項６のいずれかに記載の３次元形状検出装置。
【請求項８】
前記パターン光投光画像に対する前記パターン光非投光画像の移動量を算出する移動量算出手段を備え、
前記検索手段は、前記移動量算出手段によって算出される前記パターン光投光画像に対する前記パターン光非投光画像の移動量を踏まえて、前記パターン光非投光画像内を検索することを特徴とする請求項７に記載の３次元形状検出装置。
【請求項９】
パターン光を投光する投光手段と、
前記パターン光が投光される状態における対象物体のパターン光投光画像を撮像することに加え、前記パターン光投光画像に対応した、前記パターン光が投光されていない状態における対象物体のパターン光非投光画像をも撮像するよう構成された撮像手段と、
前記撮像手段によって撮像されたパターン光投光画像に基づき、対象物体に投光されたパターン光の位置を抽出するパターン光位置抽出手段と、
前記パターン光位置抽出手段で抽出されたパターン光の位置に基づき、対象物体の３次元形状を算出する３次元形状算出手段と、
前記パターン光投光画像内からパターン光を含む画素を検出するパターン光検出手段と、
前記パターン光検出手段によって検出されるパターン光を含む画素に対応する画素が、前記パターン光非投光画像内に存在するか否かを検索する検索手段と、を備え、
前記パターン光位置抽出手段は、
前記パターン光検出手段によって検出される画素に対応する画素が、前記検索手段によって前記パターン光非投光画像内から検索されない場合に、前記パターン光検出手段によって検出される画素に基づいて前記パターン光の位置を抽出すること、を特徴とする３次元形状検出装置。
【請求項１０】
請求項１から請求項９のいずれかに記載の３次元形状検出装置と、
前記３次元形状検出装置の３次元形状算出手段により算出される対象物体の３次元形状に基づいて、前記３次元形状検出装置の撮像手段によって撮像されるパターン光が投光されていない状態における対象物体のパターン光非投光画像を対象物体の所定面の略鉛直方向から観察される平面画像に補正する平面画像補正手段と、
を備えることを特徴とする撮像装置。
【請求項１１】
パターン光が投光されている状態における対象物体のパターン光投光画像を撮像する撮像手段によって撮像されたパターン光投光画像に基づき、対象物体に投光されたパターン光の位置を抽出するパターン光位置抽出ステップと、
前記パターン光位置抽出ステップで抽出されるパターン光の位置に基づき、対象物体の３次元形状を算出する３次元形状算出ステップと、
前記パターン光投光画像の色値データを記憶する記憶ステップと、
前記記憶ステップにおいて記憶された色値データに基づき、前記パターン光を構成する主な色相に対応する色相パラメータを画素単位で算出する色相パラメータ算出ステップと、
前記記憶ステップにおいて記憶された色値データに基づき輝度パラメータを画素単位で算出する輝度パラメータ算出ステップと、
前記輝度パラメータ算出ステップで算出される輝度パラメータと、前記色相パラメータ算出ステップで算出される色相パラメータとを用いて、前記パターン光投光画像内からパターン光を含む画素を検出するパターン光検出ステップとを備え、
前記パターン光位置抽出ステップでは、前記パターン光検出ステップで検出されるパターン光を含む画素に基づいて前記パターン光の位置が抽出されること、を特徴とする３次元形状検出プログラム。
【請求項１２】
前記輝度パラメータ算出ステップで算出される輝度パラメータと、前記色相パラメータ算出ステップで算出される色相パラメータとに基づき、前記パターン光投光画像内においてパターン光を含む画素を他の画素より強調させるための強調パラメータを画素単位で算出する強調パラメータ算出ステップを更に備え、
前記パターン光検出ステップにおいて、前記強調パラメータ算出ステップで算出される前記強調パラメータに基づいて前記パターン光投光画像内からパターン光を含む画素が検出されることを特徴とする請求項１１に記載の３次元形状検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パターン光を用いて対象物体の３次元形状を検出する３次元形状検出装置、撮像装置、及び３次元形状検出プログラムに関する。
【背景技術】
【０００２】
従来より、対象物体としてホワイトボードや書籍等を撮像し、その撮像画像から対象物体の３次元形状を検出することで、ホワイトボードや書籍等を、その正面に対して斜め方向となる位置から撮像したとしても、あたかも正面から撮像したように、その撮像画像を補正する補正手段を備えた撮像装置が知られている。例えば、下記特許文献１の図１等には、そのような補正手段を備えた可搬型のデジタルカメラが開示されている。
【０００３】
特許文献２の第１０段落、図３等には、上述した補正手段に必要なパラメータとしての対象物体の３次元形状を検出する技術が開示されている。より詳細には、特許文献２には、据え置き型の３次元形状測定装置が開示されており、この装置は、スリット光が投光された状態の対象物体を撮像したスリット光投光時画像と、スリット光が投光されていない状態の対象物体を撮像したスリット光非投光時画像との減算を行うことでスリット光を抽出し、その抽出したスリット光に基づいて対象物体の３次元形状を検出する。
【特許文献１】特開平９−２８９６１１号公報（図１等）
【特許文献２】特許３２８２３３１号公報（第１０段落、図３等）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述した３次元形状測定装置は据え置き型で、撮像時の自由度が制限され不便であるため、３次元形状測定装置は可搬型であることが望ましい。しかしながら、３次元形状測定装置を可搬型とした場合には、「手ぶれ」によってスリット光投光時画像の撮像位置と、スリット光非投光時画像の撮像位置とがずれる場合がある。このような場合には、当然にスリット光投光時画像とスリット光非投光時画像との間にもズレが生じ、スリット光投光時画像とスリット光非投光時画像との減算を行ったとしても、正確にスリット光を抽出できないという問題点があった。
【０００５】
本発明は、上述した問題を解決するためになされたものである。すなわち、本発明は、パターン光が投光された状態の対象物体を撮像したパターン光投光画像からパターン光を高精度で検出することができる３次元形状検出装置、撮像装置、及び３次元形状検出プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成する為に、本発明の一つの側面によって提供されるのは、３次元形状検出装置であって、パターン光を投光する投光手段と、前記パターン光が投光される状態における対象物体のパターン光投光画像を撮像する撮像手段と、前記撮像手段によって撮像されたパターン光投光画像に基づき、対象物体に投光されたパターン光の位置を抽出するパターン光位置抽出手段と、前記パターン光位置抽出手段で抽出されたパターン光の位置に基づき、対象物体の３次元形状を算出する３次元形状算出手段とを備える。３次元形状検出装置は、更に、前記撮像手段で撮像されたパターン光投光画像の色値データを記憶する記憶手段と、前記記憶手段に記憶された色値データに基づき、前記パターン光を構成する主な色相に対応する色相パラメータを画素単位で算出する色相パラメータ算出手段と、前記記憶手段に記憶された色値データに基づき、輝度パラメータを画素単位で算出する輝度パラメータ算出手段と、前記輝度パラメータ算出手段により算出される前記輝度パラメータと前記色相パラメータ算出手段により算出される前記色相パラメータとを用いて、前記パターン光投光画像内からパターン光を含む画素を検出するパターン光検出手段とを備える。パターン光位置抽出手段は、パターン光検出手段で検出されるパターン光を含む画素に基づいて、パターン光の位置を抽出する。
【０００７】
このような構成によれば、一般照明環境下で撮像された画像においてもパターン光を含む画素と他の画素との差異が明確となり、パターン光を含む画素を高精度に検出できる。それによって、パターン光の位置を高精度に抽出することが可能になる。
【０００８】
また、パターン光を含む画素は、パターン光を構成する主な色相に対応する色相パラメータと輝度パラメータとに基づき求められるので、パターン光を含む画素が、たとえ彩度が低い照明反射部分や、輝度が低くパターン光と近い色で印刷された印刷部に含まれていたとしても、パターン光を含む画素と他の画素との差異が明確となり、高精度にパターン光を含む画素を検出できる。その結果、パターン光の位置を高精度に抽出することが可能になる。
【０００９】
色相パラメータ算出手段は、パターン光を構成する主な色相に対応する色値から他の色値の平均値を減算して求められるパラメータを色相パラメータとして算出する構成であっても良い。
【００１０】
このような構成によれば、色相パラメータは、パターン光を構成する主な色相に対応する色値から他の色値の平均値を減算して求められるので、パターン光を構成する主な色相に対応する色値が大きい値を有する画素を他の画素に比べて強調させることができる。即ち、パターン光を含む画素は、パターン光を構成する主な色相に対応する色値が大きい値を有するので、パターン光を含む画素を他の画素よりも強調させることができる。逆に言えば、複数の色値が近い値を持つ画素を検出対象から除外することができる。
【００１１】
３次元形状検出装置は、輝度パラメータ算出手段で算出される輝度パラメータと、色相パラメータ算出手段で算出される色相パラメータとに基づき、パターン光投光画像内においてパターン光を含む画素を他の画素より強調させるための強調パラメータを画素単位で算出する強調パラメータ算出手段を更に備えていても良い。この場合、パターン光検出手段は、強調パラメータ算出手段で算出される強調パラメータに基づいて、パターン光投光画像内からパターン光を含む画素を検出する。
【００１２】
強調パラメータ算出手段は、色相パラメータと輝度パラメータとを乗じて求められるパラメータを強調パラメータとして算出する構成であっても良い。
【００１３】
このような構成によれば、強調パラメータは、色相パラメータと輝度パラメータとを乗じて算出されるので、色相パラメータと輝度パラメータとの双方の値が高い場合には、強調パラメータの値を際だたせることができ、パターン光を含む画素と他の画素との差異が一層明確となり、一層高精度にパターン光を含む画素を検出することができるという効果が得られる。
【００１４】
強調パラメータには所定の閾値が設定されており、パターン光検出手段は、パターン光投光画像内から強調パラメータが閾値を越える画素をパターン光を含む画素であると検出するように構成されていても良い。
【００１５】
このような構成によれば、パターン光検出手段は、パターン光投光画像内から強調パラメータが閾値を越える画素をパターン光を含む画素であると検出するので、推定される強調パラメータの値より低い値で閾値に設定することで、明らかにパターン光を含む画素ではない画素を検出対象から除外することができるという効果が得られる。
【００１６】
パターン光検出手段は、パターン光投光画像内においてパターン光に沿った所定領域毎に、パターン光を含む画素を検出するものであり、且つ、その所定領域内において強調パラメータが最大である画素をパターン光を含む画素であると検出するよう構成されていても良い。
【００１７】
このような構成によれば、パターン光検出手段は所定領域内において強調パラメータが最大である画素をパターン光を含む画素であると検出するので、所定領域内を構成する画素の内からパターン光を含む画素である可能性が最も高い画素を検出することができるという効果が得られる。
【００１８】
撮像手段は、パターン光投光画像に加え、パターン光投光画像に対応した、パターン光が投光されていない状態における対象物体のパターン光非投光画像をも撮像するよう構成されていても良い。この場合、３次元形状検出装置は、パターン光検出手段によって検出されるパターン光を含む画素に対応する画素が、パターン光非投光画像内に存在するか否かを検索する検索手段をさらに備えていても良い。さらに、パターン光位置抽出手段は、パターン光検出手段によって検出される画素に対応する画素が、検索手段によってパターン光非投光画像内から検索されない場合に、パターン光検出手段によって検出される画素に基づいて、パターン光の位置を抽出するよう構成されていても良い。
【００１９】
このような構成によれば、パターン光位置抽出手段はパターン光検出手段によって検出される画素に対応する画素が、パターン光非投光画像内から検索されない場合に、その検出された画素に基づいてパターン光の軌跡を抽出する。したがって、パターン光検出手段によって検出される画素の内から、パターン光非投光画像には存在しないパターン光投光画像に固有の画素、即ち、パターン光を含む画素だけを抽出対象とすることができる。その結果、パターン光の位置の抽出精度を一層向上させることができるという効果が得られる。
【００２０】
３次元形状検出装置は、パターン光投光画像に対するパターン光非投光画像の移動量を算出する移動量算出手段をさらに備えていても良い。この場合、検索手段は、移動量算出手段によって算出される、パターン光投光画像に対するパターン光非投光画像の移動量を踏まえて、パターン光非投光画像内を検索することができる。
【００２１】
このような構成によれば、検索手段は、移動量算出手段によって算出されるパターン光投光画像に対するパターン光非投光画像の移動量を踏まえて、パターン光非投光画像内を検索することができる。したがって上記構成によれば、手ぶれによってパターン光投光画像とパターン光非投光画像とがずれた場合を考慮して検索範囲を広範囲に設定することも可能であるが、このような場合に比べて、検索範囲を絞り込め、高速に、且つ、高い精度で検索を実行することができるという効果が得られる。
【００２２】
上記目的を達成する為に、本発明の別の側面によって提供されるのは、３次元形状検出装置であって、パターン光を投光する投光手段と、前記パターン光が投光される状態における対象物体のパターン光投光画像を撮像することに加え、前記パターン光投光画像に対応した、前記パターン光が投光されていない状態における対象物体のパターン光非投光画像をも撮像するよう構成された撮像手段と、前記撮像手段によって撮像されたパターン光投光画像に基づき、対象物体に投光されたパターン光の位置を抽出するパターン光位置抽出手段と、前記パターン光位置抽出手段で抽出されたパターン光の位置に基づき、対象物体の３次元形状を算出する３次元形状算出手段とを備える。３次元形状検出装置は、更に、パターン光投光画像内からパターン光を含む画素を検出するパターン光検出手段と、パターン光検出手段によって検出されるパターン光を含む画素に対応する画素が、パターン光非投光画像内に存在するか否かを検索する検索手段とを備える。パターン光位置抽出手段は、パターン光検出手段によって検出される画素に対応する画素が、前記検索手段によって前記パターン光非投光画像内から検索されない場合に、前記パターン光検出手段によって検出される画素に基づいて前記パターン光の位置を抽出する。
【００２３】
この構成によれば、パターン光検出手段によって、パターン光投光画像に基づいてパターン光を含む画素として検出される場合であっても、それらの画素に対応する画素がパターン光非投光画像内において検索される場合には、パターン光の位置の抽出は行われない（すなわち、パターン光としての抽出の対象とされない）。一方、パターン光を含む画素がパターン光投光画像からは検出され、それに対応する画素がパターン光非投光画像からは検索されないような場合に、パターン光の位置の抽出が行われる。したがって、高精度にパターン光の位置を抽出することができる。
【００２４】
本発明の別の側面によれば、以上述べた３次元形状検出装置と、３次元形状検出装置の３次元形状算出手段により算出される対象物体の３次元形状に基づいて、３次元形状検出装置の撮像手段によって撮像されるパターン光が投光されていない状態における対象物体のパターン光非投光画像を対象物体の所定面の略鉛直方向から観察される平面画像に補正する平面画像補正手段と、を備える撮像装置が提供される。
【００２５】
このような撮像装置によれば、３次元形状検出装置によって高精度にパターン光の位置を抽出して正確な３次元形状を算出することができ、パターン光非投光画像を正確な平面画像に補正することができるという効果が得られる。
【００２６】
上記目的を達成する為に、本発明の一つの側面によって提供されるのは、３次元形状検プログラムであって、パターン光が投光されている状態における対象物体のパターン光投光画像を撮像する撮像手段によって撮像されたパターン光投光画像に基づき、対象物体に投光されたパターン光の位置を抽出するパターン光位置抽出ステップと、前記パターン光位置抽出ステップで抽出されるパターン光の位置に基づき、対象物体の３次元形状を算出する３次元形状算出ステップとを備える。更に、この３次元形状検出プログラムは、前記パターン光投光画像の色値データを記憶する記憶ステップと、前記記憶ステップにおいて記憶された色値データに基づき、前記パターン光を構成する主な色相に対応する色相パラメータを画素単位で算出する色相パラメータ算出ステップと、前記記憶ステップにおいて記憶された色値データに基づき輝度パラメータを画素単位で算出する輝度パラメータ算出ステップと、前記輝度パラメータ算出ステップで算出される輝度パラメータと、前記色相パラメータ算出ステップで算出される色相パラメータとを用いて、前記パターン光投光画像内からパターン光を含む画素を検出するパターン光検出ステップとを備える。パターン光位置抽出ステップでは、前記パターン光検出ステップで検出されるパターン光を含む画素に基づいて前記パターン光の位置が抽出される。
【００２７】
このような構成によれば、一般照明環境下で撮像された画像においてもパターン光を含む画素と他の画素との差異が明確となり、パターン光を含む画素を高精度に検出でき、それによって、パターン光の軌跡を高精度に抽出することが可能になる。
【００２８】
また、パターン光を含む画素は、パターン光を構成する主な色相に対応する色相パラメータと輝度パラメータとに基づき求められるので、パターン光を含む画素が、たとえ色相パラメータが低い照明反射部分や輝度パラメータが低いパターン光と近い色で印刷された印刷部に含まれていたとしても、パターン光を含む画素と他の画素との差異が明確となり、高精度にパターン光を含む画素を検出できる。その結果、パターン光の位置を高精度に抽出することが可能になる。
【００２９】
３次元形状検出プログラムは、輝度パラメータ算出ステップで算出される輝度パラメータと、色相パラメータ算出ステップで算出される色相パラメータとに基づき、パターン光投光画像内においてパターン光を含む画素を他の画素より強調させるための強調パラメータを画素単位で算出する強調パラメータ算出ステップを更に備えていても良い。この場合、パターン光検出ステップにおいて、強調パラメータ算出ステップで算出される強調パラメータに基づいてパターン光投光画像内からパターン光を含む画素が検出される構成であっても良い。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図１（ａ）は本発明の実施形態による撮像装置１の外観斜視図であり、図１（ｂ）は撮像装置１の概略断面図である。尚、本発明の実施形態としての３次元形状検出装置は撮像装置１に含まれるものである。
【００３１】
撮像装置１は、方形箱形の本体ケース１０と、本体ケース１０の正面に設けられた結像レンズ３１と、結像レンズ３１の後方（撮像装置１の内部側）に設けられたＣＣＤ画像センサ３２と、結像レンズ３１の下方に設けられたスリット光投光ユニット２０とを有する。さらに、撮像装置１は、本体ケース１０に内蔵されたプロセッサ４０と、本体ケース１０の上部に設けられたレリーズボタン５２及びモード切替スイッチ５９と、本体ケース１０に内蔵されるメモリカード５５とを有する。これらの構成品は図４に示すように、それぞれ信号線により繋がっている。
【００３２】
さらに、撮像装置１には、撮像装置１による撮像範囲を使用者が決定する際に利用するものとして、本体ケース１０の背面に設けられたＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）５１と、本体ケース１０の背面から前面を通して配設されるファインダ５３とが装備されている。
【００３３】
結像レンズ３１は、複数枚のレンズで構成されている。撮像装置１はオートフォーカス機能を有し、自動で焦点距離及び絞りを調整することにより、外部からの光がＣＣＤ画像センサ３２上に結像されるよう撮像レンズ３１を駆動する。
【００３４】
ＣＣＤ画像センサ３２は、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）素子などの光電変換素子がマトリクス状に配列されて構成されている。ＣＣＤ画像センサ３２は、表面に結像される画像の光の色及び強さに応じた信号を生成し、これをデジタルデータに変換してプロセッサ４０へ出力する。尚、ＣＣＤ素子一つ分のデータが画像を形成する画素の画素データであり、画像データはＣＣＤ素子の数の画素データで構成される。
【００３５】
スリット光投光ユニット２０については、図２及び図３を参照して説明する。図２は、スリット光投光ユニット２０の構成を示す図である。図３は、スリット光の角度幅を説明するための図である。スリット光投光ユニット２０は、レーザーダイオード２１と、コリメートレンズ２２と、アパーチャ２３と、透明平板２４と、シリンドリカルレンズ２５と、反射ミラー２６と、ロッドレンズ２７とを有する。
【００３６】
レーザーダイオード２１は、赤色レーザー光線を放射する。プロセッサ４０からの指令に応じて、レーザーダイオード２１におけるレーザー光線の放射及び停止が切り換えられる。レーザーダイオード２１の出力は、最大出力定格（例えば５ｍＷ）に対して、レーザービームの広がり角の個体ばらつきを考慮して、アパーチャ２３を通った箇所で一定の出力（例えば１ｍＷ）を得られるように定格出力が調整されている。
【００３７】
コリメートレンズ２２は、レーザーダイオード２１からのレーザー光線を、スリット光投光ユニット２０からの基準距離ＶＰ（例えば３３０ｍｍ）に焦点を結ぶように集光する。
【００３８】
アパーチャ２３は、矩形に開口された開口部を有する板で構成され、コリメートレンズ２２からのレーザー光線を開口部で透過して矩形に整形する。
【００３９】
透明平板２４は、無垢のガラス材料などの透明な平板で構成され、裏面にはＡＲコート（無反射コーティング）が施されている。透明平板２４は、アパーチャ２３からのレーザー光線の光軸に直交する面に対して、本体ケース１０の正面側に所定角度β（例えば３３度）傾斜して配設されている。透明平板２４は、アパーチャ２３から入射するレーザー光線のパβ、約９５％（約９５０μＷ）を透過する。尚、透明平板２４によりレーザー光線が反射される方向（撮像装置１の前方へ水平面に対して３３度上向きの方向）を第２の方向と呼ぶ。
【００４０】
透明平板２４の裏面にＡＲコートを施すことにより、透明平板２４内に入射したレーザー光線の透明平板２４から出射する際の反射が少なくなり、透明平板２４内でのレーザー光線の損失が少なくなるようになっている。また、透明平板２４で反射するレーザー光線の割合を、透明平板２４の材質の屈折率より決まる表面反射率５％として設定することにより、通常のハーフミラーで実現する場合に必要な、反射面に金属蒸着膜を形成するプロセスを省略することができる。
【００４１】
反射ミラー２６は、鏡など、レーザー光線を全反射する部材で構成される。反射ミラー２６は、透明平板２４を透過したレーザー光線の下流に、本体ケース１０の正面側に４５度傾斜して配設され、レーザー光線を全反射して光路の向きを９０度変える。反射ミラー２６によりレーザー光線が反射される方向（撮像装置１の前方へ水平面に対して０度の向き）を第１の方向と呼ぶ。
【００４２】
ロッドレンズ２７は、正の焦点距離が短い円筒形状のレンズで構成される。ロッドレンズ２７は、反射ミラー２６で反射されるレーザー光線の下流に、円筒形状の軸方向が垂直方向になるように配設されている。ロッドレンズ２７は、焦点距離が短い。したがって、図３（ａ）に示すように、ロッドレンズ２７を通過したレーザ光線は、ロッドレンズ２７近傍の焦点位置から直ちに広がり始め、所定の広がり角度ε（例えば４８度）のスリット光として第１の方向へ出射される。尚、ロッドレンズ２７から出射されるスリット光を第１スリット光７１と呼ぶ。
【００４３】
シリンドリカルレンズ２５は、負の焦点距離となるように一方向が凹形状となったレンズである。シリンドリカルレンズ２５は、透明平板２４で反射されたレーザー光線の下流に、第２の方向に対してレンズ面が直交するように配設さている。図３（ｂ）に示すように、シリンドリカルレンズ２５は、透明平板２４から入射されるレーザー光線を、広がり角度κで広がるスリット光として出射する。尚、シリンドリカルレンズ２５から出射されるスリット光を第２スリット光７２と呼ぶ。シルンドリカルレンズ２５による広がり角度κは、第１スリット光７１の広がり角度εと第２スリット光７２の広がり角度κの比が、透明平板２４によりレーザー光線が分割される際のパワーの比と同等となるようになっている。つまり、第２スリット光７２の広がり角度κは第１スリット光の広がり角度εの５％（２．４度）となっている。
【００４４】
以上述べた構成により、スリット光投光ユニット２０は、プロセッサ４０からの指令に応じて、レーザーダイオード２１からレーザー光線を放射して、第１の方向へ第１スリット光７１を、及び、第２の方向へ第２スリット光７２を、本体ケース１０の結像レンズ３１の下方に設けられた窓２９から出射する。なお、レーザーダイオード２１からは赤色レーザー光線が放射されるため、その赤色レーザー光線から生成される第１スリット光７１と第２スリット光７２とは、主に赤値Ｒから構成されている。
【００４５】
上述したように構成されるスリット光投光ユニット２０によれば、レーザダイオード２１から出力されるパワーのうち、透明平板２４で分割される第１スリット光７１のパワーは９５％に対し、第２スリット光７２のパワーは約５％と少ないが、角度幅あたりのパワーで見ると、広がり角が４８度の第１スリット光７１の単位角度あたりのパワーが約２０μＷ／度で、広がり角が２．４度の第２スリット光７２の単位角度あたりのパワーも約２１μＷ／度であり、ほぼ変わらない。そして、原稿Ｐが基準距離ＶＰである３３０ｍｍの位置にある白色の用紙の場合、第１スリット光７１及び第２スリット光７２による照度は約１２６０ルクスとなり、一般的な室内の明るさである５００〜１０００ルクスの場所でも、スリット光の軌跡と原稿Ｐとの輝度差が十分ある。したがって、後述する差分抽出プログラム４２２にてスリット光の軌跡画像を確実に抽出することができる。
【００４６】
再び、図１に戻り説明を続ける。レリーズボタン５２は、押しボタン式のスイッチで構成され、プロセッサ４０に接続されている。プロセッサ４０にて使用者によるレリーズボタン５２の押し下げ操作が検知される。
【００４７】
モード切替スイッチ５９は、２つの位置に切換え可能なスライドスイッチなどで構成される。モード切替スイッチ５９における一方のスイッチ位置は「ノーマルモード」として、他方のスイッチ位置は「補正撮像モード」として検知されるようにプロセッサ４０にて割り当てられている。「ノーマルモード」は、撮像した原稿Ｐのそのものを画像データとするモードであり、「補正撮像モード」は、原稿Ｐを斜め方向から撮像した場合に、その画像データを原稿Ｐを正面から撮像したような補正された画像データとするモードである。
【００４８】
メモリカード５５は、不揮発性で書き換え可能なメモリで構成され、本体ケース１０に着脱可能である。
【００４９】
ＬＣＤ５１は、画像を表示する液晶ディスプレイなどで構成され、プロセッサ４０からの画像信号を受けて画像を表示する。プロセッサ４０からＬＣＤ５１に対しては、状況に応じてＣＣＤ画像センサ３２で受光したリアルタイムの画像や、メモリカード５５に記憶された画像や、装置の設定内容の文字等を表示するための画像信号が送られて来る。
【００５０】
ファインダ５３は、光学レンズで構成される。ファインダ５３は、使用者が撮像装置１の後ろ側からファインダ５３をのぞき込んだ時に、結像レンズ３１がＣＣＤ画像センサ３２上に結像する範囲とほぼ一致する範囲が見えるように構成されている。
【００５１】
図４は、撮像装置１の電気的構成を示したブロック図である。撮像装置１に搭載されたプロセッサ４０は、ＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３を備えている。
【００５２】
ＣＰＵ４１は、ＲＯＭ４２に記憶されたプログラムによる処理に応じて、ＲＡＭ４３を利用して、レリーズボタン５２の押し下げ操作の検知、ＣＣＤ画像センサ３２から画像データの取り込み、画像データのメモリカード５５への書き込み、モード切替スイッチ５９の状態検出、スリット光投光ユニット２０によるスリット光の出射切り換え等の各種処理を行う。
【００５３】
図４に示すように、ＲＯＭ４２には、カメラ制御プログラム４２１と、スリット光軌跡抽出プログラム４２２と、三角測量演算プログラム４２３と、原稿姿勢演算プログラム４２４と、平面変換プログラム４２５とが格納されている。
【００５４】
カメラ制御プログラム４２１とは、図５に示すフローチャートの処理（詳細は後述する。）を含む撮像装置１全体の制御に関するプログラムである。スリット光軌跡抽出プログラム４２２は、スリット光を投光した原稿Ｐの画像からスリット光の軌跡を抽出するプログラムである。三角測量演算プログラム４２３は、スリット光軌跡抽出プログラム４２２で抽出されたスリット光の軌跡の各画素に対する３次元空間位置を演算するためのプログラムである。原稿姿勢演算プログラム４２４は、第１スリット光の軌跡７１ａ及び第２スリット光の軌跡７２ｂの３次元空間位置から、原稿Ｐの３次元形状を推定して求めるプログラムである。平面変換プログラム４２５は、原稿Ｐの位置及び姿勢が与えられて、スリット光無画像格納部４３２に格納された画像データを、原稿Ｐの正面から撮像したような画像に変換するためのプログラムである。
【００５５】
図４に示すようにＲＡＭ４３には様々な格納部が割り当てられている。すなわち、ＲＡＭ４３には、記憶領域として、ＣＣＤ画像センサ３２からの画像データをＲＧＢ値で表現された色値データとして保存するためのスリット光有画像格納部４３１と、スリット光無画像格納部４３２とが割り当てられている。さらに、ＲＡＭ４３には、スリット光有画像の内で、探索範囲に含まれる各画素について、その赤値Ｒから緑値Ｇと青値Ｂとの平均を減算して求められる赤差分値Ｒｄと、輝度値Ｙとを乗算して得られる値（Ｒｄ・Ｙ値）を保存するための検出対象画素値一時格納部４３３が割り当てられている。さらに、ＲＡＭ４３には、スリット光有画像の各ポイントの位置を演算した結果を保存するための三角測量演算結果格納部４３４と、原稿Ｐの位置及び姿勢の演算結果を保存するための原稿姿勢演算結果格納部４３５とが割り当てられている。更にＲＡＭ４３には、後述するスリット光重心位置計算処理において計算される重心位置を保存するためのスリット光軌跡情報格納部４３６と、ＣＰＵ４１での演算のために一時的にデータを記憶させるのに使用するためのワーキングエリア４３７とが割り当てられている。
【００５６】
次に、上述したように構成された撮像装置１に関し、使用者によりレリーズボタン５２が押されてからの動作について図５を参照しながら説明する。図５は、撮像装置１のプロセッサ４０での処理手順を示すフローチャートである。
【００５７】
使用者によりレリーズボタン５２が押されると、まず、モード切替スイッチ５９のスイッチの位置を検知され、そのスイッチの位置が「補正撮像モード」の位置であるか否かが判別される（Ｓ１１０）。判別の結果、「補正撮像モード」の位置にある場合には（Ｓ１１０：Ｙｅｓ）、処理はステップＳ１２０に進む。ステップＳ１２０では、スリット光投光ユニット２０に対しレーザーダイオード２１の発光が指令され、第１スリット光７１及び第２スリット光７２が出射されると、ＣＣＤ画像センサ３２からＲＧＢ値で表現された画像データがスリット光有画像として読み込まれる。さらに、Ｓ１２０では、読み込まれた画像データがＲＡＭ４３のスリット光有画像格納部４３１へ格納される。
【００５８】
スリット光有画像の画像データが読み込まれると（Ｓ１２０）、次に処理はステップＳ１３０に進む。ステップＳ１３０では、スリット光投光ユニット２０に対しレーザーダイオード２１の発光停止が指令され、第１スリット光７１及び第２スリット光７２が出射されなくなると、ＣＣＤ画像センサ３２からＲＧＢ値で表現された画像データがスリット光無画像として読み込まれる。さらに、Ｓ１３０では、読み込まれた画像データがＲＡＭ４３のスリット光無画像格納部４３２へ格納される（Ｓ１３０）。
【００５９】
スリット光無画像の画像データが読み込まれると（Ｓ１３０）、処理はステップＳ１４０に進む。ステップＳ１４０では、スリット光軌跡抽出プログラム４２２により、スリット光有画像格納部４３１に読込まれたスリット光有画像の画像データからスリット光を抽出するスリット光軌跡抽出処理（Ｓ１４０）が実行される。
【００６０】
ここで、図６乃至図９を参照して、スリット光軌跡抽出処理（Ｓ１４０）について詳細に説明する。スリット光軌跡抽出処理は、スリット光有画像においてスリット光を含む画素と、スリット光を含まない画素との差異を明確にして、スリット光有画像からスリット光の軌跡を高精度で抽出するための処理である。
【００６１】
まず、図６（ａ）及び図６（ｂ）を参照して、その原理を説明する。図６（ａ）は、スリット光が照射されている状態の原稿Ｐの撮像画像を示している。原稿Ｐ上には、原稿の幅方向に複数列に並ぶ文字部分Ｍと、矩形状に示した照明反射部分Ｓと、円状に囲んで示す主の色成分として赤（Ｒ）成分を持つ印刷部分Ｉと、原稿Ｐの幅方向に延びる第１、第２スリット光の軌跡７１ａ，７２ａとが形成されている。原稿Ｐの幅方向と直交する方向に延びる１点鎖線はスリット光検出位置を示し、そのスリット光検出位置と第１スリット光の軌跡７１ａとの交点をスリット光検出画素Ｋとする。
【００６２】
図６（ｂ）は、スリット光検出位置（図中の１点鎖線参照）における所定パラメータ値を示すグラフであり、スリット光検出位置から各グラフに向かって真っ直ぐに延長線を引いた部分が、そのスリット光検出位置の各所定パラメータ値を示している。つなわち、図６（ｂ）の各グラフの縦軸上の位置は、図６（ａ）の図の縦方向の位置に対応している。所定パラメータとしてグラフＡ１は赤値Ｒ、グラフＡ２は赤差分値Ｒｄ、グラフＡ３は輝度値Ｙ、グラフＡ４は赤差分値Ｒｄと輝度値Ｙとの積値Ｒｄ・Ｙを採用している。
【００６３】
赤差分値Ｒｄは、赤値Ｒから緑値Ｇと青値Ｂとの平均を減算して算出される。即ち、この赤差分値Ｒｄによって、スリット光検出位置において、スリット光の主成分であるＲ成分に対応する赤値Ｒを他の成分（Ｇ値、Ｂ値）より強調させることができる。赤値Ｒが緑値Ｇ、青値Ｂと近い値を有する画素は、赤差分値Ｒｄ値が低く、逆に、赤値Ｒが緑値Ｇ、青値Ｂに比べて高い画素は、赤差分値Ｒｄ値が高い値となる。
【００６４】
輝度値Ｙは、スリット光検出位置における各画素の輝度を示す。輝度値Ｙは、ＹＣｂＣｒ空間におけるＹ値であり、ＲＧＢ空間からＹＣｂＣｒ空間へは以下の計算式で変換される。
Ｙ  ＝  ０．２９８９＊Ｒ＋０．５８６６＊Ｇ＋０．１１４５＊Ｂ
Ｃｂ＝−０．１６８７＊Ｒ−０．３３１２＊Ｇ＋０．５０００＊Ｂ
Ｃｒ＝  ０．５０００＊Ｒ−０．４１８３＊Ｇ−０．０８１６＊Ｂ
グラフＡ１からは、スリット光検出画素Ｋ、Ｒ成分を持つ印刷部分Ｉ、照明反射部分Ｓでは赤値Ｒが高いことが分かる。ここで、赤値Ｒの高低を基準に、スリット光検出画素Ｋを検出しようとすると、スリット光検出画素Ｋが、Ｒ成分を持つ印刷部分Ｉや照明反射部分Ｓに含まれている場合には、赤値Ｒについて両者に明確な差異がないので、Ｒ成分を持つ印刷部分Ｉや照明反射部分Ｓからスリット光検出画素Ｋを正確に検出できない。
【００６５】
グラフＡ２からは、照明反射部分Ｓは、スリット光検出画素Ｋ、Ｒ成分を持つ印刷部分Ｉより赤差分値Ｒｄが低いことが分かる。よって、赤差分値Ｒｄの高低を基準に、スリット光検出画素Ｋを検出すれば、スリット光検出画素Ｋが照明反射部分Ｓに含まれていたとしても、赤差分値Ｒｄに関する両者の差異は明確なので照明反射部分Ｓからスリット光検出画素Ｋを正確に検出することは可能である。しかし、スリット光検出画素ＫがＲ成分を持つ印刷部分Ｉに含まれている場合には、赤差分値Ｒｄに関して両者に明確な差異がないので、Ｒ成分を持つ印刷部分Ｉからスリット光検出画素Ｋを正確に検出できない。
【００６６】
グラフＡ３からは、Ｒ成分を持つ印刷部分Ｉが、スリット光検出画素Ｋ、照明反射部分Ｓより輝度値Ｙが低いことが分かる。よって、輝度値Ｙの高低を基準に、スリット光検出画素Ｋを検出すれば、たとえスリット光検出画素ＫがＲ成分を持つ印刷部分Ｉに含まれていたとしても、輝度値Ｙに関する両者の差異は明確なので、Ｒ成分を持つ印刷部分からスリット光検出画素Ｋを検出することは可能である。しかし、スリット光検出画素が照明反射部分Ｓに含まれている場合には、輝度値Ｙに関して両者に明確な差異がないので、照明反射部分Ｓからスリット光検出画素Ｋを正確に検出できない。
【００６７】
そこで、グラフＡ２及びグラフＡ３に示す通り、スリット光検出画素Ｋは、赤差分値Ｒｄと輝度値Ｙとの両方が、照明反射部分ＳやＲ成分を持つ印刷部分Ｉよりも高い値を有していることに着目し、その赤差分値Ｒｄと輝度値Ｙとの積値Ｒｄ・Ｙ（以下Ｒｄ・Ｙ値）の高低を基準に、スリット光を含む画素を検出することとする。
【００６８】
グラフＡ４に示す通り、スリット光検出位置画素ＫのＲｄ・Ｙ値は、照明反射部分ＳのＲｄ・Ｙ値やＲ成分を持つ印刷部分ＩのＲｄ・Ｙ値よりも高い。したがって、たとえスリット光検出画素Ｋが照明反射部分ＳやＲ成分を持つ印刷部分Ｉに含まれていたとしても、Ｒｄ・Ｙ値に関する両者の差異は明確なので、照明反射部分ＳやＲ成分を持つ印刷部分Ｉからスリット光検出画素Ｋを正確に検出することができる。
【００６９】
次に、スリット光軌跡抽出処理の具体的な処理の流れを図７乃至図９を参照して説明する。図７はスリット光軌跡抽出処理のフローチャートである。図８は、スリット光軌跡抽出処理に含まれるスリット光重心計算処理のフローチャートである。図９（ａ）は、スリット光が照射されている状態の原稿Ｐの撮像画像を示している。図９（ｂ）は、スリット光検出位置ｃＸにおける周辺画素を模式的に示した拡大図である。尚、本実施形態では、撮像画像画素数を幅Ｗ＝１２００（ｐｉｘｅｌ）、高さＨ＝１６００（ｐｉｘｅｌ）としている。
【００７０】
スリット光軌跡抽出処理（Ｓ１４０）では、まず、第２スリット光の軌跡７２ａを抽出する探索範囲を指定する探索パラメータを設定する（Ｓ７０１）。この探索パラメータは、図９に示すように第２スリット光の軌跡７２ａ上のｃｃｄｘ方向におけるｃＸ２と、ｃｃｄｙ方向のｙＭｉｎ２からｙＭａｘ２の範囲とで設定される。
【００７１】
具体的には、ｃＸ２の値としては、撮像画像の幅Ｗの中心位置とし、ｃＸ２＝６００の１点が設定され、ｙＭｉｎ２からｙＭａｘ２の範囲としては、撮像画像の上半分の領域である０から７９９の範囲で設定される。
【００７２】
ｃｃｄｘ方向に関してｃＸ２を１点に設定するのは、本実施形態では、第１スリット光の軌跡７１ａにより湾曲φを算出するため、第２スリット光の軌跡７２ａとしては、傾きθ（実空間においてＸ軸を中心とした回転角）を求めるのに用いるｃｃｄｙ軸上の軌跡座標のみを抽出すれば良いためである。
【００７３】
探索パラメータを設定すると（Ｓ７０１）、次に、後述するスリット光重心位置計算処理が実行される（Ｓ７０２）。そのスリット光重心位置計算処理（Ｓ７０２）で算出される重心位置は、スリット光軌跡情報格納部４３６に記憶される（Ｓ７０３）。
【００７４】
次に、第１スリット光の軌跡７１ａを抽出する探索範囲を指定する探索パラメータを設定する（Ｓ７０４）。この探索パラメータは、ｃｃｄｙ方向のｙＭｉｎ１からｙＭａｘ１の範囲で設定される。
【００７５】
具体的には、撮像画像の下半分の領域の内、９５０から１５９９の範囲で設定される。尚、下半分の全部の領域を設定しないのは、本実施形態では、第１スリット光７１は結像レンズ３１の光軸と平行で、且つ、結像レンズ３１より下から照射されるので、第１スリット光７１の存在する範囲は、原稿Ｐを撮像する場合の使用に耐え得る原稿Ｐと結像レンズ３１との距離から逆算できるため、探索範囲を予め絞りこみ、高速に処理させるためである。
【００７６】
また、本実施形態では、第１スリット光の軌跡７１ａについては、撮像画像の幅Ｗ方向に所定間隔毎の画素を順次検出していくため、ｃｃｄｘ方向に関する探索パラメータは設定されず、第１スリット光の軌跡７１ａを検出する位置を示す変数ｃＸの初期値として０、ｃＸの最大値ｃＸＭａｘとして幅Ｗ方向の画素数−１、検出間隔ｄｘとして２０（ｐｉｘｅｌ）が設定される。ｃＸの初期値から検出間隔ｄｘ毎に最大値ｃＸＭａｘまで順次検出が行われる。尚、そのための処理がＳ７０５からＳ７０９までの繰り返し処理に該当する。
【００７７】
探索パラメータが設定されると（Ｓ７０４）、変数ｃＸが初期化（ｃＸ＝０）される（Ｓ７０５）。次に、変数ｃＸが最大値ｃＸＭａｘより小さいか否かが判定される（Ｓ７０６）。判定の結果、変数ｃＸが最大値ｃＸＭａｘより小さいと判定されれば（Ｓ７０６：Ｙｅｓ）、そのｃＸに関し後述するスリット光重心計算処理（Ｓ７０７）が実行され、そのスリット光重心位置計算処理（Ｓ７０７）で算出される重心位置が、スリット光軌跡情報格納部４３６へ記憶する（Ｓ７０８）。
【００７８】
次に、変数ｃＸに検出間隔ｄｘを加算することにより検出位置が更新され（Ｓ７０９）、このＳ７０６からＳ７０９までの処理が繰り返される。そして、変数ｃＸが最大値ｃＸＭａｘより大きくなった時点で（Ｓ７０６：Ｎｏ）、当該処理を終了する。
【００７９】
次に、図８のフローチャートを参照して、上述したスリット光重心計算処理（Ｓ７０２・Ｓ７０７）について説明する。スリット光重心計算処理は、スリット光を含む画素として検出される画素の位置と、スリット光の輝度中心位置とは、スリット光を構成するレーザー光の特性、撮像対象物の表面の細かな凹凸により必ずしも一致ないため、検出される画素を中心とする一定の範囲内でＲｄ・Ｙ値の重心位置を求め、その重心位置をスリット光を含む位置とするための処理である。尚、本実施形態では、その一定の範囲内としてｃｃｄｘ方向にｘＲａｎｇｅ＝２，ｃｃｄｙ方向にｇＲａｎｇｅ＝５が設定されている（図９（ｂ）参照）。
【００８０】
スリット光重心計算処理では、まず、与えられた変数ｃＸ（ｃＸ２についても同様）について、ｃｃｄｘ方向の探索範囲を示すｘＭｉｎとｘＭａｘとを設定する（Ｓ８０１）。ｘＭｉｎは、変数ｃＸが最小値ｃＸｍｉｎ（＝初期値＝０）の場合には、最小値ｃＸｍｉｎ（＝初期値＝０）に設定され、それ以外の場合には、ｃＸからｘＲａｎｇｅを減算した値（＝ｃＸ−ｘＲａｎｇｅ）に設定される。ｘＭａｘは、変数ｃＸが最大値ｃＸｍａｘの場合には、その最大値ｃＸｍａｘに設定され、それ以外の場合には、ｃＸにｘＲａｎｇｅを加算した値（＝ｃＸ＋ｘＲａｎｇｅ）に設定される。
【００８１】
ｃｃｄｘ方向の探索範囲が設定されると（Ｓ８０１）、ｘＭｉｎ□ｃｃｄｘ□ｘＭａｘとｙＭｉｎ□ｃｃｄｙ□ｙＭａｘとの範囲における各画素について赤差分値Ｒｄと輝度値Ｙとが計算される（Ｓ８０２，Ｓ８０３）。次に、その各画素について計算された赤差分値Ｒｄと輝度値Ｙとを乗算することにより、各画素についてＲｄ・Ｙ値が計算され、その結果が検出対象画素値一時格納部４３３に記憶される（Ｓ８０４）。
【００８２】
次に、与えられた変数ｃＸの±ｘＲａｎｇｅの範囲における検出位置を示す変数ｃｃＸが初期化され（ｃｃＸ＝ｘＭｉｎ）（Ｓ８０５）、その変数ｃｃＸが探索範囲（ｃｃＸ□ｘＭａｘ）を超えていないか否かが判定される（Ｓ８０６）。変数ｃｃＸが探索範囲を超えていなければ（Ｓ８０６：Ｙｅｓ）、更に、変数ｃｃＸが画像範囲（ｃｃＸ□０、ｃｃＸ＜ｃＭＡＸ）を超えていないか否かが判定される（Ｓ８０７）。変数ｃｃＸが画像範囲をも超えていなければ（Ｓ８０７：Ｙｅｓ）、検出対象画素値一時格納部４３３に記憶されている探索範囲内の各画素のＲｄ・Ｙ値の中から、最大値を有しており、且つ、予め設定した閾値ｖＴｈを越えている画素が検索される（Ｓ８０８）。
【００８３】
上述した通りに、最大のＲｄ・Ｙ値を有する画素は、探索範囲内でスリット光を含む画素である可能性が極めて高いためである。また、その画素が閾値ｖＴｈを超えていることを条件とするのは、たとえ最大のＲｄ・Ｙ値を有する画素であっても、閾値ｖＴｈを越えていない画素は、撮像対象物から外れた遠方の物体にスリット光が当たっている画素（この場合、非常に弱い輝度を持っている）である可能性があり、その画素はスリット光を含む画素の対象候補から外すことで、より高精度にスリット光を含む画素を検出するためである。
【００８４】
探索範囲内で最大のＲｄ・Ｙ値を有し、且つ、閾値ｖＴｈを越える画素を検索したら（Ｓ８０８）、その検索された画素の画素位置±ｇＲａｎｇｅの範囲で、Ｒｄ・Ｙ値についての重心位置が計算される（Ｓ８０９）。次に、検出位置は更新され（Ｓ８１０）、上述したＳ８０６からＳＳ８１０までの処理が繰り返される。
【００８５】
こうして、ｃＸの±ｘＲａｎｇｅの範囲における変数ｃｃＸの各位置での重心の計算が終了したと判断された場合には（Ｓ８０６：Ｎｏ）、ｃＸの±ｘＲａｎｇｅの範囲における各ｃｃＸで求めた重心位置と、Ｒｄ・Ｙ値とを用いて更に、ｃｃｄｙ方向についての重心位置を求め、それをｃＸにおけるスリット光軌跡のｃｃｄｙ値（Ｙｇ）とし（Ｓ８１１）、当該処理を終了する。
【００８６】
尚、重心位置Ｙｇは下記の計算式で算出される。ただし、下記計算式における（Ｒｄ＊Ｙ）は、ＹｒｄｙＭａｘ−ｇＲａｎｇｅ□ｙ□ＹｒｄｙＭａｘ＋ｇＲａｎｇｅにおけるＲｄ・Ｙ値を示す。
【００８７】
【数１】
2005128006.tif 000003
再び、図５に戻り、説明を続ける。上述した通りにスリット光軌跡抽出処理（Ｓ１４０）が終了すると、次に収差補正処理（Ｓ１５０）が実行される。収差補正処理は、光軸からの角度に依存する画像の歪みを補正するための処理である。
【００８８】
収差補正処理（Ｓ１５０）が終了すると、三角測量演算処理（Ｓ１６０）が実行される。この三角測量演算処理は、三角測量演算プログラム４２３により、第１スリット光の軌跡７１ａ及び第２スリット光の軌跡７２ａの画素毎の３次元空間位置を演算する処理である。
【００８９】
この三角測量演算処理では、検出対象画素値一時格納部４３３に読込まれた画像データに基づいて、第１スリット光の軌跡７１ａ及び第２スリット光の軌跡７２ａの縦方向のピークを重心計算によって画像データの横方向座標毎に求め、このピーク抽出座標に対する３次元空間位置を次のようにして求める。
【００９０】
図１０（ａ）及び図１０（ｂ）は、スリット光有画像を説明するための図である。図１１（ａ）及び図１１（ｂ）は、スリット光の３次元空間位置を算出する方法を説明するための図である。ここで、図１１（ａ）に示すように撮像される横方向に湾曲した原稿Ｐに対する撮像装置１の座標系を、結像レンズ３１の光軸方向をＺ軸として、撮像装置１から基準距離ＶＰ離れた位置をＸ，Ｙ，Ｚ軸の原点位置として、撮像装置１に対して水平方向をＸ軸、垂直方向をＹ軸とする。
【００９１】
ＣＣＤ画像センサ３２のＸ軸方向の画素数をＲｅｓＸ、Ｙ軸方向の画素数をＲｅｓＹと呼び、Ｘ−Ｙ平面に、結像レンズ３１を通してＣＣＤ画像センサ３２を投影した位置の上端をＹｆｔｏｐ、下端をＹｆｂｏｔｔｏｍ、左端をＸｆｓｔａｒｔ、右端をＸｆｅｎｄと呼ぶ。また、結像レンズ３１の光軸から、スリット光投光ユニット２０から出射される第１スリット光７１の光軸までの距離をＤ、第１スリット光７１がＸ−Ｙ平面に交差するＹ軸方向の位置をｌａｓ１、第２スリット光７２がＸ−Ｙ平面に交差するＹ軸方向の位置をｌａｓ２とする。
【００９２】
このとき、第１スリット光の軌跡７１ａの画像の画素の１つに注目した注目点１のＣＣＤ画像センサ３２上の座標（ｃｃｄｘ１，ｃｃｄｙ１）に対応する３次元空間位置（Ｘ１，Ｙ１，Ｚ１）を、ＣＣＤ画像センサ３２の結像面上の点と、第１スリット光７１及び第２スリット光７２の出射点と、Ｘ−Ｙ平面に交差する点とで形成される三角形について立てた次の５つの連立方程式の解から導き出す。
（１）Ｙ１＝−（（ｌａｓ１＋Ｄ）／ＶＰ）Ｚ１＋ｌａｓ１
（２）Ｙ１＝−（Ｙｔａｒｇｅｔ／ＶＰ）Ｚ１＋Ｙｔａｒｇｅｔ
（３）Ｘ１＝−（Ｘｔａｒｇｅｔ／ＶＰ）Ｚ１＋Ｘｔａｒｇｅｔ
（４）Ｘｔａｒｇｅｔ＝Ｘｆｓｔａｒｔ＋（ｃｃｄｘ１／ＲｅｓＸ）×（Ｘｆｅｎｄ−Ｘｆｓｔａｒｔ）
（５）Ｙｔａｒｇｅｔ＝Ｙｆｔｏｐ−（ｃｃｄｙ１／ＲｅｓＹ）×（Ｙｆｔｏｐ−Ｙｆｂｏｔｔｏｍ）
尚、本実施形態では、第１スリット光７１がＺ軸に対して平行のためｌａｓ１＝−Ｄであり、Ｙ１＝−Ｄである。
【００９３】
同様に、ＣＣＤ画像センサ３２上の第２スリット光の軌跡７２ａの画像の画素の一つに注目した注目点２の座標（ｃｃｄｘ２，ｃｃｄｙ２）に対応する３次元空間位置（Ｘ２，Ｙ２，Ｚ２）を、次に５つの連立方程式の解から導き出す。
（１）Ｙ２＝−（（ｌａｓ２＋Ｄ）／ＶＰ）Ｚ２＋ｌａｓ２
（２）Ｙ２＝−（Ｙｔａｒｇｅｔ／ＶＰ）Ｚ２＋Ｙｔａｒｇｅｔ
（３）Ｘ２＝−（Ｘｔａｒｇｅｔ／ＶＰ）Ｚ２＋Ｘｔａｒｇｅｔ
（４）Ｘｔａｒｇｅｔ＝Ｘｆｓｔａｒｔ＋（ｃｃｄｘ２／ＲｅｓＸ）×（Ｘｆｅｎｄ−Ｘｆｓｔａｒｔ）
（５）Ｙｔａｒｇｅｔ＝Ｙｆｔｏｐ−（ｃｃｄｙ２／ＲｅｓＹ）×（Ｙｆｔｏｐ−Ｙｆｂｏｔｔｏｍ）
こうして算出されたスリット光の３次元空間位置を、三角測量演算結果格納部４３４へ書き込み、当該処理を終了する。
【００９４】
三角測量演算処理（Ｓ１６０）が終了すると、次に、原稿姿勢演算処理（Ｓ１７０）が実行される。原稿姿勢演算処理は、各スリット光の３次元空間位置に基づいて、原稿姿勢演算プログラム４２４により、原稿Ｐの位置及び姿勢を演算する処理である。ここで、図１２（ａ）から図１２（ｃ）を参照して、この原稿姿勢演算処理について説明する。図１２（ａ）から図１２（ｃ）は、原稿姿勢演算の際の座標系を説明するための図である。
【００９５】
この原稿姿勢演算処理（Ｓ１７０）では、例えば、三角測量演算結果格納部４３４のデータから、第１スリット光の軌跡７１ａに対応する３次元空間位置の各点を回帰曲線近似した線を求め、この曲線のＸ軸方向の位置が「０」における点と、第２スリット光の軌跡７２ａのＸ軸方向の位置が「０」における３次元位置とを結ぶ直線を想定し、この直線がＺ軸と交わる点、つまり、光軸が原稿Ｐと交差する点を、原稿Ｐの３次元空間位置（０，０，Ｌ）とする（図１２（ａ）参照）。そして、この直線がＸ−Ｙ平面となす角を原稿ＰのＸ軸まわりの傾きθとする。
【００９６】
図１２（ｂ）に示すように、第１スリット光の軌跡７１ａを回帰曲線近似した線を、先に求めたＸ軸まわりの傾きθ分だけ逆方向に回転変換し、つまり、原稿ＰをＸ−Ｙ平面に対して平行にした状態を考える。そして、図１２（ｃ）に示すように、原稿ＰのＸ軸方向の断面形状を、Ｘ−Ｚ平面における原稿Ｐの断面について、Ｚ軸方向の変位を複数のＸ軸方向の点で求めてその変位度から、Ｘ軸方向の位置を変数としたＸ軸方向の傾きの関数である湾曲φ（Ｘ）を求め、当該処理を終了する。
【００９７】
原稿姿勢演算処理（Ｓ１７０）が終了すると、次に、平面変換処理（Ｓ１８０）が実行される。平面変換処理は、３次元形状データから、平面変換プログラム４２５により、スリット光無画像格納部４３２に記憶された画像データを、正面から観察されたような画像の画像データに変換する処理である。
【００９８】
ここで、平面変換処理について図１３のフローチャートを参照しながら説明する。図１３は平面変換処理を示すフローチャートである。
【００９９】
平面変換処理では、まず、ＲＡＭ４３のワーキングエリア４３７に当該処理の処理領域が割り当てられ、カウンタのための変数など当該処理に用いる変数ｂの初期値が設定される（Ｓ１３００）。
【０１００】
次に、原稿Ｐの文字等が書かれた面が略鉛直方向から観察された場合の画像である正立画像の領域を、原稿姿勢演算プログラム４２５での演算結果による原稿Ｐの３次元空間位置（０，０，Ｌ）と、Ｘ軸まわりの傾きθと、湾曲φ（Ｘ）とに基づき、スリット光無画像の４隅の点を変換して設定し、この領域内に含まれる画素数ａを求める（Ｓ１３０１）。
【０１０１】
まず、変数ｂが前記画素数ａに達しているか判断される（Ｓ１３０２）。そして、設定された正立画像の領域を、まずＸ−Ｙ平面に配置して（Ｓ１３０３）、その中に含まれる画素毎に、各々の３次元空間位置を、湾曲φ（Ｘ）に基づいてＺ軸方向に変位させ（Ｓ１３０４）、傾きθでＸ軸まわりに回転移動し（Ｓ１３０５）、Ｚ軸方向に距離Ｌだけシフトする（Ｓ１３０６）。次に、求められた３次元空間位置を、先の３角測量の関係式により理想カメラで写されたＣＣＤ画像上の座標（ｃｃｄｃｘ，ｃｃｄｃｙ）に変換し（Ｓ１３０７）、使用している結像レンズ３１の収差特性に従って、公知のキャリブレーション手法により、実際のカメラで写されたＣＣＤ画像上の座標（ｃｃｄｘ，ｃｃｄｙ）に変換し（Ｓ１３０８）、この位置にあるスリット光無画像の画素の状態を求めて、ＲＡＭ４３のワーキングエリア４３７に格納する（Ｓ１３０９）。これを画素数ａだけ繰り返し（Ｓ１３１０，Ｓ１３０２）、正立画像の画像データが生成され、前記ワーキングエリア４３７の処理領域が開放された後（Ｓ１３１１）、当該処理を終了する。
【０１０２】
再び、図５に戻り、説明を続ける。平面変換処理（Ｓ１８０）が終了すると、生成された正立画像の画像データはメモリカード５５に書き込まれる（Ｓ１９０）。
【０１０３】
一方、Ｓ１１０における判別の結果が、「補正撮像モード」ではなく「ノーマルモード」の位置の場合には（Ｓ１１０：ＮＯ）、スリット光投光ユニット２０のレーザーダイオード２１が発光せず、第１スリット光７１及び第２スリット光７２が出射されていない状態で、ＣＣＤ画像センサ３２からスリット光無画像が読み込まれる（Ｓ２００）。読み込まれた画像データはメモリカード５５に書き込まれる（Ｓ２１０）。尚、「ノーマルモード」の場合には、上述したような原稿Ｐの３次元空間位置Ｌ、傾きθ、湾曲φは算出されず、これらのデータがメモリカード５５に書込まれることはない。
【０１０４】
以上説明したように、「撮像補正モード」における撮像装置１は、第１スリット光７１及び第２スリット光７２の２列のスリット光を原稿Ｐに投光し、その原稿Ｐを結像レンズ３１によってＣＣＤ画像センサ３２に結像させて撮像し、続けて、スリット光が投光されていない原稿Ｐの画像を撮像する。
【０１０５】
そして、この２つの撮像画像の内、スリット光が原稿Ｐに投光された状態を撮像したスリット光有画像から、スリット光の軌跡を抽出する場合には、所定範囲毎にＲｄ・Ｙ値が、閾値Ｙｔｈを越え、且つ、最大値を有する画素を検出する。この場合、たとえスリット光を含む画素が、照明反射部分Ｓに含まれていたとしても、照明反射部分Ｓでは赤値Ｒが低く、Ｒｄ・Ｙ値が低いので、その照明反射部分Ｓと最大のＲｄ・Ｙ値を有するスリット光を含む画素との差異が明確となり、高精度にスリット光を含む画素を検出できる。
【０１０６】
また、たとえスリット光を含む画素が、Ｒ成分を持つ印刷部分Ｉに含まれていたとしても、Ｒ成分を持つ印刷部分Ｉでは、輝度値Ｙが低く、Ｒｄ・Ｙ値が低いので、そのＲ成分を持つ印刷部分Ｉと最大のＲｄ・Ｙ値を有するスリット光を含む画素との差異が明確となり、高精度にスリット光を含む画素を検出できる。
【０１０７】
こうしてスリット光の軌跡が抽出され、三角測量原理によりスリット光の軌跡各部の３次元空間位置が演算され、これらから原稿Ｐの位置、傾き、及び湾曲状態（３次元形状データ）が求められ、これらの３次元形状データとスリット光無画像の画像データとがメモリカード５５に書き込まれる。
【０１０８】
よって、撮像装置１によれば、使用者は、モード切替スイッチ５９を「補正撮像モード」側に切り換え、ファインダ５３、又は、ＬＣＤ５１で原稿Ｐの所望の範囲が撮像範囲に入っているか確認し、レリーズボタン５２を押して画像を撮影することによって、湾曲などの形状変形した原稿Ｐを斜めから撮像した場合でも、平らな原稿Ｐを正面から撮像したかのような画像データをメモリカード５５に記憶させることができる。一般に、３次元形状検出装置を可搬型とした場合の「手ぶれ」対策として、スリット光投光時画像とスリット光非投光時画像との減算を行うことなくスリット光投光時画像だけからスリット光を抽出することが考えられる。例えば、スリット光を赤外領域とする方法も考えられるが、光学系を赤外領域と可視領域との２系統を用意する必要があり、可搬型としての装置の大型化、構造の複雑化、コストアップ等の問題を招来する。一方、可視領域のスリット光を照射したスリット光投光時画像から正確にスリット光を抽出できることが望ましいが、一般照明環境下で撮像された画像におけるスリット光の軌跡部分と他の部分とでは輝度や彩度が近似しており、明らかな差異が得られず、特に、スリット光と近い色で印刷された印刷部分や照明の反射部分では、その傾向が強く、スリット光を高精度に検出するのが困難である。また、スリット光の出力を上げることでスリット光の検出精度を向上させることも考えられるが、かかる場合には、スリット光発生装置の大型化によるコストアップや、安全性への配慮も生ずる。本実施形態では、上記のような問題点を解消し、スリット光の出力を上げることなく、高精度にスリット光を含む画素を検出することができる。
【０１０９】
次に、図１４乃至図１７を参照して上述したスリット光軌跡抽出処理（Ｓ１４０）に関する第２の実施形態について説明する。原稿Ｐ上にＲ成分が他の成分よりも際だって強い部分があったり、反射率が際だって高い部分があったり（正反射するため、反射したスリット光がカメラ方向へ十分戻ってこない）、反射率が際だって低い部分があったり（吸収されてしまうため、反射したスリット光がカメラ方向へ十分戻ってこない）した場合には、スリット光を含む画素のＲｄ・Ｙ値が、他の部分と比べて大きな値を持つことができず、Ｒｄ・Ｙ値の最大値を持つ画素が必ずしもスリット光を含む画素であるとは限らないことがある。
【０１１０】
そこで、この第２の実施形態のスリット光軌跡抽出処理では、上述したスリット光重心計算処理で算出される重心位置の画素であっても、即座にスリット光を含む画素であるとは扱わず、更に、その画素に対応する画素が、スリット光無画像内に存在するか否かを検索する。そして、重心位置の画素に対応する画素が、スリット光無画像中に存在していなければ、その画素は、スリット光有画像固有の画素、即ち、スリット光を含む画素であると判定することとした。
【０１１１】
図１４は、この第２の実施形態のスリット光軌跡抽出処理を実行する撮像装置１の電気的構成を示したブロック図である。尚、図１４は図４に対応する図であり、図４で示した構成と同一の構成には、同一の符号を付し、その説明を省略する。
【０１１２】
ＲＯＭ４２は、図４で説明したプログラムに加え、スリット光無画像内の小領域毎に色値に関する標準偏差を演算する輝度分散演算プログラム４２６と、スリット光有画像とスリット光無画像とのズレ量を演算する相互相関係数演算プログラム４２７と、スリット光有画像内から検出された画素が、スリット光無画像内に存在するか否かを検索する対応画素検索プログラム４２８とを備えている。ＲＡＭ４３は、図４で説明した種々の格納部に加え、相互相関係数演算プログラム４２８によって演算されたスリット光有画像とスリット光無画像とのズレ量を格納する手ぶれ量格納部４３８を備えている。
【０１１３】
次に、第２の実施形態のスリット光軌跡抽出処理を図１５のフローチャートを参照して説明する。第２の実施形態のスリット光軌跡抽出処理では、まず、スリット光有画像とスリット光無画像とのズレ量が計算される（Ｓ１５０１）。
【０１１４】
スリット光有画像とスリット光無画像とは、同時に撮像されていないため、ユーザの「手ぶれ」等に起因して、スリット光有画像とスリット光無画像との対応する画素が一致しないことがある。そこで、スリット光重心算出処理で算出される重心位置に対応する画素が、スリット光無画像内に存在するか否かを検索する前に、両画像のズレ量を計算し、そのズレ量を加味した上で、スリット光無画像内を検索する。
【０１１５】
スリット光有画像とスリット光無画像とのズレ量は、相互相関係数演算プログラム４２７により２つの画素間の相互相関係数ｃｃを計算することで得ることができる。尚、相互相関係数ｃｃは−１〜１の値を持ち、最大の値を持つ位置がズレ量となる。
【０１１６】
また、相互相関係数ｃｃを計算するに当たっては、画像中の特徴ある部分で計算することが好ましい。黒べた部分、白べた部分、或いは特定の色によるべた部分等において相互相関係数ｃｃを計算しても、相互相関係数ｃｃに明確な差異が得られないためである。そこで、相互相関係数ｃｃを計算する前に、スリット光無画像内において特徴ある部分を探索する探索処理を行う。
【０１１７】
この探索処理では、図１６に示すように、スリット光無画像を４つの大領域１〜４に分け、更に、その各大領域１〜４を各大領域内の端（領域１では右上、領域２では左上、領域３では左下、領域４では右下）から中央に向かって小領域に分け、その小領域毎に輝度Ｙの標準偏差を求める。輝度Ｙの標準偏差σＹは輝度分散演算プログラム４２６により以下の計算式を使って計算される。
【０１１８】
尚、計算式において（ｘｃ、ｙｃ）は小領域中心画素、Ｒｄは小領域のサイズを２等分したサイズを示しており、具体的には、画像サイズが１２００ｐｉｘｅｌ×１６００ｐｉｘｅｌ程度の場合には、小領域のサイズは４１ｐｉｘｅｌ×４１ｐｉｘｅｌ程度（計算式におけるＲｄ＝２０）で良い。
【０１１９】
【数２】
2005128006.tif 000004
【０１２０】
【数３】
2005128006.tif 000005
各大領域１〜４内において最大の標準偏差を有する小領域の中心座標を相互相関係数ｃｃを求める中心位置（ｘｃ、ｙｃ）として、スリット光有画像とスリット光無画像の２画像の中心座標付近の画素の位置の差を（ｘｄ，ｙｄ）として、各（ｘｄ，ｙｄ）における相互相関係数ｃｃ（ｘｄ，ｙｄ）を求め、最大の相互相関係数を持つ場合の（ｘｄ，ｙｄ）をずれ量とすることができる。
【０１２１】
尚、計算式では、スリット光有画像とスリット光無画像との画素の位置の差を（ｘｄ、ｙｄ）とし、スリット光有画像の画素の輝度をＹ１、スリット光無画像の輝度をＹ２とする。また、画像サイズが１２００ｐｉｘｅｌ×１６００ｐｉｘｅｌ程度の場合には、相互相関係数ｃｃを求める範囲も４１ｐｉｘｅｌ×４１ｐｉｘｅｌ（Ｒｃ＝２０）程度でよい。
【０１２２】
【数４】
2005128006.tif 000006
再び、図１５に戻って説明を続ける。上述した通りに、スリット光有画像とスリット光無画像とのズレ量が算出されると（Ｓ１５０１）、図７のＳ７０１，Ｓ７０２で説明したのと同様に、第２スリット光の軌跡７２ａを抽出する探索範囲を指定する探索パラメータが設定され（Ｓ１５０２）、スリット光重心位置計算処理が実行される（Ｓ１５０３）。そして、そのスリット光重心位置計算処理（Ｓ１５０３）で算出される重心位置の画素に対応する画素が、スリット光無画像内に存在するか否かが検索される（Ｓ１５０４）。
【０１２３】
ここで、この検索範囲に関しては、例えば、図１７に示すように、スリット光有画像からスリット光を含む画素として検出された画素が、大領域４内の（ｘｐ、ｙｐ）において見つかったとする。この場合には、Ｓ１５０１で算出したスリット光無画像内の大領域４のズレ量（ｄｘ４、ｄｙ４）を考慮に入れて、ｘｐ＋ｄｘ４−Ｒｓ□ｘ□ｘｐ＋ｄｘ４＋Ｒｓと、ｘｐ＋ｄｙ４−Ｒｓ□ｙ□ｙｐ＋ｄｙ４＋Ｒｓとの範囲で、検出された画素に対応する画素を探索する。
【０１２４】
尚、対照物体までの距離が３５０ｍｍ程度、画像サイズが１２００ｐｉｘｅｌ×１６００ｐｉｘｅｌ程度の場合、手ぶれ量は数１０ピクセル程度なので、Ｒｓは数１０ピクセル程度で設定すれば良い。
【０１２５】
そして、スリット光無画像内を検索した結果、対応する画素が検索された場合には（Ｓ１５０５：Ｙｅｓ）、その画素はスリット光有画像にも、スリット光無画像にも共通に存在する画素ということになる。即ち、スリット光有画像内において検出された画素は、スリット光を含む画素とは認められないため、計算された重心位置まわりの画素を抽出対象から外し（Ｓ１５０６）、再び、Ｓ１５０３からＳ１５０５までの処理を繰り返す。一方、対応する画素がスリット光無画像内で検索されなければ（Ｓ１５０５：ＮＯ）、その画素はスリット光無画像には存在せず、スリット光有画像固有の画素ということになる。即ち、その画素は、スリット光を含む画素であると判定され、その計算された重心位置はスリット軌跡情報格納部４３６に記憶される（Ｓ１５０７）。
【０１２６】
こうして、第２スリット光の軌跡７２ａが抽出されると、次に、第１スリット光の軌跡７１ａを抽出すべく、図７のＳ７０４の処理と同様に、第１スリット光の軌跡７１ａを抽出する探索範囲を指定する探索パラメータが設定され（Ｓ１５０９）、その後、図７のＳ７０５〜Ｓ７１１までの処理に相当するＳ１５０９〜Ｓ１５１６までの処理が繰り返される。
【０１２７】
但し、上述した通りに、第２の実施形態のスリット光軌跡抽出処理においては、第２スリット光の軌跡７２ａの場合と同様に、スリット光重心計算処理（Ｓ１５１１）で算出される重心位置に対応する画素が、スリット光無画像内に存在するか否かが検索される（Ｓ１５１２）。そして、スリット光無画像内を検索した結果、対応する画素が検索された場合には（Ｓ１５１３：Ｙｅｓ）、その画素を計算された重心位置周りの画素は抽出対象から外され（Ｓ１５１４）、再び、Ｓ１５１１からＳ１５１３までの処理が行われる。一方、対応する画素がスリット光無画像内で検索されなければ（Ｓ１５１３：ＮＯ）、その計算された重心位置はスリット軌跡情報格納部４３６に格納される（Ｓ１５１５）。
【０１２８】
以上説明したように、第２の実施形態のスリット光軌跡抽出処理では、Ｒｄ・Ｙ値が、閾値Ｙｔｈを越え、且つ、最大値を有する画素であるとして検出されたとしても、更に、その検出された画素に対応する画素が、スリット光無画像内に存在するか否かが検索される。その結果、存在すると判断された場合には、その検出された画素は、スリット光有画像とスリット光無画像とに共通する画素、即ち、スリット光を含む画素ではないとして抽出対象から除外される。一方、存在しないと判断された場合には、その画素はスリット光有画像にのみ存在する画素、即ち、スリット光を含む画素であるとして、抽出対象画素とされる。よって、第１の実施形態のスリット光軌跡抽出処理に比べ、一層高精度にスリット光を含む画素が検出され、ひいては、高精度にスリット光の軌跡を抽出することができる。
【０１２９】
上記実施形態において、図５のフローチャートのＳ１４０の処理は、パターン光位置抽出手段やパターン光位置抽出ステップとして位置づけられる。図５のフローチャートのＳ１５０ないしＳ１７０の処理は、３次元形状算出手段や３次元形状検出ステップとして位置付けられる。図８のフローチャートのＳ８０２の処理は、色相パラメータ算出手段や色相パラメータ算出ステップとして位置付けられる。図８のフローチャートのＳ８０３の処理は、輝度パラメータ算出手段や輝度パラメータ算出ステップとして位置付けられる。図８のフローチャートのＳ８０４の処理は、強調パラメータ算出手段や強調パラメータ算出ステップとして位置付けられる。図８のＳ８０８の処理は、パターン光検出手段やパターン光検出ステップとして位置付けられる。図１５のフローチャートのＳ１５０４、Ｓ１５０５の処理及びＳ１５１２、Ｓ１５１３の処理は、検索手段として位置付けられる。図１５のフローチャートのＳ１５０１の処理は、移動量算出手段として位置付けられる。
【０１３０】
以上実施形態に基づき本発明を説明したが、本発明は上記実施形態に何ら限定されるものでなく、本発明の主旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【０１３１】
例えば、上記実施形態では、赤成分を主成分とするスリット光を抽出する場合について説明したが、主成分となる成分は赤成分に限定されるものではなく、緑成分、青成分を主成分とするスリット光であっても良い。例えば、赤成分を主成分とするスリット光に代えて緑成分を主成分とするスリット光を抽出する場合には、赤差分値Ｒｄ（＝Ｒ−（Ｇ＋Ｂ／２））に代えて、緑差分値Ｇｄ（＝Ｇ−（Ｒ＋Ｂ／２））を算出し、Ｒｄ・Ｙ値に代えてＧｄ・Ｙ値を採用することもできる。
【０１３２】
また、上記実施形態では、赤差分値Ｒｄは、赤値Ｒから緑値Ｇと青値Ｂとの平均値を減算することにより算出していたが、赤差分値Ｒｄを算出する方法としては、赤値Ｒから緑値Ｇと青値Ｂとの重み付け平均を減算して算出するようにしても良い。例えば、Ｒｄ＝Ｒ−（２・Ｇ＋１・Ｂ）／３等の計算式により算出するようにしても良い。
【０１３３】
また、撮像装置１で撮像する対象物体は、シート状の原稿Ｐの他にも、固体ブロックの滑らかな表面であったり、場合によっては稜線をもつ物体の表面であっても良く、およそ２列のスリット光の軌跡から、その３次元空間における３次元形状を希求したい用途にはすべて同様に、対象物体の３次元形状を検出する効果を発揮することができる。
【０１３４】
但し、本実施形態のように、対象物体がシート状の原稿Ｐであれば、第１スリット光の軌跡７１ａを原稿Ｐの断面形状であるとして、原稿Ｐの全体の形状を推定し、原稿Ｐの湾曲などの形状変形に対する画像補正をすることができる。
【０１３５】
また、本実施形態の撮像装置１では、スリット光投光ユニット２０が、第１スリット光７１と、第２スリット光７２の２列のスリット光を出射するように構成されているが、出射するスリット光は、２列に限らず、３列以上を出射するように構成されるものであっても良い。例えば、図１０（ｂ）に示す原稿Ｐのスリット光の軌跡画像のように、第１スリット光７１及び第２スリット光７２に加えて、第２スリット光７２と同様の第３スリット光が、原稿Ｐにて第２スリット光７２の上方に投光されるようにスリット光投光ユニット２０が構成されていても良い。この場合、第１〜第３スリット光のスリット光の軌跡の各点の位置から、原稿Ｐの縦方向の湾曲形状についても推定することができ、これによりスリット無し画像を補正して、更に見やすい画像とすることができる。
【０１３６】
本実施形態では光源に、赤色レーザー光線を放射するレーザーダイオード２１を用いているが、その他、面発光レーザー、ＬＥＤ、ＥＬ素子など、光ビームを出力できるものであれば、いずれを用いるものであっても良い。
【０１３７】
透明平板２４に代えて、入射するレーザー光線のパワーの所定の割合を所定方向に回折する回折格子を１面に形成した透明平板が用いられても良い。この場合、回折格子で回折された１次光のレーザー光線を第２スリット光７２とし、そのまま透過する０次光のレーザー光線を第１スリット光７１とすることができる。
【０１３８】
スリット光投光ユニット２０から出射されるスリット光は、長手方向に直交する方向に、急峻に絞り込まれた細線の他に、一定の幅を備えたストライプ状の光パターンでも良い。
【０１３９】
第１スリット光７１と、第２スリット光７２の位置関係は逆転しても良く、第１の方向つまり撮像装置１から見て下側に第２スリット光７２が、そして、第２の方向に第１スリットが形成されるように各光学素子が配設されていても良い。
【０１４０】
撮像装置１は、スリット光有画像及びスリット光無画像を、結像レンズ３１及びＣＣＤ画像センサ３２を用いて撮像するよう構成されている。これに対して、撮像装置は、結像レンズ３１及びＣＣＤ画像センサ３２の他に、スリット有り画像を撮像するための結像レンズ及びＣＣＤ画像センサが別途追加して設けられていても良い。このように構成することにより、スリット光有画像とスリット光無画像とを撮像する間の時間経過（ＣＣＤ画像センサ３２の画像データを転送する時間など）を無くすることができる。したがって、スリット光有画像に対してスリット光無画像の撮像範囲のずれが無く、検出する対象物体の３次元形状の精度が高いものとすることができる。但し、本実施形態の撮像装置１の方が、構成部品が少なく、小型で安価なものとすることができる。
【図面の簡単な説明】
【０１４１】
【図１】図１（ａ）は撮像装置の外観斜視図であり、図１（ｂ）は撮像装置１の概略断面図である。
【図２】スリット光投光ユニットの構成を示す図である。
【図３】図３（ａ）及び図３（ｂ）は、スリット光の角度幅を説明するための図である。
【図４】撮像装置の電気的構成を示したブロック図である。
【図５】プロセッサでの処理手順を示すフローチャートである。
【図６】図６（ａ）及び図６（ｂ）は、スリット光軌跡抽出処理の原理を説明するための図である。
【図７】スリット光軌跡抽出処理を示すフローチャートである。
【図８】スリット光重心計算処理を示すフローチャートである。
【図９】図９（ａ）は、スリット光が照射されている状態の原稿Ｐの撮像画像を示し、図９（ｂ）は、スリット光検出位置ｃＸにおける周辺画素を模式的に示した拡大図である。
【図１０】図１０（ａ）及び図１０（ｂ）は、スリット光有画像を説明するための図である。
【図１１】図１１（ａ）及び図１１（ｂ）は、３次元空間位置算出方法を説明するための図である。
【図１２】図１２（ａ）、図１２（ｂ）及び図１２（ｃ）は、原稿姿勢演算の際の座標系を説明するための図である。
【図１３】平面変換処理を示すフローチャートである。
【図１４】第２実施形態の撮像装置の電気的構成を示したブロック図である。
【図１５】第２実施形態のスリット光軌跡抽出処理を示すフローチャートである。
【図１６】スリット光無画像内において対応画素を探索する際の探索範囲を設定する方法を説明するための図である。
【図１７】手ぶれ量を考慮してスリット光無画像内の探索範囲を設定する方法を説明するための図である。
【符号の説明】
【０１４２】
１      撮像装置（３次元形状検出装置を含む）
２０      スリット光投光ユニット（パターン光投光手段）
３２      ＣＣＤ画像センサ（撮像手段）
５５      メモリカード
４２１    カメラ制御プログラム（撮像手段）
４２２    スリット光軌跡抽出プログラム（パターン光軌跡抽出手段  色相パラメータ算出手段  輝度パラメータ算出手段  強調パラメータ算出手段  パターン光検出手段）
４２３    三角測量演算プログラム（パターン光軌跡抽出手段）
４２４    原稿姿勢演算プログラム（３次元形状算出手段）
４２５    平面変換プログラム（平面画像補正手段）
４２６    輝度分散演算プログラム
４２７    相互相関係数演算プログラム
４２８    対応画素検索プログラム（検索手段）
４３１    スリット光有画像格納部（記憶手段）
４３２    スリット光無画像格納部
【図１】
2005128006.tif 000007
【図２】
2005128006.tif 000008
【図３】
2005128006.tif 000009
【図４】
2005128006.tif 000010
【図５】
2005128006.tif 000011
【図６】
2005128006.tif 000012
【図７】
2005128006.tif 000013
【図８】
2005128006.tif 000014
【図９】
2005128006.tif 000015
【図１０】
2005128006.tif 000016
【図１１】
2005128006.tif 000017
【図１２】
2005128006.tif 000018
【図１３】
2005128006.tif 000019
【図１４】
2005128006.tif 000020
【図１５】
2005128006.tif 000021
【図１６】
2005128006.tif 000022
【図１７】
2005128006.tif 000023