JP5257375B2 - 画像処理装置および画像処理方法 - Google Patents

画像処理装置および画像処理方法 Download PDF

Info

Publication number
JP5257375B2
JP5257375B2 JP2010024377A JP2010024377A JP5257375B2 JP 5257375 B2 JP5257375 B2 JP 5257375B2 JP 2010024377 A JP2010024377 A JP 2010024377A JP 2010024377 A JP2010024377 A JP 2010024377A JP 5257375 B2 JP5257375 B2 JP 5257375B2
Authority
JP
Japan
Prior art keywords
image data
unit
processing
image
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010024377A
Other languages
English (en)
Other versions
JP2010239610A (ja
Inventor
豊 木内
豊 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2010024377A priority Critical patent/JP5257375B2/ja
Priority to US12/714,285 priority patent/US8169504B2/en
Priority to EP20100154943 priority patent/EP2228768A1/en
Publication of JP2010239610A publication Critical patent/JP2010239610A/ja
Application granted granted Critical
Publication of JP5257375B2 publication Critical patent/JP5257375B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/40Image enhancement or restoration using histogram techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/741Circuitry for compensating brightness variation in the scene by increasing the dynamic range of the image compared to the dynamic range of the electronic image sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10141Special mode during image acquisition
    • G06T2207/10144Varying exposure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20208High dynamic range [HDR] image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)

Description

この発明は、異なる露光条件で複数回撮像して取得される複数の画像を合成して、ダイナミックレンジを拡大する画像処理装置および画像処理方法に関するものである。
FA(Factory Automation)分野などにおいては、製造過程の半製品や出荷前の製品などに生じる欠陥を光学的に検出したり、その大きさを光学的に計測したりする装置として、いわゆる視覚センサが実用化されている。
このような視覚センサを用いて検出や計測を行なう場合には、対象物を適切に撮像する必要がある。一般的に、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)画像センサなどの撮像素子のダイナミックレンジ(光を検出可能な階調範囲)は有限である。そのため、撮像時の露光時間が相対的に長くなると、全面的もしくは部分的に白飛び(ハレーション)を生じてしまい、対象物の輝度および色情報を正確に取得できない。逆に、撮像時の露光時間が相対的に短くなると、全面的もしくは部分的に黒つぶれを生じてしまい、有効な輝度を取得できない。さらに、局所的に反射率が異なる部分をもつ対象物や曲率の大きな部分をもつ対象物では、照明などの影響を受けて、局所的な白飛びや黒つぶれが発生し得る。
このように、同一の対象物から放射される光強度(単位時間当たりに入射する光エネルギー)の最小値と最大値との差が、撮像素子のダイナミックレンジの範囲を超える場合には、対象物の全体を適切に撮像することができないという問題があった。
そこで、同一の対象物を異なる露光条件で複数回撮像し、これによって取得される複数の画像を合成することで、ダイナミックレンジを拡大させる技術が知られている。このような処理は、ハイダイナミック合成処理やスーパーラチチュード処理(Super Latitude process)とも称される。たとえば特開2002−334326号公報(特許文献1)には、ダイナミックレンジ拡大を少ない計算処理負荷によって実現する視覚センサが開示されている。
特開2002−334326号公報
しかしながら、出力先の後続処理やデバイスのダイナミックレンジが制限されている場合には、上述のような画像合成処理によりダイナミックレンジを拡大した画像データを内部的に生成しても、出力時には、出力先のダイナミックレンジに適合させなければならない。すなわち、各画素がより多くの情報量を有する合成画像データに対して、その情報量を削減した上で出力せざるを得なかった。そのため、このような情報量を削減して出力された合成画像データに対してさらなる画像処理(たとえば、欠陥検出処理など)を行なおうとすると、ダイナミックレンジを拡大した合成画像データが有する情報量を有効に利用できないという課題があった。
そこで、この発明は、これらの問題を解決するためになされたものであり、その目的は、ダイナミックレンジを拡大した合成画像データを用いてより精度の高い画像処理を行なうことのできる画像処理装置および画像処理方法を提供することである。
この発明のある局面に従えば、露光条件を変更可能な撮像部に接続された画像処理装置を提供する。画像処理装置は、取得手段と、合成手段と、処理手段と、変換手段とを含む。取得手段は、撮像部を用いて異なる露光条件で複数回撮像を行なうことにより、複数の入力画像データを取得する。入力画像データは、撮像部の検出感度に応じた第1の階調範囲で規定される画素情報を有する。合成手段は、複数の入力画像データを合成することで合成画像データを生成する。合成画像データは、第1の階調範囲より広い第2の階調範囲で規定される画素情報を有する。処理手段は、合成画像データを対象として、撮像された対象物に関する検出または計測を容易化するための画像処理を行なうことにより、第2の階調範囲で規定される画素情報を有する処理画像データを生成する。変換手段は、処理画像データを第2の階調範囲より狭い第3の階調範囲で規定される画素情報を有する出力画像データに変換する。
好ましくは、処理手段は、合成画像データについての画像データ比較を行なうことで、処理画像データを生成する。
さらに好ましくは、処理手段は、合成画像データについての予め登録されたモデル画像データに対する画像差分を算出することで、処理画像データを生成する。
あるいは、さらに好ましくは、処理手段は、合成画像データに対して第1の平滑化処理を行なうことで第1の平滑化画像データを生成する手段と、合成画像データに対して第1の平滑化処理とは異なる第2の平滑化処理を行なうことで第2の平滑化画像データを生成する手段と、第1の平滑化画像データと第2の平滑化画像データとの間で画像差分を算出することで処理画像データを生成する手段とを含む。
好ましくは、処理手段は、合成画像データに含まれる画素情報についての特徴量を反映した処理画像データを生成する。
さらに好ましくは、処理手段は、合成画像データに含まれる各画素および当該画素に隣接する画素が有する画素情報から、当該画素に対応する処理画像データの各画素が有する画素情報を算出する。
好ましくは、画像処理装置は、さらに表示部に接続されており、第3の階調範囲は、表示部における表示可能階調に適合されている。
好ましくは、第3の階調範囲は、出力画像データの出力先デバイスに適合されている。
好ましくは、変換手段は、処理画像データが有する画素情報のうち、その値が所定範囲内であるものを第3の階調範囲における有効な値に割当てる。
さらに好ましくは、画像処理装置は、さらに、ユーザ指令を受付ける入力部と接続されており、変換手段は、入力部を介して下限値および上限値が設定されると、その画素情報の値が下限値と一致する画素に対して第3の階調範囲の下限値の階調値を割当て、その画素情報の値が上限値と一致する画素に対して第3の階調範囲の上限値の階調値を割当てる。
好ましくは、処理手段は、合成画像データの一部である画像データから処理画像データを生成する。
好ましくは、画像処理装置は、出力画像データを用いて、撮像された対象物に関する検出処理または計測処理を実行する検出計測手段をさらに含む。
この発明の別の局面に従えば、露光条件を変更可能な撮像部に接続された処理装置における画像処理方法を提供する。画像処理方法は、撮像部を用いて異なる露光条件で複数回撮像を行なうことにより、複数の入力画像データを取得するステップを含む。入力画像データは、撮像部の検出感度に応じた第1の階調範囲で規定される画素情報を有する。画像処理方法は、複数の入力画像データを合成することで合成画像データを生成するステップを含む。合成画像データは、第1の階調範囲より広い第2の階調範囲で規定される画素情報を有する。画像処理方法は、合成画像データを対象として、撮像された対象物に関する検出または計測を容易化するための画像処理を行なうことにより、第2の階調範囲で規定される画素情報を有する処理画像データを生成するステップと、処理画像データを第2の階調範囲より狭い第3の階調範囲で規定される画素情報を有する出力画像データに変換するステップとを含む。
好ましくは、処理ステップは、合成画像データについての画像データ比較を行なうことで、処理画像データを生成するステップを含む。
好ましくは、処理ステップは、合成画像データに含まれる画素情報についての特徴量を反映した処理画像データを生成するステップを含む。
この発明によれば、ダイナミックレンジを拡大した合成画像データを用いてより精度の高い画像処理を行なうことができる。
この発明の実施の形態に従う画像処理装置を含む視覚センサシステムの全体構成を示す概略図である。 この発明の実施の形態に従うコンピュータのハードウェア構成を示す概略構成図である。 ワークとして腕時計の裏面を撮像した場合の入力画像データを示す図である。 この発明の実施の形態に従う画像処理装置における処理概要を説明するための概念図である。 この発明の実施の形態に従う画像処理装置における処理概要を説明するための概念図である。 この発明の実施の形態に従う画像処理装置の全体制御構造を示す機能ブロック図である。 撮像部8に設定される露光時間と撮像に適した「明るさ」範囲との関係の一例を示す図である。 重み関数および応答関数の特性の一例を示す図である。 この発明の実施の形態に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。 この発明の実施の形態に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。 この発明の実施の形態に従う後処理部の制御構造を示す機能ブロック図である。 図11に示すマッピング部によるマッピング処理を説明するための図である。 この発明の実施の形態に従う画像処理装置のモニタに表示される差分抽出処理の選択時における画面表示例を示す図である。 この発明の実施の形態に従う画像処理装置のモニタに表示される差分抽出処理の選択時における画面表示例を示す図である。 この発明の実施の形態に従う差分抽出処理に用いられる合成画像データの一例を示す図である。 図15(a)に示す画像を対象にした場合における画面表示例を示す図である。 図15(b)に示す画像を対象にした場合における画面表示例を示す図である。 図17に示す画面において明度上下限範囲を変更した場合における画面表示例を示す図である。 この発明の実施の形態に従う差分抽出処理における位置補正処理において用いられる合成画像データの一例を示す図である。 図19(b)に示す画像を対象にした場合における画面表示例を示す図である。 この発明の実施の形態に従う差分抽出処理における補正モデルの登録時における画面表示例を示す図である。 この発明の実施の形態に従う後処理部の制御構造を示す機能ブロック図である。 この発明の実施の形態に従う画像処理装置のモニタに表示されるエッジ抽出処理の選択時における画面表示例を示す図である。 図15(a)に示すようなコネクタを撮像して得られた合成画像データに対してエッジ抽出処理を実行した結果(その1)を示す図である。 図15(a)に示すようなコネクタを撮像して得られた合成画像データに対してエッジ抽出処理を実行した結果(その2)を示す図である。 この発明の実施の形態に従うバンドパスフィルタ処理の各ステージにおける画像データの一例を示す図である。 この発明の実施の形態に従う画像処理装置のモニタに表示されるバンドパスフィルタ処理の選択時における画面表示例を示す図である。 この発明の実施に形態に従う画像処理装置における全体処理手順を示すフローチャートである。 この発明の実施に形態に従う画像処理装置におけるマッピング処理の手順を示すフローチャートである。 この発明の実施に形態に従う画像処理装置における差分抽出処理の手順を示すフローチャートである。 この発明の実施に形態に従う画像処理装置におけるエッジ抽出処理の手順を示すフローチャートである。 この発明の実施に形態に従う画像処理装置におけるバンドパスフィルタ処理の手順を示すフローチャートである。
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
[A.概要]
この発明の実施の形態に従う画像処理装置は、異なる露光条件で対象物(以下「ワーク」とも称す。)を複数回撮像することで複数の画像データ(以下「入力画像データ」とも称す。)を取得し、これらの取得した入力画像データがそれぞれ有する画素情報(色情報および輝度)を反映した合成画像データを生成する。このような画像合成処理によって、撮像部が固有に有しているダイナミックレンジ(検出感度に応じた階調範囲)に比較して、より広いダイナミックレンジをもつ画像データ(以下「合成画像データ」とも称す。)を生成する。
特に、本実施の形態によれば、より広いダイナミックレンジをもつ合成画像データを対象として直接的に各種の画像処理装置(後処理)を行なうとともに、その後処理によって得られた画像データ(以下「後処理後画像データ」とも称す。)を、出力先の階調範囲に適合したダイナミックレンジをもつ画像データ(以下「出力画像データ」とも称す。)に変換する。この後処理は、典型的には、撮像されたワークに関する検出または計測を容易化するための画像処理である。この後処理では、合成画像データが有するダイナミックレンジを維持したまま処理が行なわれる。そのため、後処理後画像データの生成時には、合成画像データの有する画素情報は失われない。なお、以下の説明では、後処理後画像データの生成処理と、後処理後画像データから出力画像データへの変換処理とを、「後処理」と総称する場合もある。
これにより、ダイナミックレンジを拡大した合成画像データを用いてより精度の高い画像処理を行なうことができるとともに、出力先の能力に応じた表示や処理などを行なうことができる。
以下、本実施の形態に従う画像処理装置の構成および合成画像データを生成するための画像合成処理について説明した後に、本実施の形態に従う画像処理装置で実施される各種の後処理について説明する。
[B.全体装置構成]
図1は、この発明の実施の形態に従う画像処理装置を含む視覚センサシステム1の全体構成を示す概略図である。
図1を参照して、視覚センサシステム1は、代表的に生産ラインなどに組込まれ、ワーク2における欠陥などを光学的に検出したり、その大きさなどを光学的に計測したりする。一例として、ワーク2は、ベルトコンベヤなどの搬送ライン6によって搬送される。なお、搬送開始や停止および搬送速度の変更といった搬送ライン6に対する制御は、図示しないPLC(Programmable Logic Controller)などによって行なうようにしてもよい。
搬送ライン6に対して所定の相対位置に配置された撮像部8は、ワーク2がその視野内に到達すると、複数回の撮像を開始する。このようなワーク2の到達は、搬送ライン6に設けたセンサによって検出される。典型的には、図1に示すように、搬送ライン6の両サイドに光電センサを配置し、その光電センサからの検出信号(以下「トリガ信号」とも称す。)に応答して、撮像部8による撮像が開始される。より具体的には、光電センサは、同一の光軸上に配置された受光部4aと投光部4bとからなり、投光部4bから放射される光がワーク2で遮蔽されることを受光部4aが検出することによって、トリガ信号が出力される。なお、画像合成処理が中止されている期間中には、撮像部8は、所定の周期で繰り返し撮像を行なうようにしてよい。
撮像部8による複数回の撮像によって取得された複数の入力画像データは、本実施の形態に従う画像処理装置を典型的に具現化する処理装置である、コンピュータ100へ伝送される。本実施の形態においては、主として、カラーの入力画像データを扱う処理について説明するが、モノクロの入力画像データについても同様に適用可能である。
一例として、撮像部8は、レンズなどの光学系に加えて、CCD(Coupled Charged Device)やCIS(Complementary Metal Oxide Semiconductor Image Sensor)センサといった、複数の画素に区画された撮像素子を含んで構成される。各画素に対応する撮像素子は、入射する光に対して1つまたは複数の分光感度を有している。
より具体的には、撮像部8の撮像素子は、典型的には、各画素について、光の三原色に基づく「赤色」「緑色」「青色」のそれぞれに分光感度を有している。そして、撮像部8の撮像素子は、入射する光についての「赤色」「緑色」「青色」の3色の検出値(R輝度、G輝度、B輝度)を出力する。ここで、たとえば、R輝度は、撮像素子に入射する光のうち、赤色の分光感度に含まれる波長成分に相当する光強度(ある露光時間内に入射した光エネルギー)の大きさを示す濃淡値に相当する。G輝度およびB輝度についても、それぞれ対応の分光感度に含まれる波長成分に相当する光強度の大きさを示す濃淡値に相当する。典型的に、本実施の形態においては、R輝度、G輝度、B輝度は、いずれも8ビット(0〜255階調)の範囲で規定されるものとする。すなわち、撮像部8は、その検出感度に応じた256の階調範囲で規定される画素情報をもつ入力画像データを出力する。もちろん、撮像部8から出力される入力画像データが有する画素情報は、より多くの情報量、たとえば、10ビットもしくは12ビットであってもよい。
さらに、撮像部が有する分光感度は3つ(3バンド)に限定されることなく、より多くの色に分光感度をもつようにしてもよい。このようなマルチバンドの撮像部を用いることで、より撮像可能な色域を拡大させることができる。あるいは、光の三原色の補色である「シアン」「マゼンダ」「黄色」の3色の検出値(C輝度、M輝度、Y輝度)を画素情報として含んでいてもよい。また、単板式のCCDなどを用いる場合には、各画素が「赤色」「緑色」「青色」のうちいずれか1色だけについて受光感度を有している場合がある。このような場合には、図示しない補間部によって、「赤色」「緑色」「青色」の各々についての画素情報をもつ入力画像データを生成してもよい。
また、撮像部8は、撮像時の露光条件を変更可能である。この露光条件とは、1回の撮像において撮像素子に入射する光エネルギーを調整するための値であり、代表的に、機械的または電子的なシャッター速度、光学系のしぼり量、および撮像対象物へ照射する照明強度などによって調整される。本実施の形態では、露光条件の代表例として、撮像対象物への照明強度は一定であるとして、「露光時間」を調整する構成について例示するが、露光時間に限られず、しぼり量や照明強度などを調整するようにしてもよい。
一方、コンピュータ100は、FD(Flexible Disk)駆動装置111およびCD−ROM(Compact Disk-Read Only Memory)駆動装置113を搭載するコンピュータ本体101と、出力部としてのモニタ102と、入力部としてのキーボード103およびマウス104とを含む。そして、コンピュータ本体101は、予め格納されたプログラムを実行することで、本実施の形態に従う画像処理装置を実現する。
[C.ハードウェア構成]
図2は、この発明の実施の形態に従うコンピュータ100のハードウェア構成を示す概略構成図である。
図2を参照して、コンピュータ本体101は、図1に示すFD駆動装置111およびCD−ROM駆動装置113に加えて、相互にバスで接続された、CPU(Central Processing Unit)105と、メモリ106と、固定ディスク107と、カメラインターフェイス部109と、PLCインターフェイス部115と、センサインターフェイス部117とを含む。
FD駆動装置111にはFD112が装着可能であり、CD−ROM駆動装置113にはCD−ROM114が装着可能である。上述したように、本実施の形態に従う画像処理は、典型的には、CPU105がメモリ106などのコンピュータハードウェアを用いて、プログラムを実行することで実現される。一般的に、このようなプログラムは、FD112やCD−ROM114などの記憶媒体に格納されて、またはネットワークなどを介して流通する。そして、このようなプログラムは、FD駆動装置111やCD−ROM駆動装置113などにより記憶媒体から読取られて、記録装置である固定ディスク107に一旦格納される。さらに、固定ディスク107からメモリ106に読出されて、CPU105により実行される。
CPU105は、プログラムされた命令を逐次実行することで、各種の演算を実施する演算処理部である。メモリ106は、CPU105でのプログラム実行に応じて、各種の情報を一時的に格納する。
カメラインターフェイス部109は、コンピュータ本体101と撮像部8との間のデータ通信を仲介する。より具体的には、カメラインターフェイス部109は、画像バッファ109aと露光時間設定部109bとを含む。画像バッファ109aは、撮像部8で撮像され逐次伝送される入力画像データを一旦蓄積し、1回の撮像分の入力画像データが蓄積されると、その蓄積されたデータをメモリ106または固定ディスク107へ転送する。露光時間設定部109bは、CPU105からの内部コマンドに従って、それぞれの撮像開始前に撮像部8にコマンドを送信し、撮像部8における露光時間を設定する。
PLCインターフェイス部115は、コンピュータ本体101と図示しないPLCとの間のデータ通信を仲介するための装置である。また、センサインターフェイス部117は、上述した光電センサなどからのトリガ信号を受信して、CPU105へ伝達する。
固定ディスク107は、CPU105が実行するプログラムや入力画像データなどを格納する不揮発性の記憶装置である。
コンピュータ本体101に接続されるモニタ102は、CPU105が出力する情報を表示するための表示部であって、一例としてLCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)などから構成される。
マウス104は、クリックやスライドなどの動作に応じたユーザからの指令を受付ける。キーボード103は、入力されるキーに応じたユーザからの指令を受付ける。なお、入力装置としては、キーボード103およびマウス104に限られることなく、タッチデバイスや押ボタンなどを用いることもできる。
[D.動作モード]
本実施の形態に従う視覚センサシステム1は、ワーク2を複数回撮像することで合成画像データを生成するとともに、必要に応じて当該合成画像データに対して検出や計測を実行する「稼動モード」と、ワーク2についての画像合成処理に係る設定を行なうための「設定モード」とを選択することが可能である。ユーザは、「設定モード」において、生成された合成画像データをモニタ102上で参照しながら、画像合成処理に係る設定を調整することができる。
[E.画像合成処理]
次に、合成画像データを生成するための画像合成処理について説明する。本実施の形態に従う画像合成処理は、主として、撮像部8における固有のダイナミックレンジより広いダイナミックレンジを有する画像データを合成するためのものである。
図3は、ワークとして腕時計の裏面を撮像した場合の入力画像データを示す図である。
図3(a)は、露光時間が相対的に長い条件下で1回の撮像により取得された入力画像データを示し、図3(b)は、露光時間が相対的に短い条件下で1回の撮像により取得された入力画像データを示す。なお、図3(a)および図3(b)において、入射する光強度は同じ条件であるとする。図3に示すワークは、金属製の時計本体部と皮革製のバンド部とを含む。両者の反射率は大きく異なるので、各部から放射される光強度(単位時間当たりに放射される光エネルギー)にも大きな差がある。
そのため、露光時間が長くなると、相対的に反射率の高い時計本体部は白飛びを生じてしまい、有効な画素情報を取得することができない。すなわち、図3(a)に示すように、時計本体部に記された文字が識別できなくなっていることがわかる。これに対して、露光時間が短くなると、相対的に反射率の低いバンド部から十分に光エネルギーを受光することができず、こちらについても有効な画素情報を取得することができない。すなわち、図3(b)に示すように、バンド部は黒つぶれを生じており、ステッチなどの欠陥が識別できなくなっていることがわかる。
そこで、本実施の形態に従う画像処理装置は、同一のワーク2を異なる露光条件(露光時間)で複数回撮像し、取得された複数の入力画像データから合成画像データを生成する。入力画像データは、撮像部8に入射する光強度の分布を示す画素情報(各色の輝度を示す階調値)を含んでおり、本実施の形態に従う画像処理装置は、各画素に対応するそれぞれの入力画像データに含まれる光強度を示す値(各色の輝度を示す階調値)と、対応する入力画像データの撮像時における露光条件(露光時間)とに基づいて、合成画像データの各画素の色情報(以下「合成色情報」とも称す。)および輝度(以下「合成輝度」とも称す。)を算出する。そして、合成色情報及び合成輝度に基づいて、合成画像データが生成される。
すなわち、合成輝度は、撮像部8の撮像素子に入射する光強度に応じた輝度値に相当し、有効ダイナミックレンジ内で一定以上の輝度分解能を有する。なお、有効ダイナミックレンジとは、合成輝度の最小値と最大値との差、あるいはこれらの間の範囲を意味する。
概略すると、この合成輝度の算出処理では、各画素について、入力画像データのそれぞれにおける光強度を示す値(輝度)が露光時間で規格化される。そして、その規格化された光強度の大きさが適切な範囲にあるものが優先的に採用される。言い換えれば、合成画像データにおける各画素の合成輝度は、複数の入力画像データの対応する画素がそれぞれもつ情報のうち、ワーク2から放射される光強度(単位時間当たりに入射する光エネルギー)に適した露光時間で撮像された画素がもつ情報を主成分として算出される。このような処理によって、適切な露光時間で撮像された輝度をもつ画素の集合として、合成画像データを生成できる。図3(c)は、本実施の形態に従う画像合成処理によって生成された合成画像データの一例を示す図である。図3(c)に示すように、上述の画像合成処理を行なうことで、図3(a)のような白飛びや図3(b)に示すような黒つぶれを含まない合成画像データを生成できる。
[F.処理概要]
図4および図5は、この発明の実施の形態に従う画像処理装置における処理概要を説明するための概念図である。図4は、後続処理として検出/計測処理が実行される場合の例を示し、図5は、後続処理としてモニタなどへの表示処理が実行される場合の例を示す。
図4および図5を参照して、本実施の形態に従う画像処理装置は、撮像部8に対して、異なる露光条件で複数回撮像を行なうことで、複数の入力画像データを取得する。入力画像データの各々は、撮像部8の検出感度に応じた階調範囲(ダイナミックレンジ)で規定される画素情報を有する。
そして、これらの複数の入力画像データに対して、画像合成処理を行なうことで、ダイナミックレンジが拡大された合成画像データが生成される。すなわち、合成画像データは、各入力画像データが有する画素情報の階調範囲より広い階調範囲(ダイナミックレンジ)で規定される画素情報を有する。
さらに、この合成画像データを対象として、撮像されたワークに関する検出または計測を容易化するための後処理を行なうことにより、後処理後画像データが生成される。この後処理後画像データは、合成画像データが有する画素情報の階調範囲と同じ階調範囲(ダイナミックレンジ)で規定される画素情報を有する。
さらに、一般的には、生成された後処理後画像データのうち、すべての画素情報ではなく、ユーザが指定した所定範囲に存在する画素情報のみを有効に含む出力画像データが生成される。このとき、出力先の後続処理やデバイスの階調範囲(ダイナミックレンジ)が制限されていれば、出力画像データのダイナミックレンジも出力先に適合するように制限される。すなわち、後処理後画像データの有する情報量を削減した上で、出力画像データが生成されることになる。言い換えれば、後処理画像データを合成画像データの階調範囲(ダイナミックレンジ)より狭い階調範囲で規定される画素情報を有する出力画像データに変換される。
たとえば、図4に示すように、出力画像データを検出処理または計測処理などの後続処理へ出力する場合には、出力画像データの各画素が有する画素情報は、当該検出/計測処理における処理可能階調に適合される。そして、この出力画像データに対して、検出処理や計測処理が実行される。
また、図5に示すように、出力画像データをモニタ102などの表示装置に出力する場合には、出力画像データの各画素が有する画素情報は、当該表示装置における表示可能階調に適合される。
より具体的には、本実施の形態においては、入力画像データおよび出力画像データがいずれも各色8ビット(256階調)の情報量を有し、合成画像データが各色32ビット(4.29×10階調)の情報量を有するものとする。
このように、情報量を削減した後の出力画像データに対して各種の後処理を行なう場合には、合成画像処理によって得られた明るさの情報量を十分に活用することができない。
そこで、本実施の形態に従う画像処理装置は、各種の後処理を行なうことが必要なアプリケーションにおいて、出力画像データではなくより多くの情報量を有する合成画像データに対して当該後処理を適用し、その処理結果を出力画像データとして出力する。
このような処理手順を採用することで、画像合成処理によって得られたより多くの情報量をそのまま活用することができるとともに、出力先の能力に応じた表示や処理などを行なうことができる。
なお、出力先デバイスには、上述するようなモニタ102に加えて、他の画像処理装置、プリンタ装置、プロッタ装置、情報発信装置などが含まれる。
[G.処理内容]
本実施の形態に従う画像処理装置は、主として以下の処理を実行する。
(1)ワークを異なる露光時間で複数回撮像する処理(撮像処理)
(2)撮像された入力画像データの輝度から合成輝度を算出する処理(輝度合成処理)
(3)撮像された入力画像データの色情報から合成色情報を算出する処理(色合成処理)
(4)合成色情報と合成輝度とから合成画像データを生成する処理(画像合成処理)
(5)合成画像データに各種の画像処理を実行した上で、その結果を出力画像データとして出力する処理(後処理)
(6)(必要に応じて)出力画像データを用いて、前記撮像されたワークに関する検出処理または計測処理を実行する処理(検出/計測処理)
以下、まず(1)〜(4)の処理の概略について説明した後、典型的な(5)後処理の例として、合成画像データに基づいて画像データ比較を行なうことで画像データを生成する処理、および合成画像データに含まれる画素情報についての特徴量を反映した画像データを生成する処理について説明する。
[H.全体制御構造]
図6は、この発明の実施の形態に従う画像処理装置の全体制御構造を示す機能ブロック図である。
図6を参照して、画像処理装置は、上述の(1)撮像処理を実現するための制御構造として、撮像制御部200と、選択部202と、画像バッファ204a〜204hとを含み、上述の(2)輝度合成処理を実現するための制御構造として、画像情報抽出部206a〜206hと、輝度合成部210と、ヒストグラム生成部214とを含み、上述の(3)色合成処理を実現するための制御構造として、画像情報抽出部206a〜206hと、色合成部208を含み、上述の(4)画像合成処理を実現するための制御構造として、画像合成部212を含み、上述の(5)後処理を実現するための制御構造として、後処理部230A(あるいは、後処理部230Bまたは230C)を含み、上述の(6)検出/計測処理を実現するための制御構造として検出/計測部240を含む。
以下、本実施の形態に従う画像処理装置における各処理の内容を各機能ブロックの動作とともに説明する。
(1)撮像処理
図6を参照して、撮像制御部200は、撮像部8を用いて同一のワーク2を異なる露光条件(露光時間)で複数回撮像を行なうことにより複数の入力画像データを取得する。これらの入力画像データは、それぞれの撮像タイミングにおける撮像部8の視野の内容を示すものとなる。撮像制御部200は、ユーザ設定に応じて、どのように露光条件に設定すべきかについて決定する。より具体的には、本実施の形態に従う撮像部8は、一例として、シャッター速度を任意に設定可能な電子シャッターを有しており、これにより露光時間を任意に変更可能である。その変更可能な露光時間は、一例として「1/125秒」,「1/250秒」,「1/500秒」,「1/1000秒」,「1/2000秒」,「1/4000秒」,「1/8000秒」,「1/16000秒」の8通りを標準として含む。この変更可能な露光時間群は、「1/125秒」を基準(最も遅い値)として、2のべき乗で順次早くなるように設定されている。
撮像制御部200は、予め定められる設定値(撮像回数および各撮像における露光時間など)に従って、各撮像前に撮像部8への露光時間の設定と、撮像部8を用いて当該設定された露光時間でワーク2の撮像とを繰返し実行する。さらに、撮像制御部200は、各撮像に同期して、選択部202に選択指令を与え、撮像部8がワーク2を逐次撮像することで生成される入力画像データを画像バッファ204a〜204hに逐次的に格納する。
選択部202は、撮像部8と、画像バッファ204a〜204hとの間に配置され、撮像制御部200からの選択指令に応じて、画像バッファ204a〜204hのいずれか1つと撮像部8とを電気的に接続する。このような動作によって、これにより、撮像部8がワーク2を撮像することで生成される入力画像データは、画像バッファ204a〜204hに逐次的に記憶される。なお、以下では、画像バッファ204a〜204hを総称して「画像バッファ204」とも記す。
画像バッファ204は、撮像部8の露光時間に対応付けて配置されており、対応する特定の露光時間において撮像された入力画像データを記憶する。たとえば、画像バッファ204aは、露光時間が「1/125秒」の条件で撮像された入力画像データをもっぱら記憶し、画像バッファ204bは、露光時間が「1/250秒」の条件で撮像された入力画像データをもっぱら記憶するといった具合である。
なお、後述するように、合成画像データを生成する際には、撮像部8に設定可能なすべての露光時間でワーク2を撮像する必要はない。すなわち、ワーク2が放射する光強度に応じて、適切な「明るさ」範囲を含むように、複数の露光時間が設定される。
(2)輝度合成処理
画像情報抽出部206a〜206hは、それぞれ画像バッファ204a〜204hに対応付けられており、対応の画像バッファ204に記憶されている入力画像データから、色情報および輝度をそれぞれ抽出する。代表的に、入力画像データは、各画素に入射する光エネルギーに応じた値である3色の輝度(R輝度、G輝度、B輝度)を含むものとする。入力画像データの色情報は、これらの3色の輝度を規格化した上で、各輝度の相対関係(相対比)を表わしたものである。また、入力画像データの輝度は、各画素に入射する光エネルギーを総合的に表わしたものであり、3色の輝度の平均値(あるいは、総和)に相当する。
そして、画像情報抽出部206a〜206hは、抽出した色情報を色合成部208へ出力するとともに、抽出した輝度を色合成部208および輝度合成部210へ出力する。
輝度合成部210は、撮像部8による一連の複数回の撮像(1枚の合成画像データを生成するのに必要なすべての撮像)が完了した後、それぞれの入力画像データの輝度を対応する露光時間によってそれぞれ規格化した上で、各画素の合成輝度として算出する。上述したように、撮像部8における露光時間を変更することで、撮像に適した光強度の範囲が変動する。すなわち、露光時間が相対的に短ければ、光強度のより大きな範囲の撮像に適し、露光時間が相対的に長ければ、光強度のより小さな範囲の撮像に適する。
そこで、本明細書においては、ワークから放射される光強度の大きさに応じた「明るさ」という指標を用いる。なお、「明るさ」は、撮像部8の性能に依存する相対的な値であり、同じ「明るさ」であっても、撮像素子の感度や光学系の開放値などが異なれば、実際の光強度(もしくは、光エネルギー)は異なったものとなる。
一般的に、撮像部8(撮像素子)に入射する光エネルギーの大きさは、露光時間に比例すると考えられる。そのため、本明細書における「明るさ」としては、代表的に、撮像部8で検出された輝度を露光時間で割り、その値について対数をとったものを採用する。したがって、本明細書における「明るさ」は、単位露光時間あたりの光エネルギー(すなわち、光強度)の大きさを示す指標である。このような「明るさ」を用いることで、撮像部8に設定可能な各露光時間に対応させて、撮像部8による撮像に適した「明るさ」範囲を予め規定することができる。
より具体的には、本実施の形態に従う撮像部8に設定可能な8つの露光時間は、2のべき乗で順次短くなるようになっているので、各露光時間と「明るさ」との対応関係を図7のように定めることができる。
図7は、撮像部8に設定される露光時間と撮像に適した「明るさ」範囲との関係の一例を示す図である。図7を参照して、露光時間が「1/125秒」である場合に撮像に適した「明るさ」範囲を「10〜30」に設定すると、露光時間を1/2倍した「1/250秒」である場合には、撮像に適した「明るさ」範囲を「10」だけ加算した「20〜40」に設定できる。このように逐次設定することで、露光時間を「1/125秒」〜「1/16000秒」の範囲に対応付けて、「10〜100」の「明るさ」範囲をカバーするように設定できる。
また、複数の露光時間がカバーするように、それぞれの「明るさ」範囲を設定することが好ましい。図7に示す例においては、「明るさ」範囲が10〜90のいずれの位置においても、少なくとも2つの露光時間によってカバーするように設定されている。すなわち、たとえばその「明るさ」範囲に「60」を含む露光時間は、「1/1000秒」,「1/2000秒」,「1/4000秒」の3つである。このような設定を行なうことで、異なる露光時間で複数回の撮像が行なわれるように設定される。
この図7に示す露光時間と「明るさ」範囲との関係は、撮像部8で撮像可能な「明るさ」範囲のうち、ユーザによって必要な「明るさ」範囲が設定されると、当該設定に対応する複数の露光時間の各々での撮像が行なわれるようになる。すなわち、撮像部8に設定可能なすべての露光時間において撮像が行なわれるのではなく、特定の露光時間における撮像のみを行なうことで、1枚の合成画像データの生成に要する処理時間を短縮することもできる。
より具体的には、ユーザによって、たとえば「明るさ」範囲が「30〜50」に設定された場合には、その範囲内に含まれる「1/250秒」,「1/500秒」,「1/1000秒」の露光時間で1処理あたり3回の撮像が行なわれる。
再度、図6を参照して、輝度合成部210は、ワーク2に対する一連の撮像によって取得された複数の入力画像データを用いて、合成画像データの各画素の輝度である合成輝度を算出する。より具体的には、輝度合成部210は、合成画像データの各画素(座標位置i)に対応するP個の入力画像データにおけるそれぞれの画素の輝度を露光時間で規格化することで、各画素の合成輝度Eを算出する。輝度合成部210による合成輝度Eの算出式は(1)式のようになる。
(1)式において、「ln(g(Zi,j)−lnΔt)」の項が、各入力画像データにおける輝度を露光時間で規格化した上で、「明るさ」として評価した値に相当する。これは、たとえば同じ輝度「128」であっても、露光時間が相対的に短ければ、その実際の「明るさ」はより大きな値として評価すべきであり、露光時間が相対的に長ければ、その実際の「明るさ」はより小さな値として評価すべきであるという技術思想に基づくものである。すなわち、上記の項は、ln{g(Zi,j)/Δt}と変形できるように、対応の入力画像データの撮像時の露光時間に応じた係数1/Δtを乗じることで露光時間による規格化(=g(Zi,j)/Δt)を行ない、この規格化した値を用いて合成輝度Eが算出される。
代表的に、合成輝度Eは、図7に示す各露光時間と「明るさ」範囲との関係に従って、0〜100の範囲の値として算出される。なお、理解を容易にするために、0〜100の範囲で表しているが、合成して得られる画像データの「明るさ」の階調範囲は、1回の撮像で取得される画像データがもつ階調範囲よりも広くなることから、データとしては、小数点以下の桁も有する値である(たとえば、32ビットのデータを用いて小数点以下4桁ないし5桁までの値として取扱う)。
上式においては、さらに、重み関数w(Z)と撮像部8の撮像素子の応答関数g(Z)を導入している。図8を参照して、これらの関数について説明する。
図8は、重み関数および応答関数の特性の一例を示す図である。図8(a)は、重み関数w(Z)の特性を示し、図8(b)は、応答関数g(Z)の特性を示す。
図8(a)を参照して、重み関数w(Z)は、撮像部8から出力される輝度の値に応じて、その信頼度を反映するための関数である。すなわち、ある露光時間において、撮像部8から出力される輝度のうち、その下限値(0)または上限値(255)に近い値は、その中間値(128)に近い値に比較して信頼度が低いと考えられる。換言すれば、仮に撮像部8がある露光時間において最も適した「明るさ」をもつ対象物を撮像すると、その輝度はほぼ中間値になると考えられる。
そこで、このような特性を考慮して、重み関数w(Z)としては、輝度の変動範囲における中間値の近傍に比較して、下限値または上限値の近傍の値がより小さくなるような関数を用いることが好ましい。一例として、本実施の形態では、輝度の変動範囲の中間値が最大値(128)となるとともに、下限値および上限値でそれぞれゼロとなるような三角形状の重み関数を採用する。このような重み関数を採用することで、露光時間毎の入力画像データのうち、その輝度が所定範囲内にあるものを優先的に採用して合成輝度が算出される。
また、図8(b)を採用して、応答関数g(Z)は、撮像部8から出力される輝度分布と実際に撮像部8に入力する光エネルギー分布との間の非線形性を補償するための関数である。たとえば、CCDなどの撮像素子では、入力する光エネルギーあるいは光強度と出力される電圧信号との関係は非線形となる。このような非線形特性はガンマ特性などとも称される。応答関数g(Z)は、このようなガンマ特性を補償して、撮像部8から出力される輝度を、実際に撮像部8に入力する光エネルギーに比例するように補正するものである。なお、図8(b)には、簡単化のため、撮像部8から出力される輝度が入力する光エネルギーと比例関係にある場合の応答関数g(Z)を示す。
なお、上式中の定数項の「C」は、各露光時間と「明るさ」範囲との関係を図7のように定めた場合に生じるオフセットを補償するための項であり、各露光時間と「明るさ」範囲との関係に応じて適宜設定することができる。
また、上式中では、ネイピア数「e」を底にした自然対数を用いているが、必ずしも「e」に限定されるものではなく、「2」を底にした対数や「10」を底にした常用対数などを用いてもよい。
再度、図6を参照して、輝度合成部210は、算出した合成輝度Eをヒストグラム生成部214へ出力する。ヒストグラム生成部214は、合成輝度Eについてのヒストグラムを生成する。すなわち、ヒストグラム生成部214は、合成輝度Eの分布をモニタ102に表示させるための分布データを生成する。より具体的には、輝度合成部210は、各画素の合成輝度Eを所定幅の階級に区分した上で各階級の頻度を算出する。これは、ユーザが、輝度合成部210によって算出される合成輝度Eのうち相対的に比率の高い範囲を参照しながら、「明るさ」上限値および「明るさ」下限値を初期設定することを支援する。
また、ヒストグラム生成部214は、ユーザ設定に応じて、ヒストグラムの生成処理を中断または再開可能に構成されてもよい。
(3)色合成処理
色合成部208は、複数の入力画像データの色情報から合成色情報を算出する。後述するように、合成画像データは、色合成部208で算出される各画素の合成色情報に、輝度合成部210によって算出される対応する画素の合成輝度Eを乗じて得られる。そのため、色合成部208から出力される合成色情報は、各画素の濃度の情報をもたない、「赤色」、「緑色」、「青色」の相対的な比を示す値となる。
また、色合成部208は、上述の輝度合成部210と同様に、各座標位置に対応する複数の入力画像データにおけるそれぞれの画素の色情報に基づいて、合成画像データの各画素の合成色情報を算出する。より具体的には、色合成部208は、各入力画像データの色情報と、その信頼度に応じた重みとを乗算した値を累積加算することで、合成色情報を算出する。
ここで、j番目の入力画像データの座標位置i(0≦i≦画素数n)における色情報を(ri,j,gi,j,bi,j)とする。但し、色合成部208は、画像情報抽出部206a〜206hから出力される色情報を、ri,j+gi,j+bi,j=1が成立するように予め規格化する。また、j番目の入力画像データの座標位置iにおける輝度をZi,jとする。この規格化された色情報および輝度を用いると、合成色情報(r,g,b)の算出式は(2.1)〜(2.3)式のようになる。
ここで、重み関数w(Z)は、図8(a)と同様の特性を有する。すなわち重み関数w(Z)は、撮像部8から出力される輝度の値に応じて、その信頼度を反映するための関数である。この重み関数w(Z)の技術的な意味については、上述したので詳細な説明は繰返さない。
そして、色合成部208は、算出した合成色情報を画像合成部212へ出力する。
(4)画像合成処理
画像合成部212は、輝度合成部210によって算出された合成輝度Eを、対応する合成色情報(r,g,b)に順次乗じることによって、座標位置iの画素の画像情報を順次算出し、これによって合成画像データを生成する。
すなわち、合成画像データの座標位置iの座標における絶対的な色情報(R,G,B)は、以下のように表わすことができる。
(R,G,B)=E×(r,g,b
以上のような手順に従って、合成画像データが最終的に生成される。
(5)後処理
後処理部230A,230B,230Cは、画像合成部212から出力される合成画像データを対象として、撮像されたワーク2に関する検出または計測を容易化するための後処理を行なうことにより後処理後画像データを生成し、さらに、後処理後画像データのダイナミックレンジを低減することで出力画像データを生成する。この後処理の内容については、後述の[J]項にて詳述する。
(6)計測/検出処理
検出/計測部240は、後処理部230A,230B,230Cから出力される出力画像データを用いて、撮像されたワーク2に関する検出処理または計測処理を実行する。なお、検出処理および計測処理としては、公知の画像処理技術を用いることができる。すなわち、たとえば、撮像されたワークに対して、予め登録されたモデルに基づくパターンサーチや欠陥検出といった処理、ならびに、撮像されたワークの大きさ・傾き・位置などを計測する処理などが用いられる。
検出/計測部240は、検出処理または計測処理によって得られた結果(結果画像データや検出/計測値)を出力する。
(その他)
撮像制御部200は、撮像開始から1枚の合成画像データの生成までに要する見込みの処理時間(合成時間)を算出する。より具体的には、撮像制御部200は、撮像部8による撮像回数、各撮像における露光時間、画像合成処理の処理量などを考慮して合成時間を推定する。ユーザは、この合成時間を参照して、実際の生産ラインに適用可能な設定であるか否かを判断する。
[I.ユーザインターフェイス例]
本実施の形態に従う画像合成処理についての理解を容易にするために、図9および図10を参照して、モニタ102(図1)に表示される画像合成処理に係るユーザインターフェイスの一例について説明する。
図9および図10は、この発明の実施の形態に従う画像処理装置のモニタ102に表示される「設定モード」における画面表示例を示す図である。なお、CPU105および図示しないグラフィックボードなどが協働することで、図9および図10に示すようなユーザインターフェイスを提供する。このような画面表示は、OS(Operating System)の一部として組込まれるGUI(Graphical User Interface)プログラムによって実現され、またGUIは、ユーザがキーボード103やマウス104により操作される画面上のカーソルを用いて、さまざまなユーザ設定を行なうための環境も提供する。
「設定モード」では各種設定を行なうことが可能であり、図9および図10に示すように、一例として、「カメラ設定」「HDR設定」「HDR設定2」「明度追従設定」「画像調整設定」「ホワイトバランス」「キャリブレーション」といった計7個のタブが選択可能な画面が表示される。以下の説明では、本実施の形態に従う画像合成処理に係る主な設定を行なうための「HDR設定」タブ410および「HDR設定2」タブ411がそれぞれ選択された場合のユーザインターフェイスについて説明する。なお、その他の初期設定(撮像部8などの配置や初期設定)は完了しているものとする。すなわち、撮像部8の撮像によって、基準ワークの像を含む複数の入力画像データが取得されているものとする。
図9には、「HDR設定」タブ410が選択された場合に表示される設定画面400の一例を示す。この図9に示す設定画面400は、露光条件を含む画像合成処理に係る設定(以下「合成処理設定」とも称す。)を受付ける。
設定画面400は、モード設定エリア416と、撮像設定エリア420と、撮像設定表示エリア418と、画像表示エリア412と、表示制御アイコン群413と、全体表示エリア414とを含む。
モード設定エリア416には、ダイナミックレンジを拡大するための画像合成処理を示す「HDRモード」と、さらにコントラストを高めた画像合成処理を示す「ハイコントラストモード」がラジオボタン形式で選択可能に表示される。
撮像設定エリア420には、生成されている合成画像データの「明るさ」についてのヒストグラム422が表示されるとともに、ユーザ設定された「明るさ」上限値および下限値を示すインジケータ426および424がそれぞれ表示される。なお、ヒストグラム422は、ヒストグラム生成部214(図6)によって適宜生成される。
また、撮像設定エリア420には、「明るさ」下限値を設定するためのスライドバー434、および「明るさ」上限値を設定するためのスライドバー436が変更可能に表示される。このスライドバー434および436に対するユーザ操作に従って、「明るさ」上下限範囲が適宜変更される。さらに、撮像設定エリア420には、「明るさ」下限値および上限値の直接的な数値入力を受付ける数値入力ボックス430も表示される。
このスライドバー434もしくは436、または数値入力ボックス430に対するユーザ操作によって設定される「明るさ」上下限範囲(「明るさ」上限値および「明るさ」下限値)に応じて、撮像条件を含む合成処理設定、および図4に示す合成画像データのうち出力画像データとすべき範囲(表示レンジ)が設定される。すなわち、ユーザは、表示されるヒストグラム422を参照しながら、所望の「明るさ」上下限範囲を設定する。初期値の「明るさ」上下限範囲としては、ヒストグラム422のほぼ全体をカバーできるような範囲が好ましい。
撮像設定表示エリア418には、このように決定された合成処理設定値の内容が表示される。具体的な一例として、撮像設定表示エリア418には、1回の画像合成に要する入力画像の枚数(撮像枚数)および1回の画像合成に要する時間(合成時間)などが表示される。
画像表示エリア412には、上述のように決定された合成処理設定値に従って、撮像および画像合成処理されることで生成される合成画像データに基づく画像表示がなされる。この画像表示エリア412には、稼動モードにおいて検出や計測に用いられる合成画像データに相当する画像が表示される。そのため、ユーザ等は、この画像表示エリア412に表示される画像を参照して、「明るさ」上下限範囲などを調整する。また、表示制御アイコン群413に対するユーザ操作に応じて、画像表示エリア412における画像の表示サイズが変更可能となっている。
全体表示エリア414には、画像表示エリア412に表示されている画像と同じ画像が縮小表示される。但し、全体表示エリア414には、画像表示エリア412での表示サイズとは独立して、表示対象の画像が常に全体表示される。すなわち、画像表示エリア412には、画像表示エリア412に表示中の画像が画像全体のうちいずれの領域にあるのかを示す。これにより、ユーザは、合成画像の全体を把握しながら、注目すべき部分(領域)を拡大して観察することもできる。
なお、後述する合成画像データに対する後処理の実行を希望しないユーザは、図9に示す設定画面400において必要な設定を完了させることができる。
図10には、「HDR設定2」タブ411が選択された場合に表示される設定画面401の一例を示す。この図10に示す設定画面401は、合成画像データに対する後処理に係る設定(以下「後処理設定」とも称す。)を受付ける。
設定画面401は、合成設定エリア440と、表示設定エリア419と、撮像設定表示エリア418と、画像表示エリア412と、表示制御アイコン群413と、全体表示エリア414とを含む。
合成設定エリア440には、本実施の形態に従う各種の後処理を選択するためのプルダウンボックスが表示される。このプルダウンボックスには、典型例として、「なし」、「差分抽出」、「エッジ抽出」、「バンドパスフィルタ」、「色抽出」の合計5つの項目が選択可能に表示される。このうち、「なし」の項目が選択されると、本実施の形態に従う後処理は無効化される。一方、他の4つの項目のいずれかが選択されると、選択された項目の後処理が合成画像データに対して実行される。なお、他の後処理としては、ハイパスフィルタやローパスフィルタなどを採用することもできる。
表示設定エリア419には、画像表示エリア412および全体表示エリア414に表示すべき画像を選択するためのプルダウンメニュー(図示しない)が表示される。このプルダウンメニューには、「HDR画像」、「モデル画像」、「差分画像」、「1枚目入力画像」、「2枚目入力画像」、・・・、「n枚目入力画像」といった項目が選択可能に表示される。
「HDR画像」が選択されると、画像合成処理によって得られた合成画像データに基づく画像表示がなされる。
「モデル画像」および「差分画像」は、合成設定エリア440において「差分抽出」が選択された場合に限って選択可能である。そして、「モデル画像」が選択されると、「差分抽出」処理に係る予め登録されたモデル画像が表示される。また、「差分画像」が選択されると、「差分抽出」処理によって得られた差分画像データに基づく画像表示がなされる。
「1枚目入力画像」、「2枚目入力画像」、・・・、「n枚目入力画像」は、画像合成処理に用いられる撮像部8によって取得された複数の入力画像データの「1番目」、「2番目」、・・・、「n番目」に基づく画像表示がなされる。
なお、設定画面401に含まれる、撮像設定表示エリア418と、画像表示エリア412と、表示制御アイコン群413と、全体表示エリア414とについては、設定画面400と同様であるので、詳細な説明は繰返さない。
[J.後処理]
以下、後処理の典型例として、差分抽出処理、エッジ抽出処理、バンドパスフィルタ処理、色抽出処理について説明する。
(j1.差分抽出処理)
<1.構成>
以下、図10に示す設定画面401の合成設定エリア440において「差分抽出」が選択された場合に実行される後処理として、差分抽出処理について説明する。この差分抽出処理は、予め登録されたモデル画像データと画像合成処理により生成された合成画像データとの色差分を抽出する処理である。すなわち、生成された合成画像データと予め登録されたモデル画像データとを比較することで、合成画像データについてのモデル画像データに対する画像差分を算出する処理である。
このような差分抽出処理は、同一の製品が連続的に製造されている生産ラインなどにおいて、欠陥などが発生したワークを検出する場合などに用いられる。
図11は、この発明の実施の形態に従う後処理部230A(図6)の制御構造を示す機能ブロック図である。図11を参照して、後処理部230Aは、セレクタ2301と、前処理部2302と、差分抽出部2303と、モデル抽出部2304と、モデル格納部2305と、サーチ部2306と、マッピング部2307と、ヒストグラム生成部2308とを含む。
セレクタ2301は、画像合成部212(図6)から出力される合成画像データを入力し、その合成画像データを、ユーザ設定に応じて、前処理部2302およびサーチ部2306、もしくはモデル抽出部2304へ選択的に出力する。すなわち、通常の差分抽出処理においては、セレクタ2301は、入力された合成画像データを前処理部2302およびサーチ部2306へ出力するが、モデル画像データに登録時(後述する)には、入力された合成画像データをモデル抽出部2304へ出力する。
モデル抽出部2304は、合成画像データに対して、ユーザが設定する(その操作については後述する)モデル領域に含まれる部分画像データを抽出して、モデル画像データとしてモデル格納部2305へ出力する。モデル格納部2305は、モデル抽出部2304から受けたモデル画像データを格納するとともに、必要に応じて、格納しているモデル画像データをサーチ部2306および/または差分抽出部2303へ出力する。
前処理部2302およびサーチ部2306は、後述する位置修正処理を行なうための機能ブロックである。より具体的には、セレクタ2301から新たな合成画像データが出力されると、サーチ部2306はモデル格納部2305に格納されているモデル画像データとの間で最も類似度の高い部分をサーチし、そのサーチ結果を前処理部2302へ出力する。前処理部2302は、サーチ部2306からのサーチ結果に従って、合成画像データの位置および/またはサイズを修正するための画像変換を行なった上で、変換後の合成画像データを差分抽出部2303へ出力する。なお、前処理部2302およびサーチ部2306による位置修正処理は、ユーザ設定に応じて無効化される場合もある。
差分抽出部2303は、前処理部2302から入力された(変換後の)合成画像データと、モデル格納部2305から入力されたモデル画像データとの間で差分を抽出することで、差分画像データ(後処理後画像データ)を生成する。より具体的には、差分抽出部2303は、合成画像データの座標位置iにおける色情報(R,G,B)と、モデル画像データの対応する座標位置iにおける色情報(R(m) ,G(m) ,B(m) )との色差ベクトルを算出し、さらにこの色差ベクトルの絶対値を、差分画像データの座標位置iにおける明度Vとして算出する。このようにして、差分抽出部2303は、すべての画素について算出した明度Vを含む差分画像データを出力する。なお、差分抽出部2303は、入力される合成画像データのもつ階調範囲(各色32ビット)と同等の階調範囲をもつ明度Vを出力する。
マッピング部2307は、差分抽出部2303で算出された差分値(すなわち、明度V)をより狭い所定の階調範囲に制限して、出力画像データとして出力する。具体的には、マッピング部2307は、各画素の明度Vを対応する座標位置iにおける階調値Y(たとえば、0〜255階調値)に割当てることで、合成画像データの濃淡値(明度)を決定する。一般的に、各画素の明度Vの階調範囲は、階調値Yの階調範囲より広い。すなわち、マッピング部2307は、所定の階調範囲の値をもつ明度Vをより狭い階調範囲の階調値Yに変換する。
図12は、図11に示すマッピング部2307によるマッピング処理を説明するための図である。図12を参照して、差分画像データの各画素が有するの明度Vをその比例関係を保ったまま、0〜255の範囲の階調値へ変換する場合の処理について例示する。後述するように、ユーザによってマッピングの範囲(明度上限値Vmaxと明度下限値Vmin)が設定された場合には、マッピング部2307は、以下のような変換式に従って階調値Yへの割当てを行なう。
(i)V<Vmin:Y=0
(ii)Vmin≦V≦Vmax:Y=255×(V−Vmin)/(Vmax−Vmin
(iii)Vmax<V:Y=255
このように、マッピング部2307において、明度Vから階調値Yへの変換に用いられる対応関係は、明度上限値Vmaxおよび明度下限値Vminを変更することで、適宜更新されることになる。
なお、説明を簡素化するために、図12には線形のマッピング処理を行なう場合について例示するが、人間の視感度などに応じて、非線形のマッピング処理を採用してもよい。その一例として、以下のような変換式を用いてもよい。
(ii’)Vmin≦V≦Vmax:Y=255×log{(V−Vmin)}/log{(Vmax−Vmin)}
このような非線形の変換式を採用することで、明度の高すぎる画素を相対的に低い階調値に変換するとともに、明度の低すぎる画素を相対的に高い階調値に変換するので、白飛びや黒つぶれを少なくすることができる。
上述の変換式に示されるように、明度上限値Vmaxより大きな明度Vをもつ画素は、すべて最大の階調値(たとえば、255)に制限(保持)されるので、その明度についての情報は失われる。同様に、明度下限値Vminより小さな明度Vをもつ画素についても、すべて最小の階調値(たとえば、0)に制限(保持)されるので、その明度についての情報は失われる。したがって、その明度Vの値が明度下限値Vminから明度上限値Vmaxの範囲にある画素のみが出力画像データ上で有効な階調値をもつ画素となる。すなわち、マッピング部2307は、差分画像データが有する明度Vのうち、その値が所定範囲内であるものを階調範囲における有効な値に割当てる。言い換えれば、マッピング部2307は、ユーザによって明度上限値Vmaxおよび明度下限値Vminが設定されると、その明度Vの値が明度下限値Vminと一致する画素に対して階調値Yにおける下限値(0)を割当て、その明度Vの値が明度上限値Vmaxと一致する画素に対して階調値Yにおける上限値(255)を割当てる。
図11に戻って、ヒストグラム生成部2308は、差分画像データに含まれる画素の明度Vについてのヒストグラムを生成する。すなわち、ヒストグラム生成部2308は、差分画像データに含まれる画素の明度Vの分布をモニタ102に表示させるための分布データを生成する。より具体的には、ヒストグラム生成部2308は、各画素の明度Vを所定幅の階級に区分した上で各階級の頻度を算出する。このヒストグラム生成部2308により生成されるヒストグラムを参照することで、ユーザは、どの範囲の明度をもつ画素を出力画像データとして出力すべきかを容易に設定することができる。
撮像部8により撮像される入力画像データに基づいて生成された合成画像データの色情報と、予め登録されたモデル画像データの色情報とが完全に一致することはまれであると想定される。そのため、このような色情報の誤差と思われる部分については、明度下限値Vminの値を適切に設定してマスクすることが好ましい。一方、どのような欠陥が発生し得るのか予めわからない場合も多いと想定される。すなわち、明度上限値Vmaxをどの程度の値に設定すべきかを差分画像を見ただけでは分からない場合もあると考えられる。
そこで、本実施の形態に従う画像処理装置においては、差分画像データに含まれる画素の明度の分布状態をユーザに提供することで、明度上限値Vmaxおよび明度下限値Vminをより容易に適切な範囲に設定できるようにする。
<2.ユーザインターフェイス例>
上述した差分抽出処理についての理解を容易にするために、図13および図14を参照して、モニタ102(図1)に表示される差分抽出処理に係るユーザインターフェイスの一例について説明する。
図13および図14は、この発明の実施の形態に従う画像処理装置のモニタ102に表示される差分抽出処理の選択時における画面表示例を示す図である。
図13には、図10に示す合成設定エリア440において、フィルタ処理プルダウンボックス441で「差分抽出」の項目が選択された場合に表示される設定画面402の一例を示す。この図13に示す設定画面402は、合成設定エリア440Aと、表示設定エリア419と、撮像設定表示エリア418と、画像表示エリア412と、表示制御アイコン群413と、全体表示エリア414とを含む。なお、表示設定エリア419と、撮像設定表示エリア418と、画像表示エリア412と、表示制御アイコン群413と、全体表示エリア414とについては、上述の図10に示す設定画面401と同様であるので、詳細な説明は繰返さない。
合成設定エリア440Aは、図10に示す合成設定エリア440に、差分モデル登録ボタン442と、位置修正画像プルダウンボックス444と、修正モデル登録ボタン445と、位置修正チェックボックス447と、ヒストグラム表示エリア450とを加えたものに相当する。
差分モデル登録ボタン442は、差分抽出処理に用いるモデル画像データを登録するための指令を受付ける。なお、モデル画像データが未だ登録されていない場合には、差分モデル登録ボタン442に隣接して、「差分モデルが登録されていません」というメッセージ443が表示される。この差分モデル登録ボタン442が選択されると、図14に示すモデル画像データを登録するための領域設定画面403に遷移する。
図14を参照して、領域設定画面403には、モデル画像データとして抽出すべき領域の形状を選択するアイコン群480が表示される。ユーザが、これらのアイコン群480のいずれかを選択すると、選択された形状の領域482が画像表示エリア412に表示されている合成画像に重ねて表示される。なお、モデル画像データとして抽出すべき領域482の形状は、基本的に、長方形のみとなるようにしてもよい。
ユーザは、モデル画像データとして登録すべき基準ワークを撮像して合成画像データを生成するとともに、この合成画像データに基づいて画像表示エリア412に表示される画像を参照しながら、領域482を適切な大きさおよび位置に設定する。具体的には、ユーザは、画像表示エリア412に表示される領域482に対して、マウス操作(たとえば、クリックおよびドラッグなど)することで、その大きさおよび位置をインタラクティブに変更可能である。
この領域設定画面403において、モデル画像データとして抽出すべき領域482の大きさおよび位置をユーザが設定した後、「OK」ボタンを選択することで、モデル抽出部2304(図11)がこのユーザが設定した領域482に含まれる部分画像データを抽出し、モデル格納部2305(図11)に格納する。そして、図13に示す設定画面402に復帰する。
再度図13を参照して、位置修正チェックボックス447、位置修正画像プルダウンボックス444、および修正モデル登録ボタン445は、後述する位置修正処理に用いられる設定を受付ける。詳細については後述する。
ヒストグラム表示エリア450には、差分抽出処理によって得られた差分画像データの明度についてのヒストグラム(図示しない)が表示される。すなわち、ヒストグラム生成部2308(図11)が生成するヒストグラムは、ヒストグラム表示エリア450内に表示される。
ヒストグラム表示エリア450内には、ユーザ設定された明度上限値Vmaxおよび明度下限値Vminを示すインジケータ454および456がそれぞれ表示される。さらに、ヒストグラム表示エリア450に関連付けて、明度上限値Vmaxおよび明度下限値Vminの直接的な数値入力を受付ける数値入力ボックス460と、明度下限値Vminを設定するためのスライドバー464と、明度上限値Vmaxを設定するためのスライドバー466とが表示される。
スライドバー464もしくは466、または数値入力ボックス460に対するユーザ操作によって設定される明度上下限範囲(明度上限値Vmaxおよび明度下限値Vmin)に応じて、差分抽出処理によって得られる差分画像データに対して、マッピング処理がなされる。すなわち、スライドバー464もしくは466、または数値入力ボックス460を介して設定された明度上下限範囲(明度上限値Vmaxおよび明度下限値Vmin)は、マッピング部2307(図11)へ与えられる。
<3.差分抽出処理の処理例>
次に、図15〜図18を参照して、本実施の形態に従う差分抽出処理について説明する。図15は、この発明の実施の形態に従う差分抽出処理に用いられる合成画像データの一例を示す図である。図16は、図15(a)に示す画像を対象にした場合における画面表示例を示す図である。図17は、図15(b)に示す画像を対象にした場合における画面表示例を示す図である。図18は、図17に示す画面において明度上下限範囲を変更した場合における画面表示例を示す図である。
以下の説明では、基準ワークとして、図15(a)に示すようなコネクタを撮像して得られた合成画像データをモデル画像データとして登録したものとする。そして、登録されたモデル画像データと同様の合成画像データが得られた場合の処理と、図15(b)に示すような、コネクタの表面の一部に欠陥が生じたワークを撮像して合成画像データを得た場合の処理とを対比して説明する。
図13に示す設定画面402において、差分モデル登録ボタン442が選択されてモデル画像データが登録されると、メッセージ443(図13)の表示が消えて、差分抽出処理が実行される。なお、このとき、表示設定エリア419において「差分画像」の項目が自動的に選択されるようにしてもよい。
表示設定エリア419において「差分画像」の項目が選択されることで、画像表示エリア412には、差分抽出処理によって得られた差分画像データに基づく画像表示がなされる。
まず、基準ワークとほぼ同様の外観を有する、欠陥が存在しないワークを撮像した場合には、図15(a)とほぼ同様の合成画像データが得られる。この場合には、各画素における色差ベクトルが相対的に小さいので、差分画像データに含まれる明度成分は相対的に小さくなる。すなわち、図16のヒストグラム表示エリア450に示すように、明度の値が相対的に小さい領域に多くの画素が集中して分布することになる。このような明度の値の相対的に小さい成分は、ほとんど有効な情報を持たない。
そこで、明度上下限範囲(明度上限値Vmaxおよび明度下限値Vmin)をこれらの明度の値が相対的に小さい領域と重複しないように設定すると、画像表示エリア412には、階調値が全面にわたってほぼ「0」の画像(すなわち、真っ黒な画像)が表示される。
次に、欠陥が存在するワークを撮像した場合には、図15(b)に示すような合成画像データが得られる。この場合には、欠陥部分に含まれる各画素についての色差ベクトルが相対的に大きくなるので、差分画像データに含まれる明度成分は相対的に小さくなる。すなわち、図17のヒストグラム表示エリア450に示すように、他の画素に比較して、明度の値が相対的に大きな成分458が現れる。このような成分458が欠陥部分に相当する情報を持つことになる。そこで、このような成分458をまたぐように明度上下限範囲(明度上限値Vmaxおよび明度下限値Vmin)を設定することで、欠陥部分に相当する部分が可視化される。すなわち、画像表示エリア412には、モデル画像データとの間の差分情報が浮かび上がる。なお、画像表示エリア412に表示される欠陥部分の階調値は、明度上下限範囲(明度上限値Vmaxおよび明度下限値Vmin)と成分458との相対的な関係によって定まる。すなわち、ヒストグラム452上において、明度上限値Vmaxが成分458に近接して設定されると、欠陥部分は相対的に明るく表示され、一方、明度下限値Vminが成分458に近接して設定されると、欠陥部分は相対的に暗く表示される。
別の使用形態として、欠陥部分と正常部分とを区別するだけであれば、明度の値が相対的に小さい領域に集中して分布している誤差成分と成分458との間に、明度上限値Vmaxおよび明度下限値Vminのいずれをも設定してもよい。
図18を参照して、この場合には、その明度の値が明度下限値Vminより小さい画素はすべて階調値が「0」として表示され、その明度の値が明度上限値Vmaxより大きい画素はすべて階調値が「255」として表示される。その結果、画像表示エリア412においては、欠陥部分に相当する領域が「白色」で表示されるとともに、その他の領域が「黒色」で表示されることになる。
<4.位置補正処理の処理例>
次に、図19〜図21を参照して、差分抽出処理において実行される位置補正処理について説明する。図19は、この発明の実施の形態に従う差分抽出処理における位置補正処理において用いられる合成画像データの一例を示す図である。図20は、図19(b)に示す画像を対象にした場合における画面表示例を示す図である。図21は、この発明の実施の形態に従う差分抽出処理における補正モデルの登録時における画面表示例を示す図である。以下の説明では、基準ワークとして、図19(a)に示すようなコネクタを撮像して得られた合成画像データをモデル画像データとする。
ワークがベルトコンベヤなどの搬送ラインによって搬送される場合には、何らかの外乱を受けて、その向きがモデル画像データを登録した時点の基準ワークの向きとは異なった向き、もしくは異なった撮像位置となることがある。たとえば、ワークが撮像時に図19(b)に示すようにその向きが本来の向きからずれてしまった場合を考える。このような場合には、ワークから取得された画像データに基づいて生成される合成画像データに含まれる各画素は、モデル画像データの対応する画素とは異なったものとなる。
すなわち、図20に示すように、モデル画像データの登録に用いられた基準ワークの位置と対象のワークとの間の位置ずれ分が、そのまま差分画像データとして抽出される。そのため、正しい検査を行なうためには、対象のワークについての位置ずれを予め登録されたモデル画像データに一致するように、位置修正を行なう必要がある。
そこで、本実施の形態に従う画像処理装置においては、上述したようにサーチ処理を用いて、ワークを撮像して得られる入力画像データに対して位置修正を行なう。すなわち、サーチを行なうためのモデル画像データ(以下「位置修正モデル画像データ」とも称す。)を登録しておき、入力画像データもしくは生成後の合成画像データとこの登録された位置修正モデル画像データとの間の相関値が最も高くなる位置を探し出し、その対応関係に基づいて、入力画像データもしくは合成画像データに対して画像変換(向き変更および/またはサイズ変更)が行なわれる。なお、上述の差分抽出処理に用いられるモデル画像データと、この位置修正処理に用いられる位置修正モデル画像データとを同じものとすることもできるが、サーチ精度を高めるためには、ワークの特徴部分に重点をおいて1つまたは複数の位置修正モデル画像データを登録することが好ましい。そこで、本実施の形態に従う画像処理装置においては、差分抽出処理に用いられるモデル画像データとは独立して、位置修正モデル画像データを登録可能になっている。
なお、位置修正処理には、サーチ処理を用いる方法に代えて、エッジなどの輪郭情報を用いる方法や、ラベルの重心面積を用いる方法などを採用することができる。
図20を参照して、上述のような位置修正処理は、合成設定エリア440Aの設定画面407において、ユーザが位置修正チェックボックス447を選択(チェック)することで有効化される。位置修正チェックボックス447の選択後、ユーザは、位置修正画像プルダウンボックス444を用いて、位置修正モデル画像データの抽出対象の画像データを選択する。この位置修正画像プルダウンボックス444では、位置抽出処理に用いるためのモデル画像データが抽出された合成画像データがデフォルトとして選択される。さらに、位置修正画像プルダウンボックス444では、異なる露光条件下(たとえば、「明るさ」範囲が異なる場合や、画像合成に用いた枚数が異なる場合など)で生成された合成画像データを任意に選択可能である。さらに、位置修正画像プルダウンボックス444では、合成画像データを生成するために用いた複数の入力画像データのうち、いずれか1枚の入力画像データを選択することもできる。このように、位置修正モデル画像データを任意の画像データから抽出することができるので、サーチ処理に要する時間を短縮したり、サーチ処理により適した位置修正モデル画像データを設定したりすることができる。
また、修正モデル登録ボタン445は、位置修正処理に用いる位置修正モデル画像データを登録するための指令を受付ける。なお、位置修正モデル画像データが未だ登録されていない場合には、修正モデル登録ボタン445に隣接して、「位置修正モデルが登録されていません」というメッセージ446が表示される。修正モデル登録ボタン445が選択されると、図21に示すモデル画像データを登録するための領域設定画面408に遷移する。
図21を参照して、領域設定画面408は、図14に示す領域設定画面403と同様の操作インターフェイスを有しており、位置修正モデル画像データとして抽出すべき領域の形状を選択するアイコン群480が表示される。また、画像表示エリア412には、位置修正画像プルダウンボックス444(図20)において選択した画像が表示される。
ユーザは、画像表示エリア412に表示される画像を参照しながら、位置修正モデル画像データとすべき範囲に対応付けて、領域484を適切な大きさおよび位置に設定する。この領域設定画面408において、位置修正モデル画像データとして抽出すべき領域484の大きさおよび位置をユーザが設定した後、「OK」ボタンを選択することで、モデル抽出部2304(図11)がこのユーザが設定した領域482に含まれる部分画像データを位置修正モデル画像データとして抽出し、モデル格納部2305に格納する。そして、図20に示す設定画面407に復帰する。
上述のように、位置修正モデル画像データが登録されると、サーチ部2306(図11)が合成画像データのうち登録された位置修正モデル画像データとの間で最も類似度の高い部分をサーチする。そして、そのサーチ結果に基づいて、前処理部2302(図11)が入力された合成画像データに対して画像変換を行なうことで、その位置および/またはサイズを修正する。そして、この修正後の合成画像データに対して、差分抽出部2303(図11)が差分抽出処理を実行する。
このように位置修正処理を行なうことで、図19(b)に示すような合成画像データに対しても、図17または図18に示すような差分画像データを得ることができる。
(j2.エッジ抽出処理)
<1.構成>
以下、図10に示す設定画面401の合成設定エリア440において「エッジ抽出」が選択された場合に実行される後処理として、空間フィルタ処理の典型例であるエッジ抽出処理について説明する。なお、エッジ抽出処理以外の空間フィルタ処理についても同様の構成および処理手順を適用可能である。この空間フィルタ処理は、より具体的には、処理対象の画像データ(合成画像データ)に含まれる各画素および当該画素に隣接する画素が有する画素情報に基づいて、当該画素についての特徴量を算出する処理である。すなわち、合成画像データに含まれる各画素および当該画素に隣接する画素が有する画素情報から、当該画素に対応する後処理後画像データの各画素が有する画素情報が算出される。
このエッジ抽出処理では、2次元的に配置された画像データに対して、その階調値などの変化量(以下「エッジ強度」とも称す。)が抽出される。なお、処理対象の画像データの各画素に対応付けて算出されたエッジ強度を配置した2次元データを「エッジ画像データ」とも称す。このようなエッジ抽出処理は、ワーク上に生じる欠陥などの検出や、ワークに対する位置合わせなどに用いられる。
図22は、この発明の実施の形態に従う後処理部230B(図6)の制御構造を示す機能ブロック図である。図22を参照して、後処理部230Bは、エッジ抽出部2311と、マッピング部2312と、ヒストグラム生成部2313とを含む。
エッジ抽出部2311は、画像合成部212(図6)から出力される合成画像データに対してエッジ抽出処理を実行する。このエッジ抽出処理を実現するアルゴリズムとしては、種々の方法が提案および実用化されている。典型的には、ラプラシアンフィルタなどが用いられる。エッジ抽出部2311は、算出した各画素についてのエッジ強度の情報を含むエッジ画像データ(後処理後画像データ)をマッピング部2312およびヒストグラム生成部2313へ出力する。すなわち、エッジ抽出部2311は、入力される合成画像データの座標位置iに対応して、エッジ強度EDを順次算出する。なお、エッジ抽出部2311は、入力される合成画像データのもつ階調範囲(各色32ビット)と同等の階調範囲をもつエッジ強度EDを出力する。
マッピング部2312は、エッジ画像データの各画素のエッジ強度EDを対応する座標位置iにおける階調値Y(たとえば、0〜255階調値)に割当てることで、合成画像データの濃淡値(明度)を決定する。一般的に、各画素のエッジ強度EDの階調範囲は、階調値Yの階調範囲より広い。なお、マッピング部2312におけるマッピング処理については、上述した図12と同様である。
すなわち、ユーザによってマッピングの範囲(エッジ強度上限値EDmaxとエッジ強度下限値EDmin)が設定された場合には、マッピング部2312は、以下のような変換式に従って階調値Yへの割当てを行なう。
(i)Y<EDmin:Y=0
(ii)EDmin≦Y≦EDmax:Y=255×(ED−EDmin)/(EDmax−EDmin
(iii)EDmax<Y:Y=255
このように、マッピング部2312において、エッジ強度EDから階調値Yへの変換に用いられる対応関係は、エッジ強度上限値EDmaxおよびエッジ強度下限値EDminを変更することで、適宜更新されることになる。
上述の変換式に示されるように、エッジ強度上限値EDmaxより大きなエッジ強度EDをもつ画素は、すべて最大の階調値(たとえば、255)に制限(保持)されるので、そのエッジ強度についての情報は失われる。同様に、エッジ強度下限値EDminより小さなエッジ強度EDをもつ画素についても、すべて最小の階調値(たとえば、0)に制限(保持)されるので、そのエッジ強度についての情報は失われる。したがって、そのエッジ強度EDの値がエッジ強度下限値EDminからエッジ強度上限値EDmaxの範囲にある画素のみが出力画像データ上で有効な階調値をもつ画素となる。すなわち、マッピング部2312は、エッジ画像データが有するエッジ強度EDのうち、その値が所定範囲内であるものを階調範囲における有効な値に割当てる。言い換えれば、マッピング部2312は、ユーザによってエッジ強度上限値EDmaxおよびエッジ強度下限値EDminが設定されると、そのエッジ強度EDの値がエッジ強度下限値EDminと一致する画素に対して階調値Yにおける下限値(0)を割当て、そのエッジ強度EDの値がエッジ強度上限値EDmaxと一致する画素に対して階調値Yにおける上限値(255)を割当てる。
図22に戻って、ヒストグラム生成部2313は、エッジ画像データに含まれる画素のエッジ強度EDについてのヒストグラムを生成する。すなわち、ヒストグラム生成部2313は、エッジ画像データに含まれる画素のエッジ強度EDの分布をモニタ102に表示させるための分布データを生成する。より具体的には、ヒストグラム生成部2313は、各画素のエッジ強度EDを所定幅の階級に区分した上で各階級の頻度を算出する。このヒストグラム生成部2313により生成されるヒストグラムを参照することで、ユーザは、どの範囲のエッジ強度をもつ画素を出力画像データとして出力すべきかを容易に設定することができる。
これは、撮像部8により撮像される入力画像データに基づいて生成された合成画像データから抽出されたエッジ画像データのエッジ強度の程度を予め予測することは困難である。そこで、本実施の形態に従う画像処理装置においては、エッジ画像データに含まれる画素のエッジ強度の分布状態をユーザに提供することで、対象となるワーク毎にエッジ強度範囲(エッジ強度下限値EDminおよびエッジ強度上限値EDmax)を適切な範囲に設定できるようにする。
<2.ユーザインターフェイス例>
上述したエッジ抽出処理についての理解を容易にするために、図23を参照して、モニタ102(図1)に表示されるエッジ抽出処理に係るユーザインターフェイスの一例について説明する。
図23は、この発明の実施の形態に従う画像処理装置のモニタ102に表示されるエッジ抽出処理の選択時における画面表示例を示す図である。
図23には、図10に示す合成設定エリア440において、フィルタ処理プルダウンボックス441で「エッジ抽出」の項目が選択された場合に表示される設定画面501の一例を示す。フィルタ処理プルダウンボックス441において「エッジ抽出」の項目が選択されることで、エッジ抽出部2311(図22)が合成画像データに対してエッジ抽出処理を実行する。
図23に示す設定画面501は、合成設定エリア440Bと、表示設定エリア419と、撮像設定表示エリア418と、画像表示エリア412と、表示制御アイコン群413と、全体表示エリア414とを含む。なお、表示設定エリア419と、撮像設定表示エリア418と、画像表示エリア412と、表示制御アイコン群413と、全体表示エリア414とについては、上述の図10に示す設定画面401と同様であるので、詳細な説明は繰返さない。
合成設定エリア440Bは、図10に示す合成設定エリア440に、ヒストグラム表示エリア520を加えたものに相当する。ヒストグラム表示エリア520には、エッジ抽出処理によって得られたエッジ画像データのエッジ強度についてのヒストグラムが表示される。すなわち、ヒストグラム生成部2313(図22)が生成するヒストグラム522は、ヒストグラム表示エリア520内に表示される。
ヒストグラム表示エリア520内には、ユーザ設定されたエッジ強度上限値EDmaxおよびエッジ強度下限値EDminを示すインジケータ524および526がそれぞれ表示される。さらに、ヒストグラム表示エリア520に関連付けて、エッジ強度上限値EDmaxおよびエッジ強度下限値EDminの直接的な数値入力を受付ける数値入力ボックス530と、エッジ強度下限値EDminを設定するためのスライドバー534と、エッジ強度上限値EDmaxを設定するためのスライドバー536とが表示される。
スライドバー534もしくは536、または数値入力ボックス530に対するユーザ操作によって設定されるエッジ強度上下限範囲(エッジ強度上限値EDmaxおよびエッジ強度下限値EDmin)に応じて、エッジ抽出処理によって得られるエッジ画像データに対して、マッピング処理がなされる。すなわち、スライドバー534もしくは536、または数値入力ボックス530を介して設定されたエッジ強度上下限範囲(エッジ強度上限値EDmaxおよびエッジ強度下限値EDmin)は、マッピング部2312(図22)へ与えられる。
<3.エッジ抽出処理の処理例>
図23および図24においては、上述の図15(a)に示すようなコネクタを撮像して得られた合成画像データに対してエッジ抽出処理を実行した結果を示す。
図23には、ヒストグラム表示エリア520において、エッジ強度上下限範囲(エッジ強度上限値EDmaxおよびエッジ強度下限値EDmin)をヒストグラム522の主成分に対して、相対的にエッジ強度が高い範囲に設定している場合を示す。図24には、ヒストグラム表示エリア520において、エッジ強度上下限範囲(エッジ強度上限値EDmaxおよびエッジ強度下限値EDmin)をヒストグラム522の主成分をまたぐように設定している場合を示す。
図23に示す例においては、エッジ画像データに含まれる大部分の画素がもつエッジ強度の値がエッジ強度下限値EDminより小さいので、画像表示エリア412には、全体的に暗めのエッジ画像が表示される。一方、図24に示す例においては、エッジ画像データに含まれる大部分の画素がもつエッジ強度の値がエッジ強度上下限範囲に収まるので、画像表示エリア412には、図22に比較して、より全体的に明るめのエッジ画像が表示される。但し、この場合には、ワークの中心部分には、白飛び(一種のハレーション)が生じている。
このように、エッジ強度上下限範囲を変更することで、画像表示エリア412に表示されるエッジ画像が随時変化するので、ワークの目的とする部分に応じて、適切な明度をもって画像表示を行なうことができる。
(j3.バンドパスフィルタ処理)
<1.構成>
以下、図10に示す設定画面401の合成設定エリア440において「バンドパスフィルタ」が選択された場合に実行される後処理として、画像に含まれる特定の周波数成分のみを抽出するバンドパスフィルタ処理について説明する。
このバンドパスフィルタ処理を用いることで、特定領域の周波数成分を抽出することができ、これにより、特定のエッジを抽出したり、画像のシェーディングをカットしたりすることができる。
このようなバンドパスフィルタ処理は、典型的には、1つの入力画像データに対して、異なる2つのウィンドウサイズで平滑化(フィルタリング)処理した画像データ同士の差分を算出することで実現することができる。代替の方法として、画像データに対してフーリエ変換を行なうことで、同様のバンドパスフィルタ処理を実現することもできる。
以下の説明においては、1つの合成画像データを異なる2つのウィンドウサイズで平滑化処理する構成について例示する。すなわち、以下に説明するバンドパスフィルタ処理においては、合成画像データに対して第1の平滑化処理を行なうことで第1の平滑化画像データを生成するとともに、第1の平滑化処理とは異なる第2の平滑化処理を行なうことで第2の平滑化画像データを生成し、さらに両者の間で画像差分を算出することで出力画像データデータを生成する。
図25は、この発明の実施の形態に従う後処理部230C(図6)の制御構造を示す機能ブロック図である。図25を参照して、後処理部230Cは、画像バッファ2321と、第1平滑化部2322と、第2平滑化部2323と、差分抽出部2324と、マッピング部2325と、ヒストグラム生成部2326とを含む。
画像バッファ2321は、画像合成部212(図6)から出力される合成画像データを一時的に格納する。この画像バッファ2321に格納された合成画像データは、第1平滑化部2322および第2平滑化部2323の両方からアクセス可能となっている。
第1平滑化部2322および第2平滑化部2323は、いずれも、画像バッファ2321に格納されている合成画像データに対してそれぞれ設定されたウィンドウサイズで平滑化処理を行なう。この平滑化処理とは、合成画像データに対して設定されたウィンドウサイズで複数のウィンドウを設定し、各ウィンドウに含まれる画素の間で平均化処理を行なうものである。このウィンドウサイズは、言い換えれば、対応するウィンドウに含まれる画素の範囲を意味する。たとえば、ウィンドウサイズが3×3であれば、各ウィンドウには、9個の画素が含まれることになる。そして、第1平滑化部2322および第2平滑化部2323がそれぞれ出力した平滑化後の画像データは、差分抽出部2324へ出力される。
すなわち、第1平滑化部2322および第2平滑化部2323からそれぞれ出力される画像データは、対応するウィンドウサイズに相当する周波数フィルタを通過した画像データに相当する。言い換えれば、第1平滑化部2322は、遮断周波数f1のローパスフィルタとして機能し、第2平滑化部2323は、遮断周波数f2のローパスフィルタとして機能する。
差分抽出部2324は、第1平滑化部2322から入力された第1画像データと、第2平滑化部2323から入力された第2画像データとの間で差分を抽出することで、差分画像データ(後処理後画像データ)を生成する。より具体的には、差分抽出部2324は、第1画像データの座標位置iにおける色情報(R(1) ,G(1) ,B(1) )と、第2画像データの対応する座標位置iにおける色情報(R(2) ,G(2) ,B(2) )との各色成分における差を算出する。このようにして、差分抽出部2324は、すべての画素について各画素についての色差ベクトルを算出する。さらに、差分抽出部2324は、算出した色差ベクトルの絶対値を対応する座標位置iにおける明度Vとして算出する。このようにして、差分抽出部2324は、すべての画素について算出した明度Vを含む差分画像データを出力する。なお、差分抽出部2324は、入力される合成画像データのもつ階調範囲(各色32ビット)と同等の階調範囲をもつ明度Vを出力する。
このように、第1画像データと第2画像データとの差分を算出することで、出力される差分画像データは、合成画像データを遮断周波数f1と遮断周波数f2との間の帯域フィルタに通過させた画像に相当する。なお、第2平滑化部2323において平滑化処理を行なわないようにすると、差分抽出部2324から出力される差分画像データは、合成画像データを遮断周波数f1のハイパスフィルタに通過させた画像に相当するようになる。
図26は、この発明の実施の形態に従うバンドパスフィルタ処理の各ステージにおける画像データの一例を示す図である。たとえば、図26(a)に示すような合成画像データが画像バッファ2321に入力されたとする。図26(b)には、図26(a)に示すような合成画像データに対して、あるウィンドウサイズが設定されたバンドパスフィルタ処理の出力結果である出力画像データの一例を示す。このような出力画像データの生成過程において、より小さなウィンドウサイズを設定された第1平滑化部2322からは、図26(a)に示すような合成画像データに対して平滑化処理が実行され、図26(c)に示すような平滑化後の画像データが出力される。一方、より大きなウィンドウサイズを設定された第2平滑化部2323からは、図26(a)に示すような合成画像データに対して平滑化処理が実行され、図26(c)に示すような平滑化後の画像データが出力される。この図26(c)に示す画像データと図26(d)に示す画像データとの間で差分がとられることで、図26(b)に示すような出力画像データが生成される。
マッピング部2325は、差分画像データの各画素の明度Vを対応する座標位置iにおける階調値Y(たとえば、0〜255階調値)に割当てることで、合成画像データの濃淡値(明度)を決定する。一般的に、各画素の明度Vの階調範囲は、階調値Yの階調範囲より広い。なお、マッピング部2325におけるマッピング処理については、上述した図12と同様である。
すなわち、ユーザによってマッピングの範囲(明度上限値Vmaxと明度下限値Vmin)が設定された場合には、マッピング部2325は、以下のような変換式に従って階調値Yへの割当てを行なう。
(i)Y<Vmin:Y=0
(ii)Vmin≦Y≦Vmax:Y=255×(V−Vmin)/(Vmax−Vmin
(iii)Vmax<Y:Y=255
このように、マッピング部2325において、明度Vから階調値Yへの変換に用いられる対応関係は、明度上限値Vmaxおよび明度下限値Vminを変更することで、適宜更新されることになる。
図25に戻って、ヒストグラム生成部2326は、差分画像データに含まれる画素の明度Vについてのヒストグラムを生成する。すなわち、ヒストグラム生成部2326は、差分画像データに含まれる画素の明度Vの分布をモニタ102に表示させるための分布データを生成する。より具体的には、ヒストグラム生成部2326は、各画素の明度Vを所定幅の階級に区分した上で各階級の頻度を算出する。このヒストグラム生成部2326により生成されるヒストグラムを参照することで、ユーザは、どの範囲の明度をもつ画素を出力画像データとして出力すべきかを容易に設定することができる。
<2.ユーザインターフェイス例>
上述したバンドパスフィルタ抽出処理についての理解を容易にするために、図27を参照して、モニタ102(図1)に表示されるバンドパスフィルタ処理に係るユーザインターフェイスの一例について説明する。
図27は、この発明の実施の形態に従う画像処理装置のモニタ102に表示されるバンドパスフィルタ処理の選択時における画面表示例を示す図である。
図27には、図10に示す合成設定エリア440において、フィルタ処理プルダウンボックス441で「バンドパスフィルタ」の項目が選択された場合に表示される設定画面601の一例を示す。フィルタ処理プルダウンボックス441において「バンドパスフィルタ」の項目が選択されることで、合成画像データに対して上述したようなバンドパスフィルタ処理が開始される。
図27に示す設定画面601は、合成設定エリア440Cと、表示設定エリア419と、撮像設定表示エリア418と、画像表示エリア412と、表示制御アイコン群413と、全体表示エリア414とを含む。なお、表示設定エリア419と、撮像設定表示エリア418と、画像表示エリア412と、表示制御アイコン群413と、全体表示エリア414とについては、上述の図10に示す設定画面401と同様であるので、詳細な説明は繰返さない。
合成設定エリア440Cは、図10に示す合成設定エリア440に、ウィンドウサイズ設定ボックス631および632と、ヒストグラム表示エリア620を加えたものに相当する。
ウィンドウサイズ設定ボックス631および632は、それぞれ第1平滑化部2322および第2平滑化部2323(いずれも図25)における平滑化処理に用いられるウィンドウサイズの数値入力を受付ける。すなわち、ウィンドウサイズ設定ボックス631に対して入力される数値S1は、第1平滑化部2322に与えられる。そして、第1平滑化部2322は、S1×S1のウィンドウサイズで平滑化処理を実行する。同様に、ウィンドウサイズ設定ボックス632に対して入力される数値S2は、第2平滑化部2323に与えられる。そして、第2平滑化部2323は、S2×S2のウィンドウサイズで平滑化処理を実行する。
ヒストグラム表示エリア620には、バンドパスフィルタ処理によって得られた差分画像データの明度についてのヒストグラムが表示される。すなわち、ヒストグラム生成部2326(図25)が生成するヒストグラム622は、ヒストグラム表示エリア620内に表示される。
ヒストグラム表示エリア620内には、ユーザ設定された明度下限値Vminおよび明度上限値Vmaxを示すインジケータ624および626がそれぞれ表示される。さらに、ヒストグラム表示エリア620に関連付けて、明度上限値Vmaxおよび明度下限値Vminの直接的な数値入力を受付ける数値入力ボックス630と、明度下限値Vminを設定するためのスライドバー634と、明度上限値Vmaxを設定するためのスライドバー636とが表示される。
スライドバー634もしくは636、または数値入力ボックス630に対するユーザ操作によって設定される明度上下限範囲(明度上限値Vmaxおよび明度下限値Vmin)に応じて、バンドパスフィルタ処理によって得られる差分画像データに対して、マッピング処理がなされる。すなわち、スライドバー634もしくは636、または数値入力ボックス630を介して設定された明度上下限範囲(明度上限値Vmaxおよび明度下限値Vmin)は、マッピング部2325(図25)へ与えられる。
(j4.色抽出処理)
図10に示す設定画面401の合成設定エリア440において「色抽出」が選択された場合に実行される後処理として、画像に含まれる特定の色成分を有する画素(領域)を抽出する色抽出処理について説明する。
この色抽出処理は、一種の色フィルタ処理に相当し、入力された合成画像データにおいて、ユーザが指定した色と一致もしくは当該色に近接する色情報を有する画素の位置を特定する。このような色抽出処理を用いることで、指定された色をもつ画素についての面積測定処理やラベリング処理などを行なうことができる。
なお、ユーザが指定する色情報としては、「赤色」「緑色」「青色」の濃淡値を用いるRGB表色系に加えて、HSB(Hue Saturation Brightness)表色系を用いてもよい。合成画像データに対してこのような色抽出処理を行なうことで、モニタ102では表現できないわずかな色の違いであっても、区別して色抽出を行なうことができる。
[K.処理手順]
図28は、この発明の実施に形態に従う画像処理装置における全体処理手順を示すフローチャートである。図29は、この発明の実施に形態に従う画像処理装置におけるマッピング処理の手順を示すフローチャートである。図30は、この発明の実施に形態に従う画像処理装置における差分抽出処理の手順を示すフローチャートである。図31は、この発明の実施に形態に従う画像処理装置におけるエッジ抽出処理の手順を示すフローチャートである。図32は、この発明の実施に形態に従う画像処理装置におけるバンドパスフィルタ処理の手順を示すフローチャートである。図28〜図32に示すフローチャートにおける各ステップは、典型的には、CPU105が固定ディスク107などに予め格納されたプログラムをメモリ106に読出して実行することにより実現される。なお、画像合成処理に係る撮像回数および各撮像における露光時間などは予め設定されているものとする。
また、入力画像データは、n個の画素から構成され、その座標位置を変数i(1≦i≦n)として表わすものとする。
(k1.全体処理)
図28を参照して、まず、CPU105は、撮像部8に指令を与えて、予め設定された露光時間群のうちいずれか1つの露光時間でワーク2を撮像させる(ステップS2)とともに、撮像部8から送られてくる入力画像データをメモリ106などに一時的に格納する(ステップS4)。続いて、CPU105は、予め設定された露光時間群のすべてについての撮像が完了したか否かを判断する(ステップS6)。予め設定された露光時間群の一部についての撮像が未了である場合(ステップS6においてNOの場合)には、CPU105は、予め設定された露光時間群のうち撮像が未了であるいずれかの露光時間をセットし(ステップS8)、ステップS2以下の処理を繰返す。
これに対して、予め設定された露光時間群のすべてについての撮像が完了している場合(ステップS6においてYESの場合)には、CPU105は、変数iを初期化(i←1)し(ステップS10)、メモリ106など一時的に格納されている複数の入力画像データについて、座標位置iに対応する画素が有する色情報および輝度をそれぞれ読出す(ステップS12)。続いて、CPU105は、読出された複数の入力画像データの座標位置iに対応する画素がそれぞれ有する輝度に基づいて、座標位置iの合成輝度Eを算出する(ステップS14)。同時並行的に、CPU105は、読出された複数の入力画像データの座標位置iに対応する画素がそれぞれ有する輝度および色情報に基づいて、座標位置iの合成色情報(r,g,b)を算出する(ステップS16)。
そして、CPU105は、ステップS14において算出した座標位置iの合成輝度Eと、ステップS16において算出した座標位置iの合成色情報(r,g,b)とを乗じることで、座標位置iの絶対的な色情報(R,G,B)を算出する(ステップS18)。
続いて、CPU105は、現在の座標位置iが入力画像データに含まれる最終位置(n番目)であるか否かを判断する(ステップS20)。現在の座標位置iが入力画像データに含まれる最終位置ではない場合(ステップS20においてNOの場合)には、CPU105は、現在の座標位置iに「1」を加算(i←i+1)して(ステップS22)、ステップS12以下の処理を繰返す。
現在の座標位置iが入力画像データに含まれる最終位置である場合(ステップS20においてYESの場合)には、CPU105は、後処理として、差分抽出処理が選択されているか否かを判断する(ステップS24)。差分抽出処理が選択されている場合(ステップS24においてYESの場合)には、CPU105は、図30に示す差分抽出処理を実行する(ステップS26)。その後、処理は終了する。
これに対して、差分抽出処理が選択されていない場合(ステップS24においてNOの場合)には、CPU105は、後処理として、エッジ抽出処理が選択されているか否かを判断する(ステップS28)。エッジ抽出処理が選択されている場合(ステップS28においてYESの場合)には、図31に示すエッジ抽出処理を実行する(ステップS30)。その後、処理は終了する。
これに対して、エッジ抽出処理が選択されていない場合(ステップS28においてNOの場合)には、CPU105は、後処理として、バンドパスフィルタ処理が選択されているか否かを判断する(ステップS32)。バンドパスフィルタ処理が選択されている場合(ステップS32においてYESの場合)には、CPU105は、図32に示すバンドパスフィルタ処理を実行する(ステップS34)。その後、処理は終了する。
これに対して、バンドパスフィルタ処理が選択されていない場合(ステップS32においてNOの場合)には、CPU105は、後処理として、色抽出処理が選択されているか否かを判断する(ステップS36)。色抽出処理が選択されている場合(ステップS36においてYESの場合)には、CPU105は、ユーザ操作に従って色抽出処理を実行し、その結果を後続処理へ出力、および/または、モニタ102に表示する(ステップS38)。その後、処理は終了する。
これに対して、色抽出処理が選択されていない場合(ステップS36においてNOの場合)には、CPU105は、図29に示すマッピング処理を実行する(ステップS40)。すなわち、CPU105は、より多くの階調値をもつ合成画像データを所定の階調範囲の出力画像データに変換する。そして、CPU105は、この生成した出力画像データをモニタ102に表示する(ステップS42)。その後、処理は終了する。
(k2.マッピング処理)
次に、図29を参照して、マッピング処理について例示する。なお、図29に示すマッピング処理は、図28に示すステップS40に加えて、図30に示す差分抽出処理、図31に示すエッジ抽出処理、図32に示すバンドパスフィルタ処理においてそれぞれ利用されるサブルーチンである。したがって、マッピング対象の物理値(合成輝度E,明度V,エッジ強度EDなど)を処理対象値Xとして表わし、マッピング範囲を定める上限値および下限値をそれぞれMAXおよびMINとして表わす。
図29を参照して、まず、CPU105は、変数iを初期化(i←1)する(ステップS100)。続いて、CPU105は、処理対象値Xを読出し(ステップS102)、さらに、ユーザ設定される上限値MAXおよび下限値MINを読出す(ステップS104)。
そして、CPU105は、Y=255×(X−MIN)/(MAX−MIN)の演算式に従って階調値Yを算出する(ステップS106)。続いて、CPU105は、算出した階調値Y<について、階調値Y<0が成立するか否かを判断する(ステップS108)。階調値Y<0が成立する場合(ステップS108においてYESの場合)には、CPU105は、階調値Yに「0」をセット(Y←0)する(ステップS110)。
これに対して、階調値Y<0が成立しない場合(ステップS108においてNOの場合)には、CPU105は、階調値Y>255が成立するか否かを判断する(ステップS112)。階調値Y>255が成立する場合(ステップS112においてYESの場合)には、CPU105は、階調値Yに「255」をセット(Y←255)する(ステップS114)。
階調値Y>255が成立しない場合(ステップS112においてNOの場合)、またはステップS110もしくはステップS114の実行後、CPU105は、算出した階調値Yの値をマッピング処理の結果として出力する(ステップS116)。さらに、CPU105は、現在の座標位置iが処理対象値Xの最終値であるか否かを判断する(ステップS118)。現在の座標位置iが処理対象値Xの最終値ではない場合(ステップS118においてNOの場合)には、CPU105は、現在の座標位置iに「1」を加算(i←i+1)して(ステップS120)、ステップS102以下の処理を繰返す。
これに対して、現在の座標位置iが処理対象値Xの最終値である場合(ステップS118においてYESの場合)には、CPU105は、現在の処理終了し、元の処理に戻る。
(k3.差分抽出処理)
次に、図30を参照して、差分抽出処理について説明する。なお、モデル画像データは予め登録されているものとする。また、後述する位置修正処理が有効化されている場合には、位置修正モデル画像データも予め登録されているものとする。
図30を参照して、CPU105は、まず、位置修正処理が有効化されているか否かを判断する(ステップS200)。すなわち、CPU105は、図10に示す位置修正チェックボックス447がチェックされているか否かを判断する。位置修正処理が有効化されていない場合(ステップS200においてNOの場合)には、処理はステップS210へ進む。
これに対して、位置修正処理が有効化されている場合(ステップS200においてYESの場合)には、CPU105は、位置修正モデル画像データを読出す(ステップS202)。続いて、CPU105は、読出した位置修正モデル画像に基づいて、合成画像データに対してサーチ処理を実行する(ステップS204)。そして、CPU105は、サーチ処理が成功したか否かを判断する(ステップS206)。サーチ処理が失敗した場合(ステップS206においてNOの場合)には、CPU105は、サーチ処理が失敗した旨の通知を行なった上で、処理を終了する。
これに対して、サーチ処理が成功した場合(ステップS206においてYESの場合)には、CPU105は、合成画像データに対して、サーチ処理の結果に基づく画像変換を行なう(ステップS208)。より具体的には、CPU105は、合成画像データとモデル画像データとが対応して配置されるように、合成画像データの向きおよび/またはサイズを変更する。そして、処理はステップS210へ進む。
ステップS210において、CPU105は、変数iを初期化(i←1)する。続いて、CPU105は、合成画像データ(もしくは、画像変換後の合成画像データ)の座標位置iにおける色情報(R,G,B)を読出す(ステップS212)とともに、モデル画像データの座標位置iにおける色情報(R(m) ,G(m) ,B(m) )を読出す(ステップS214)。さらに、CPU105は、読出した色情報(R,G,B)と色情報(R(m) ,G(m) ,B(m) )との差分の色情報(R−R(m) ,G−G(m) ,B−B(m) )を算出する(ステップS216)。
そして、CPU105は、算出した差分の色情報の明度Vを算出する(ステップS218)。具体的には、V=√{(R−R(m) +(G−G(m) +(B−B(m) }の計算式に従って、明度Vが算出される。続いて、CPU105は、算出した明度Vに対してマッピング処理を実行する(ステップS220)。すなわち、CPU105は、算出した明度Vに対して図29に示すマッピング処理を実行する。
その後、CPU105は、マッピング処理により得られる階調値Yを出力画像データの座標位置iにおける成分値として出力する(ステップS222)。さらに、CPU105は、現在の座標位置iが合成画像データに含まれる最終位置であるか否かを判断する(ステップS224)。現在の座標位置iが合成画像データに含まれる最終位置ではない場合(ステップS224においてNOの場合)には、CPU105は、現在の座標位置iに「1」を加算(i←i+1)して(ステップS226)、ステップS214以下の処理を繰返す。
これに対して、現在の座標位置iが第1画像データおよび第2画像データに含まれる最終位置である場合(ステップS224においてYESの場合)には、CPU105は、生成された出力画像データを後続処理へ出力、および/または、モニタ102に表示する(ステップS228)。その後、処理は終了する。
(k4.エッジ抽出処理)
次に、図31を参照して、エッジ抽出処理について説明する。図31に示すエッジ抽出処理においては、ラプラシアンフィルタを用いる場合の処理について例示する。なお、説明の便宜上、合成画像データの座標位置を2次元の座標(k,l)(但し、1≦k≦XX;1≦l≦YY;k×l=n)として表わすものとする。
図31を参照して、CPU105は、変数kおよび変数lを初期化(k←1,l←1,)する(ステップS300)。
続いて、ステップS302〜S334において、座標位置(k,l)の画素についての空間フィルタ処理が実行される。
すなわち、CPU105は、変数SUMを初期化(SUM←0)し(ステップS302)、変数aおよび変数bを初期化(a←−1,b←−1,)する(ステップS304)する。続いて、CPU105は、合成画像データの座標位置(k+a,l+b)における色情報(Rk+a,l+b,Gk+a,l+b,Bk+a,l+b)を読出す(ステップS306)とともに、その色情報の明度Vを算出する(ステップS308)。具体的には、V=√(Rk+a,l+b +Gk+a,l+b +Bk+a,l+b )の計算式に従って、明度Vk+a,l+bが算出される。
さらに、CPU105は、ステップS308において算出した明度Vk+a,l+bに重み係数W(a,b)を乗じた値を変数SUMに加算する(SUM←SUM+Vk+a,l+b×W(a,b))(ステップS310)。なお、重み係数W(a,b)は、以下のような値をとる。
W(−1,−1)=−1,W(0,−1)=−1,W(1,−1)=−1
W(−1,0)=−1,W(0,0)=8,W(1,0)=−1,
W(−1,1)=−1,W(0,1)=−1,W(1,1)=−1,
その後、CPU105は、現在の変数aに「1」を加算(a←a+1)して(ステップS312)、変数a≦1が成立するか否かを判断する(ステップS314)。変数a≦1が成立する場合(ステップS314においてYESの場合)には、ステップS306以下の処理が繰返される。
これに対して、変数a≦1が成立しない場合(ステップS314においてNOの場合)には、CPU105は、現在の変数bに「1」を加算(b←b+1)して(ステップS316)、変数b≦1が成立するか否かを判断する(ステップS318)。変数b≦1が成立する場合(ステップS318においてYESの場合)には、CPU105は、変数bを初期化(b←−1)し(ステップS320)、ステップS306以下の処理を繰返す。
これに対して、変数b≦1が成立しない場合(ステップS318においてNOの場合)には、CPU105は、現在の変数SUMの値をエッジ強度EDk,lとして出力する(ステップS322)。続いて、CPU105は、算出したエッジ強度EDk,lに対してマッピング処理を実行する(ステップS324)。すなわち、CPU105は、算出したエッジ強度EDk,lに対して図29に示すマッピング処理を実行する。そして、CPU105は、マッピング処理により得られる階調値Yを出力画像データの座標位置(k,l)における成分値として出力する(ステップS326)。
CPU105は、現在の変数kに「1」を加算(k←k+1)して(ステップS328)、変数k≦XXが成立するか否かを判断する(ステップS330)。変数k≦XXが成立する場合(ステップS330においてYESの場合)には、ステップS302以下の処理が繰返される。
これに対して、変数k≦XXが成立しない場合(ステップS330においてNOの場合)には、現在の変数lに「1」を加算(l←l+1)して(ステップS332)、変数l≦YYが成立するか否かを判断する(ステップS334)。変数l≦YYが成立する場合(ステップS334においてYESの場合)には、変数kを初期化(k←−1)し(ステップS336)、ステップS302以下の処理を繰返す。
これに対して、変数l≦YYが成立しない場合(ステップS334においてNOの場合)には、生成された出力画像データを後続処理へ出力、および/または、モニタ102に表示する(ステップS338)。その後、処理は終了する。
(k5.バンドパスフィルタ処理)
次に、図32を参照して、バンドパスフィルタ処理について説明する。図32を参照して、CPU105は、ユーザ設定されるウィンドウサイズS2およびS2を読出す(ステップS400)。続いて、CPU105は、合成画像データに対して、S1×S1のウィンドウサイズで平滑化処理を実行して、第1画像データを生成する(ステップS402)。同時並行的に、CPU105は、合成画像データに対して、S2×S2のウィンドウサイズで平滑化処理を実行して、第2画像データを生成する(ステップS404)。
その後、CPU105は、変数iを初期化(i←1)する(ステップS406)。続いて、CPU105は、第1画像データの座標位置iにおける色情報(R(1) ,G(1) ,B(1) )を読出す(ステップS408)とともに、第2画像データの座標位置iにおける色情報(R(2) ,G(2) ,B(2) )を読出す(ステップS410)。さらに、CPU105は、読出した色情報(R(1) ,G(1) ,B(1) )と色情報(R(2) ,G(2) ,B(2) )との差分の色情報(R(1) −R(2) ,G(1) −G(2) ,B(1) −B(2) )を算出する(ステップS412)。
そして、CPU105は、算出した差分の色情報の明度Vを算出する(ステップS414)。具体的には、V=√{(R(1) −R(2) +(G(1) −G(2) +(B(1) −B(2) }の計算式に従って、明度Vが算出される。続いて、CPU105は、算出した明度Vに対してマッピング処理を実行する(ステップS416)。すなわち、CPU105は、算出した明度Vに対して図29に示すマッピング処理を実行する。
その後、CPU105は、マッピング処理により得られる階調値Yを出力画像データの座標位置iにおける成分値として出力する(ステップS418)。さらに、CPU105は、現在の座標位置iが第1画像データおよび第2画像データに含まれる最終位置であるか否かを判断する(ステップS420)。現在の座標位置iが第1画像データおよび第2画像データに含まれる最終位置ではない場合(ステップS420においてNOの場合)には、CPU105は、現在の座標位置iに「1」を加算(i←i+1)して(ステップS422)、ステップS408以下の処理を繰返す。
これに対して、現在の座標位置iが第1画像データおよび第2画像データに含まれる最終位置である場合(ステップS420においてYESの場合)には、CPU105は、生成された出力画像データを後続処理へ出力、および/または、モニタ102に表示する(ステップS424)。その後、処理は終了する。
[L.変形例1]
上述の実施の形態においては、マッピング処理において、ユーザがマッピング範囲を定める上限値および下限値を設定する構成について例示したが、生成されたヒストグラムに基づいて、マッピング範囲を自動的に設定してもよい。より具体的には、ヒストグラムに現れる主成分を特定するとともに、その分散度合いを算出し、それに応じた位置および幅をマッピング範囲に設定する。
[M.変形例2]
上述の実施の形態においては、合成画像データの全体に対して、各種の後処理を適用する構成について例示したが、合成画像データの一部の部分画像データについてのみ上述のような後処理を実行してもよい。この場合には、図14に示すようなユーザインターフェイス上で、ユーザが合成画像データのうち処理対象の領域を設定することになる。なお、このように部分画像データに対して、各種の後処理が実行される場合には、出力画像データのサイズも指定された部分画像データに大きさに応じたものとなる。
[N.その他の実施の形態]
本発明に係るプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
また、本発明に係るプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明に係るプログラムに含まれ得る。
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記憶媒体とを含む。
さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。
[O.本実施の形態に従う作用効果]
この発明の実施の形態によれば、撮像部が撮像することで取得される入力画像データ(たとえば、各色8ビット階調)を合成して、より広い階調範囲の画素情報をもつ合成画像データ(たとえば、各色32ビット階調)を生成した上で、この合成画像データの有する情報量を低減することなく、各種の後処理を実行する。そのため、差分抽出処理、エッジ抽出処理、バンドパスフィルタ処理、色抽出処理といった画像処理をより高い精度で行なうことができる。
さらに、この発明の実施の形態によれば、上述のような画像処理の結果得られた画像を、出力先の後続処理および/またはデバイスに応じた階調範囲に適合して出力する。そのため、出力先の後続処理またはデバイスに対して特別な性能が必要となることはない。そのため、既存の検出処理または計測処理を行なう画像処理モジュールや、各種装置との間で高い親和性をもつことができる。
すなわち、処理可能階調が制約されるような検出/計測モジュール(典型的には、レガシーなソフトウェア)が組み込まれている、ダイナミックレンジを拡大した合成画像データによる精度の高い画像処理を実現できる。
また、この発明の実施の形態によれば、より多くの情報を有する合成画像データを扱うにもかかわらず、検出処理または計測処理での演算処理量(処理時間)が増大することを回避できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 視覚センサシステム、2 ワーク、4a 受光部、4b 投光部、6 搬送ライン、8 撮像部、100 コンピュータ、101 コンピュータ本体、102 モニタ、103 キーボード、104 マウス、105 CPU、106 メモリ、107 固定ディスク、109 カメラインターフェイス部、109a 画像バッファ、109b 露光時間設定部、111 FD駆動装置、113 CD−ROM駆動装置、115 PLCインターフェイス部、117 センサインターフェイス部、200 撮像制御部、202 選択部、204,204a〜204h 画像バッファ、206a〜206h 画像情報抽出部、208 色合成部、210 輝度合成部、212 画像合成部、214 ヒストグラム生成部、230A,230B,230C 後処理部、2301 セレクタ、2302 前処理部、2303 差分抽出部、2304 モデル抽出部、2305 モデル格納部、2306 サーチ部、2307,2312,2325 マッピング部、2308,2313,2326 ヒストグラム生成部、2311 エッジ抽出部、2321 画像バッファ、2322 第1平滑化部、2323 第2平滑化部、2324 差分抽出部。

Claims (15)

  1. 露光条件を変更可能な撮像部に接続された画像処理装置であって、
    前記撮像部を用いて異なる露光条件で複数回撮像を行なうことにより、複数の入力画像データを取得する取得手段を備え、前記入力画像データは、前記撮像部の検出感度に応じた第1の階調範囲で規定される画素情報を有し、
    前記複数の入力画像データを合成することで合成画像データを生成する合成手段を備え、前記合成画像データは、前記第1の階調範囲より広い第2の階調範囲で規定される画素情報を有し、
    前記合成画像データを対象として、撮像された対象物に関する検出または計測を容易化するための画像処理を行なうことにより、前記第2の階調範囲で規定される画素情報を有する処理画像データを生成する処理手段と、
    前記処理画像データを前記第2の階調範囲より狭い第3の階調範囲で規定される画素情報を有する出力画像データに変換する変換手段とを備える、画像処理装置。
  2. 前記処理手段は、前記合成画像データについての画像データ比較を行なうことで、前記処理画像データを生成する、請求項1に記載の画像処理装置。
  3. 前記処理手段は、前記合成画像データについての予め登録されたモデル画像データに対する画像差分を算出することで、前記処理画像データを生成する、請求項2に記載の画像処理装置。
  4. 前記処理手段は、
    前記合成画像データに対して第1の平滑化処理を行なうことで第1の平滑化画像データを生成する手段と、
    前記合成画像データに対して前記第1の平滑化処理とは異なる第2の平滑化処理を行なうことで第2の平滑化画像データを生成する手段と、
    前記第1の平滑化画像データと前記第2の平滑化画像データとの間で画像差分を算出することで前記処理画像データを生成する手段とを含む、請求項2に記載の画像処理装置。
  5. 前記処理手段は、前記合成画像データに含まれる画素情報についての特徴量を反映した前記処理画像データを生成する、請求項1に記載の画像処理装置。
  6. 前記処理手段は、前記合成画像データに含まれる各画素および当該画素に隣接する画素が有する画素情報から、当該画素に対応する前記処理画像データの各画素が有する画素情報を算出する、請求項5に記載の画像処理装置。
  7. 前記画像処理装置は、さらに表示部に接続されており、
    前記第3の階調範囲は、前記表示部における表示可能階調に適合されている、請求項1〜6のいずれか1項に記載の画像処理装置。
  8. 前記第3の階調範囲は、前記出力画像データの出力先デバイスに適合されている、請求項1〜6のいずれか1項に記載の画像処理装置。
  9. 前記変換手段は、前記処理画像データが有する画素情報のうち、その値が所定範囲内であるものを前記第3の階調範囲における有効な値に割当てる、請求項1〜6のいずれか1項に記載の画像処理装置。
  10. 前記画像処理装置は、さらに、ユーザ指令を受付ける入力部と接続されており、
    前記変換手段は、前記入力部を介して下限値および上限値が設定されると、その画素情報の値が前記下限値と一致する画素に対して前記第3の階調範囲の下限値の階調値を割当て、その画素情報の値が前記上限値と一致する画素に対して前記第3の階調範囲の上限値の階調値を割当てる、請求項9に記載の画像処理装置。
  11. 前記処理手段は、前記合成画像データの一部である画像データから前記処理画像データを生成する、請求項1〜6のいずれか1項に記載の画像処理装置。
  12. 前記出力画像データを用いて、前記撮像された対象物に関する検出処理または計測処理を実行する検出計測手段をさらに備える、請求項1〜6のいずれか1項に記載の画像処理装置。
  13. 露光条件を変更可能な撮像部に接続された処理装置における画像処理方法であって、
    前記撮像部を用いて異なる露光条件で複数回撮像を行なうことにより、複数の入力画像データを取得するステップを備え、前記入力画像データは、前記撮像部の検出感度に応じた第1の階調範囲で規定される画素情報を有し、
    前記複数の入力画像データを合成することで合成画像データを生成するステップを備え、前記合成画像データは、前記第1の階調範囲より広い第2の階調範囲で規定される画素情報を有し、
    前記合成画像データを対象として、撮像された対象物に関する検出または計測を容易化するための画像処理を行なうことにより、前記第2の階調範囲で規定される画素情報を有する処理画像データを生成するステップと、
    前記処理画像データを前記第2の階調範囲より狭い第3の階調範囲で規定される画素情報を有する出力画像データに変換するステップとを備える、画像処理方法。
  14. 前記生成するステップは、前記合成画像データについての画像データ比較を行なうことで、前記処理画像データを生成するステップを含む、請求項13に記載の画像処理方法。
  15. 前記生成するステップは、前記合成画像データに含まれる画素情報についての特徴量を反映した前記処理画像データを生成するステップを含む、請求項13に記載の画像処理方法。
JP2010024377A 2009-03-13 2010-02-05 画像処理装置および画像処理方法 Active JP5257375B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010024377A JP5257375B2 (ja) 2009-03-13 2010-02-05 画像処理装置および画像処理方法
US12/714,285 US8169504B2 (en) 2009-03-13 2010-02-26 Image processing device and image processing method
EP20100154943 EP2228768A1 (en) 2009-03-13 2010-02-26 Image processing device and image processing method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009061015 2009-03-13
JP2009061015 2009-03-13
JP2010024377A JP5257375B2 (ja) 2009-03-13 2010-02-05 画像処理装置および画像処理方法

Publications (2)

Publication Number Publication Date
JP2010239610A JP2010239610A (ja) 2010-10-21
JP5257375B2 true JP5257375B2 (ja) 2013-08-07

Family

ID=42199033

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010024377A Active JP5257375B2 (ja) 2009-03-13 2010-02-05 画像処理装置および画像処理方法

Country Status (3)

Country Link
US (1) US8169504B2 (ja)
EP (1) EP2228768A1 (ja)
JP (1) JP5257375B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6136085B2 (ja) * 2011-10-05 2017-05-31 ソニー株式会社 画像取得装置、画像取得方法、およびコンピュータプログラム
JP6004693B2 (ja) * 2012-03-23 2016-10-12 キヤノン株式会社 表示制御装置及びその制御方法
JP6103931B2 (ja) * 2012-12-28 2017-03-29 キヤノン株式会社 被検体情報取得装置、被検体情報取得方法
US9147378B2 (en) * 2013-04-01 2015-09-29 Adobe Systems Incorporated Color selection interface
CN107077824B (zh) * 2014-09-22 2020-11-03 索尼公司 图像显示控制设备、传输设备、图像显示控制方法
JP6543050B2 (ja) * 2015-03-06 2019-07-10 株式会社デンソーテン 障害物検出装置および障害物検出方法
WO2017037971A1 (ja) * 2015-09-01 2017-03-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 変換方法および変換装置
JP2018201158A (ja) * 2017-05-29 2018-12-20 ソニーセミコンダクタソリューションズ株式会社 信号処理装置、信号処理方法及びコンピュータプログラム
CN110557573A (zh) 2018-06-01 2019-12-10 苹果公司 用于成像的统一包围曝光方法
CN111028779B (zh) * 2020-01-02 2021-07-16 昆山国显光电有限公司 显示面板的补偿方法、装置以及显示面板
JP7478178B2 (ja) 2022-03-08 2024-05-02 株式会社土木管理総合試験所 鉄筋コンクリート体の鉄筋深さ位置推定方法
CN115240216B (zh) * 2022-08-04 2023-07-04 湖南三湘银行股份有限公司 提高票据识别准确度的电子票据处理方法及装置
CN116540238B (zh) * 2022-09-07 2023-10-13 长江水利委员会水文局 基于测深数据及声学影像融合的水下岸坡工情监测方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5264940A (en) * 1990-10-08 1993-11-23 Olympus Optical Co., Ltd. Image sensing apparatus having exposure level and dynamic range control circuit
JP3630905B2 (ja) * 1997-02-28 2005-03-23 キヤノン株式会社 撮像方法及び撮像装置
JP4003151B2 (ja) * 1998-07-09 2007-11-07 富士フイルム株式会社 撮像装置
US6975754B2 (en) * 2000-10-26 2005-12-13 Hitachi, Ltd. Circuit pattern inspection method and apparatus
JP2002223355A (ja) * 2001-01-25 2002-08-09 Olympus Optical Co Ltd 画像処理装置および画像処理プログラムを記録した記録媒体
JP2002305684A (ja) * 2001-01-31 2002-10-18 Olympus Optical Co Ltd 撮像システム及びプログラム
JP2002290707A (ja) * 2001-03-26 2002-10-04 Olympus Optical Co Ltd 画像処理装置
JP3753234B2 (ja) * 2001-04-17 2006-03-08 株式会社ロゼフテクノロジー 欠陥検出方法
JP3780178B2 (ja) * 2001-05-09 2006-05-31 ファナック株式会社 視覚センサ
JP4115378B2 (ja) * 2003-12-01 2008-07-09 徳島県 欠陥検出方法
JP2005351645A (ja) * 2004-06-08 2005-12-22 Fuji Photo Film Co Ltd 表面傷検出方法および装置並びにプログラム
JP4635651B2 (ja) * 2005-03-08 2011-02-23 パナソニック株式会社 パターン認識装置およびパターン認識方法
KR100785594B1 (ko) * 2005-06-17 2007-12-13 오므론 가부시키가이샤 화상 처리 장치
KR101155816B1 (ko) * 2005-06-17 2012-06-12 오므론 가부시키가이샤 3차원 계측을 행하는 화상 처리 장치 및 화상 처리 방법
JP2008052566A (ja) * 2006-08-25 2008-03-06 Canon Inc 画像処理装置及び画像処理方法

Also Published As

Publication number Publication date
US8169504B2 (en) 2012-05-01
EP2228768A1 (en) 2010-09-15
US20110058065A1 (en) 2011-03-10
JP2010239610A (ja) 2010-10-21

Similar Documents

Publication Publication Date Title
JP5257375B2 (ja) 画像処理装置および画像処理方法
JP5082776B2 (ja) 画像処理装置
JP5234211B2 (ja) 画像処理装置
JP5370056B2 (ja) 画像処理装置
CN100596206C (zh) 投影仪颜色校正方法
JP5181970B2 (ja) 画像処理装置および画像処理方法
US8401274B2 (en) Image processing apparatus and method
JP4747970B2 (ja) 画像処理装置
JP2009171008A (ja) 色再現装置および色再現プログラム
US8238524B2 (en) Microscope color image pickup apparatus, microscope color image pickup program product, and microscope color image pickup method
EP1808680A2 (en) Measuring method and apparatus using color images
JP7260937B2 (ja) カメラテストシステムおよびカメラテスト方法
JP2010139324A (ja) 色ムラ測定方法、および色ムラ測定装置
JP4946928B2 (ja) 画像処理装置および画像処理方法
JP2019079283A (ja) 画像処理装置、撮像装置、画像処理方法、および、プログラム
US20230169688A1 (en) Image correction apparatus, image correction method, program, and recording medium
JP6813749B1 (ja) 対象物の色を数値化する方法、信号処理装置、および撮像システム
WO2023008146A1 (ja) 撮影条件調整装置、撮影条件調整方法及びプログラム
WO2023008144A1 (ja) 表示体、データ処理装置、データ処理方法及びプログラム
WO2022059342A1 (ja) 画像処理装置、画像処理方法、プログラムおよび記録媒体
JP4588076B2 (ja) 撮像方法および撮像システム
JP2010145097A (ja) 色ムラ検査方法、および検査用画像データ生成装置
WO2009098968A1 (ja) 撮像方法および撮像システム
JP6517766B2 (ja) 色変換テーブル作成装置、色変換装置、色変換システム、及びプログラム
JP5733706B2 (ja) 画像処理装置、方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130315

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130408

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160502

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5257375

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250