JP2004279368A - フォーカス制御装置および方法 - Google Patents
フォーカス制御装置および方法 Download PDFInfo
- Publication number
- JP2004279368A JP2004279368A JP2003074949A JP2003074949A JP2004279368A JP 2004279368 A JP2004279368 A JP 2004279368A JP 2003074949 A JP2003074949 A JP 2003074949A JP 2003074949 A JP2003074949 A JP 2003074949A JP 2004279368 A JP2004279368 A JP 2004279368A
- Authority
- JP
- Japan
- Prior art keywords
- filter
- image
- line
- lens
- filtered
- 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.)
- Pending
Links
Images
Landscapes
- Testing Of Optical Devices Or Fibers (AREA)
- Eyeglasses (AREA)
Abstract
【課題】コンタクトレンズのカーブの曲率半径を、複数の角度で測定する。
【解決手段】レチクル13は、所定の角度で交わる複数の線分を有しており、光源11より出射された光は、レチクル13、レチクル結像レンズ14、ハーフミラー15、および対物レンズ16を経て、ステージ17上に載置されたコンタクトレンズ18により反射され、結像レンズ20を経て、CCD21により画像信号として取り込まれ、A/D変換器22によりA/D変換され、画像メモリ23に記憶される。画像信号には、レチクル13の像が含まれている。フィルタ部24は、画像メモリ23から読み出した画像信号を、2段のフィルタによりフィルタリングする。これにより、レチクル13の像のうち、特定の方向の線分に対応する成分のみを抽出する。抽出された成分に基づいて、曲率半径が求められる。
【選択図】 図2
【解決手段】レチクル13は、所定の角度で交わる複数の線分を有しており、光源11より出射された光は、レチクル13、レチクル結像レンズ14、ハーフミラー15、および対物レンズ16を経て、ステージ17上に載置されたコンタクトレンズ18により反射され、結像レンズ20を経て、CCD21により画像信号として取り込まれ、A/D変換器22によりA/D変換され、画像メモリ23に記憶される。画像信号には、レチクル13の像が含まれている。フィルタ部24は、画像メモリ23から読み出した画像信号を、2段のフィルタによりフィルタリングする。これにより、レチクル13の像のうち、特定の方向の線分に対応する成分のみを抽出する。抽出された成分に基づいて、曲率半径が求められる。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明は、フォーカス制御装置および方法に関し、例えばコンタクトレンズの曲率半径を測定する場合に用いて好適なフォーカス制御装置および方法に関する。
【0002】
【従来の技術】
コンタクトレンズは、それを使用する使用者の眼に合わせて製造する必要がある。このため、レンズの後方(眼球に接する方)の面(以下の説明において、レンズの後方の面をバックカーブBCと称する)、および前方(眼球に接しない方)の面(以下の説明において、レンズの前方の面をフロントカーブFCと称する)の曲率半径は、個々のレンズ毎に異なっている。製造したコンタクトレンズが、実際に意図するように製造されているか否かを検査するには、このレンズの曲率半径を、個々に測定する必要がある。
【0003】
また、コンタクトレンズの曲面は、球面の一部と一致することが理想的である。しかし、実際に製造されたコンタクトレンズの曲面は、必ずしも球面と一致するとは限らない。そこで、コンタクトレンズの曲面が、球面と一致しているか否かを検査する必要があり、そのために、コンタクトレンズの曲面の中心を通過する、複数の異なる方向の曲率半径を測定する必要がある。図1は、曲率半径を測定する方向の例を表している。
【0004】
図1において、上方には、コンタクトレンズ1を、曲面に対して垂直な方向に切断した場合の断面図が示され、下方には、コンタクトレンズ1の曲面に垂直な方向から、コンタクトレンズ1を見た場合の図が示されている。また、図1において、フロントカーブが、FCとして示され、バックカーブがBCとして示されている。図1のコンタクトレンズ1において、曲率半径を測定する方向は、例えば、線分AE、線分BF、線分CG、および線分DHの4方向である。なお、点Oは、コンタクトレンズ1の曲面の中心を示しており、線分AE、線分BF、線分CG、および線分DHは、いずれも、点Oを通過する。
【0005】
複数の異なる方向の曲率半径を測定するために、放射状の線分を含むターゲット像をコンタクトレンズに投影し、この投影方向と平行な方向にコンタクトレンズを徐々に移動させながら、コンタクトレンズから反射されたターゲット像に含まれている線分のコントラストが最も大きくなる位置を線分毎に特定し、特定した位置に基づいて、複数の方向の曲率半径を求めるようにしたものがある(例えば、特許文献1参照)。なお、特許文献1において、コントラストは、コンタクトレンズから反射されたターゲット像に含まれている線分と、その背景との境界における明るさの変化率として定義されている。
【0006】
【特許文献1】
特開平4−331345号公報(第3ベージ)
【0007】
【発明が解決しようとする課題】
コンタクトレンズから反射されたターゲット像に含まれている線分と、その背景との境界における明るさの変化率は、例えば、水平な線分についての変化率を求める場合、目的の線分を垂直微分することにより求められる。しかしながら、従来、目的の線分を垂直微分しようとすると、目的の線分に対して斜めに交差している線分も水平方向の成分の値を有しているため、斜めに交差した線分の水平成分の値も検出してしまい、目的の線分の明るさの変化率を正確に測定できないという課題があった。結果的に、正確に曲率半径を求められないことがあるという問題があった。
【0008】
この問題を解決するために、ターゲット像に含まれている線分を、直交する2本の線分のみとして(斜め方向の成分を無くして)、まず、90度の角度で直交する2方向の曲率半径を測定し、その後、ターゲット像を45度回転させ、最初に測定された曲率半径と45度の角度で交差する2方向の曲率半径を測定することが考えられる。
【0009】
しかしながら、このようにした場合、測定回数が2倍に増加してしまい、測定時間がかかるという課題があった。
【0010】
本発明はこのような状況に鑑みてなされたものであり、より効率的にレンズの曲率半径を測定することを目的とする。
【0011】
【課題を解決するための手段】
本発明のフォーカス制御装置は、複数の線分の像を撮像する撮像手段と、撮像手段により撮像された複数の線分の像を含む画像を、第1のフィルタと第2のフィルタにより独立にフィルタリングして、特定の方向の線分に対応する微分値を算出する算出手段と、算出手段により算出された微分値に基づいて、フォーカス状態を制御する制御手段とを備えることを特徴とする。
【0012】
第1のフィルタは、3×3のフィルタにより画像をフィルタリングし、第2のフィルタは、第1のフィルタによりフィルタリングされたデータを、2×2のフィルタによりフィルタリングするようにすることができる。
【0013】
前記撮像手段により撮像される前記複数の線分は、所定の角度で交差し、前記複数の線分の像をレンズに投影する投影手段と、投影手段とレンズ間の距離を設定する設定手段とをさらに設けるようにし、前記制御手段には、前記算出手段により算出された前記微分値に基づいて、前記画像に含まれる前記線分の輪郭が明瞭になる、投影手段とレンズ間の距離を、前記線分毎に特定し、特定された距離に基づいて、前記複数の線分の交差角度ごとのレンズの曲率半径を演算するようにさせることができる。
【0014】
本発明のフォーカス制御方法は、複数の線分の像を撮像する撮像ステップと、撮像ステップの処理により撮像された複数の線分の像を含む画像を、第1のフィルタと第2のフィルタにより独立にフィルタリングして、特定の方向の線分に対応する微分値を算出する算出ステップと、算出ステップの処理により算出された微分値に基づいて、フォーカス状態を制御する制御ステップとを含むことを特徴とする。
【0015】
本発明のフォーカス制御装置および方法においては、複数の線分の像が撮像され、撮像された複数の線分の像を含む画像が、第1のフィルタと第2のフィルタにより独立にフィルタリングされて、特定の方向の線分に対応する微分値が算出され、算出された微分値に基づいて、フォーカス状態が制御される。
【0016】
【発明の実施の形態】
図2は、本発明を適用したレンズ測定装置10の一実施の形態の構成を示している。
【0017】
図2においては、光源11より出射された光が、コンデンサレンズ12、レチクル13、レチクル結像レンズ14、ハーフミラー15、および対物レンズ16を介して、測定対象としてのコンタクトレンズ18に照射され、その反射光が、対物レンズ16、および結像レンズ20を介して、ビデオカメラなどのCCD(Charged Coupled Device)21に入射されるようになされている。
【0018】
コンデンサレンズ12は、光源11より出射された光を集束する。レチクル13は、レチクル結像レンズ14の後側焦点Fb14上に配置されており、コンデンサレンズ12により収束された光を透過させる。レチクル13は、例えば図3に示すように、垂直方向、水平方向、右上斜め方向、および左上斜め方向に伸びる4本の線分を有している。よって、レチクル13を透過した光には、図3のレチクル13の像が含まれる。従って、このレチクル13の像がコンタクトレンズ18に投影される。
【0019】
なお、以下の説明においては、図3に示されるように、垂直方向の線分をラインL1と称し、左上斜め方向の線分をラインL2と称し、水平方向の線分をラインL3と称し、右斜め方向の線分をラインL4と称する。ラインL1とラインL2は、45度の角度で交差している。ラインL2とラインL3も、45度の角度で交差している。ラインL3とラインL4もまた、45度の角度で交差している。ラインL4とラインL1も、45度の角度で交差している。
【0020】
レチクル結像レンズ14は、視野絞り位置のレチクル13の像を含む光を平行光に変換する。レチクル結像レンズ14により平行光に変換された光は、ハーフミラー15に入射する。ハーフミラー15は、レチクル結像レンズ14からの平行光を反射し、対物レンズ16に入射させる。対物レンズ16は、ハーフミラー15により反射された光を物体面19(図2の例においては、対物レンズ16の前側焦点Ff16)上に集束させる。
【0021】
ステージ17上の所定の位置には、コンタクトレンズ18が載置されている。ステージ17は、モータ37の駆動により、所定の範囲内で、光軸に沿って移動する。コンタクトレンズ18が物体面19上に位置するように、ステージ17の高さを調整した場合(図5を参照して後述する)、そこにレチクル13の像が結像し、これをCCD21で観測することができる。また、コンタクトレンズ18が所定の位置にある場合(図6を参照して後述する)、物体面19で一旦集束された光はコンタクトレンズ18に入射され、そこで反射されると、再び物体面19に集束する。このときの像も、CCD21でモニタすることができる。
【0022】
なお、以下の説明においては、ステージ17を対物レンズ16に近い側に最も近づけた場合のステージ17の位置を、原点とする。
【0023】
物体面19上の像からの光は、対物レンズ16に入射され、平行光とされた後、ハーフミラー15を介して結像レンズ20に入射される。結像レンズ20は、入入射された光を集束し、CCD21上に結像させる。
【0024】
CCD21は、結像された光を光電変換して画像信号を生成し、生成した画像信号をA/D変換器22に出力する。A/D変換器22は、CCD21より出力された画像信号をA/D変換し、変換した画像信号を画像メモリ23に供給する。画像メモリ23は、A/D変換器22から供給された画像信号を記憶する。画像メモリ23により記憶された画像信号は、フィルタ部24により、適宜読み出される。
【0025】
なお、図示は省略するが、CCD21の動作は、所定のインタフェースを介して、CPU41により制御される。
【0026】
フィルタ部24は、画像メモリ24から、画像信号を読み出し、フィルタリングすることにより、レチクル13の像を含む画像信号から、ラインL1乃至ラインL4のそれぞれの線分由来の微分値を算出する。フィルタ部24は、さらに、算出した微分値に所定の演算を施して、ラインL1乃至ラインL4毎の分散値を算出し、算出された分散値を、バス25を介して、RAM39に供給する。図4は、フィルタ部24の内部の構成例を示す図である。
【0027】
図4において、第1フィルタ101は、3×3フィルタ121−1および3×3フィルタ121−2を含む。3×3フィルタ121−1は、画像メモリ23から読み出された画像信号に対してフィルタ処理を実行し、処理後のデータを、2×2フィルタ131−1Aおよび2×2フィルタ131−1Bに供給する。3×3フィルタ121−2は、画像メモリ23から読み出された画像信号に対してフィルタ処理を実行し、処理後のデータを、2×2フィルタ131−2Aおよび2×2フィルタ131−2Bに供給する。
【0028】
第2フィルタ102は、2×2フィルタ131−1Aおよび2×2フィルタ131−1B、並びに2×2フィルタ131−2Aおよび2×2フィルタ131−2Bを含む。2×2フィルタ131−1Aは、3×3フィルタ121−1によりフィルタ処理されたデータに対して、さらにフィルタ処理を実行し、処理後のデータを、分散値算出部103−1に供給する。2×2フィルタ131−1Bは、3×3フィルタ121−1によりフィルタ処理されたデータに対して、さらにフィルタ処理を実行し、処理後のデータを、分散値算出部103−2に供給する。2×2フィルタ131−2Aは、3×3フィルタ121−2によりフィルタ処理されたデータに対して、さらにフィルタ処理を実行し、処理後のデータを、分散値算出部103−3に供給する。2×2フィルタ131−2Bは、3×3フィルタ121−2によりフィルタ処理されたデータに対して、さらにフィルタ処理を実行し、処理後のデータを、分散値算出部103−4に供給する。
【0029】
詳細は後述するが、画像信号を3×3フィルタ121−1でフィルタリングし、さらに2×2フィルタ131−1Aでフィルタリングすると、レチクル13のラインL1に対応する微分値を得ることができる。また、画像信号を3×3フィルタ121−1でフィルタリングし、さらに2×2フィルタ131−1Bでフィルタリングすると、レチクル13のラインL2に対応する微分値を得ることができる。また、画像信号を3×3フィルタ121−2でフィルタリングし、さらに2×2フィルタ131−2Aでフィルタリングすると、レチクル13のラインL3に対応する微分値を得ることができる。また、画像信号を3×3フィルタ121−2でフィルタリングし、さらに2×2フィルタ131−2Bでフィルタリングすると、レチクル13のラインL4に対応する微分値を得ることができる。
【0030】
分散値算出部103−1は、2×2フィルタ131−1Aから供給されたデータの分散値を算出し、算出した分散値をRAM39に供給する。分散値算出部103−2は、2×2フィルタ131−1Bから供給されたデータの分散値を算出し、算出した分散値をRAM39に供給する。分散値算出部103−3は、2×2フィルタ131−2Aから供給されたデータの分散値を算出し、算出した分散値をRAM39に供給する。分散値算出部103−4は、2×2フィルタ131−2Bから供給されたデータの分散値を算出し、算出した分散値をRAM39に供給する。
【0031】
図2に戻って、CPU(Central Processing Unit)41は、ROM(Read Only Memory)40に記憶されているプログラム、または記憶部35からRAM39にロードされたプログラムに従って、各種の演算を行い、フィルタ部24により演算されたデータをさらに処理するようになされている。RAM(Random Access Memory)39は、CPU41が各種の処理を実行する上において必要なデータやプログラムなどを記憶する。
【0032】
フィルタ部24、RAM39、ROM40、およびCPU41は、バス25を介して相互に接続されている。このバス25にはまた、インタフェース32も接続されている。
【0033】
入力部31は、使用者からの指令をインタフェース(I/F)32を介してCPU41に出力する。表示部33は、例えば、CRT(CathodeRay Tube)またはLCD(Liquid Crystal Display)などにより構成され、レンズ測定装置10の操作案内、およびコンタクトレンズ18の曲率半径などの測定結果を表示する。
【0034】
インタフェース32にはまた、必要に応じてドライブ34が接続され、磁気ディスク51、光ディスク52、光磁気ディスク53、或いは半導体メモリ54などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部35にインストールされる。記憶部35は、ハードディスクなどにより構成され、プログラムなどが記憶され、適宜、プログラムなどが読み出される。
【0035】
モータドライバ36は、インタフェース32を介したCPU41からの指令に従って、モータ37を駆動する。モータ37は、モータドライバ36による制御に従って、コンタクトレンズ18が載置されているステージ17を、対物レンズ16の光軸に沿って、図中、上下方向(対物レンズ16と接離する方向)の、所定の位置に移動させる。リニアスケール38は、ステージ17の移動位置を測定し、測定結果の距離をインタフェース32を介してCPU41に供給する。
【0036】
なお、RAM39、ROM40、CPU41などは、マイクロコンピュータにより構成することができる。
【0037】
また、図2の例においては、ステージ17に載置されたコンタクトレンズ18を対物レンズ16に対して移動させるようにしているが、ステージ17を固定し、光源11、コンデンサレンズ12、レチクル13、レチクル結像レンズ14、ハーフミラー15、および対物レンズ16から構成される光学系を移動させるようにしてもよいことはもとよりである。要は、コンタクトレンズ18を光学系に対して相対的に移動させればよい。
【0038】
次に、図5乃至図7を参照して、コンタクトレンズ18の曲率半径の測定の原理について説明する。
【0039】
図5は、コンタクトレンズ18のバックカーブBCが、レチクル13の像が形成されている物体面19上に位置するように、ステージ17の位置を調整した状態を表している。図5に示すように、コンタクトレンズ18のバックカーブBCが、レチクル13の像が形成されている物体面19上に位置するとき、このバックカーブBCで反射された光がCCD21上に集束するので、CCD21上に結像するレチクル13の像は、その輪郭が明瞭なものとなる。このときの像を、説明の便宜上、BC実像と定義する。また、このとき、リニアスケール38により観測されるステージ17の位置を、Irとする。
【0040】
図6は、図5に示す状態から、コンタクトレンズ18のバックカーブBCの曲率半径BCRに対応する距離だけ、コンタクトレンズ18(ステージ17)をさらに上方に移動した状態を表している。図6の示すように、コンタクトレンズ18のバックカーブBCの曲率半径BCRに対応する距離だけ、コンタクトレンズ18(ステージ17)がさらに上方に移動すると、対物レンズ16により出射された光が集束する点(物体面19)が、コンタクトレンズ18のバックカーブBCの曲率半径の中心に位置することになる。その結果、バックカーブBCで反射された光は、そのまま入射した光と同一の光路上を戻り、物体面19に再び集束する。従って、この場合においても、CCD21上に結像するレチクル13の像は、その輪郭が明瞭なものとなる。このときの像を、便宜上、BC虚像(実際には実像であるが)と定義する。また、このときの位置を、Iiとする。
【0041】
図7は、図5におけるコンタクトレンズ18の位置と、図6におけるコンタクトレンズ18の位置の相対関係を表している。図7において、点線で示されたコンタクトレンズ18は、図5に示されたコンタクトレンズ18の位置を示し、実線で示されたコンタクトレンズ18は、図6に示されたコンタクトレンズ18の位置を示している。
【0042】
図7において、対物レンズ16より出射されたレチクル13からの平行光は、図7の点P1(図5および図6における物体面19に対応する)に集束している。従って、この点P1上に、コンタクトレンズ18(点線で図示)のバックカーブBCが位置するとき(図5に示す位置にあるとき)、図5に示したレチクル13の画像がCCD21により検出されることになる。このときのリニアスケール38上の検出位置が、Irとして求められる。
【0043】
これに対して、コンタクトレンズ18を対物レンズ16から離れる方向に、バックカーブBCの曲率半径BCRだけ移動させると(図6に示す位置まで移動させると)、点P1が、コンタクトレンズ18のバックカーブBCの曲率の中心に位置することになる。その結果、点P1を通過した光は、コンタクトレンズ18のバックカーブBCの点P2および点P3にそれぞれ垂直に入射される。
【0044】
このため、点P2および点P3において反射された光は、入射した光路と同一の光路上を戻り、再びP1に集束することになる。この状態における画像が、図6に示す状態として、CCD21により検出される。この場合におけるリニアスケール38による測定位置がIiとなる。
【0045】
図7より明らかなように、測定位置IrとIiの差(Ii−Ir)は、バックカーブの曲率半径BCRと等しいことが判る。従って、測定位置IrとIiから、コンタクトレンズ18のバックカーブBCの曲率半径BCRは、以下の式(1)により算出することができる。
【0046】
BCR=Ii−Ir (1)
【0047】
式(1)によりバックカーブBCの曲率半径BCRを算出するためには、測定位置IrとIiを特定する必要がある。次に、図8乃至図11を参照して、測定位置IrとIiを特定する原理について説明する。
【0048】
上述したように、コンタクトレンズ18と光学系の相対的位置が、所定の条件を満足している場合、すなわちコンタクトレンズ18が図5または図6に示された位置にある場合、CCD21上に結像するレチクル13の像は、その輪郭が明瞭なものとなるはずであり、CCD21には、図8Aに示すようなピントの合った鮮明な画像が得られている。図8Aにおいては、レチクル13のラインL1に対応する画像aが表されている。
【0049】
この図8Aに示す画像において、画像aに対して垂直な方向(図中横方向)の1本のライン上の画素の輝度値を取り出すと、図8Bに示すようになる。図8Bのグラフは、横軸が、取り出されたデータのライン上の各画素の座標を表し、縦軸が、ライン上の各画素における輝度値を表している。図8Bに示されるように、画像aに対応する部分の輝度が大きく、それ以外の部分の輝度は小さい値となっている。そこで、この輝度データを微分し、その絶対値を得ると、図8Cに示すようになる。即ち、図8Bに示す輝度が、小さい値から大きい値に変化する部分と、大きな値から小さな値に変化する部分とにおいて、微分値の絶対値が大きくなる。
【0050】
このような微分を、画像aと垂直な方向の全てのラインについて行い、得られた微分値の絶対値とその数をヒストグラムに表すと、図9Aに示すようになる。同図において、横軸が微分値(絶対値)を表し、縦軸が、その大きさの微分値を有する画素の数(カウント値)を表している。
【0051】
一方、コンタクトレンズ18と光学系の相対的距離が、所定の条件を満足していない場合、すなわちコンタクトレンズ18が図5および図6に示された位置以外の位置にある場合、CCD21により観測される画像は、図10Aに示すように、所謂ピンボケの状態となる。図10Aは、画像aの境界線が、明瞭でなく、ぼやけている。このような画像の輝度の変化を表すと、図10Bに示すようになる。この図10Bを、図8Bと比較して明らかなように、図10Bにおいては、輝度の値が緩やかに変化している。このため、この図10Bに示す値を微分すると、図10Cに示すような結果が得られる。この図10Cのグラフを、図8Cのグラフと比較して明らかなように、微分値の大きさが、図10Cの方が小さい値となっている。
【0052】
そして、図10Cに示す全ての水平方向のラインについて同様の処理を行い、微分値(絶対値)のヒストグラムを作成すると、図9Bに示すようになる。この図9Bのヒストグラムを、図9Aに示すヒストグラムと比較して明らかなように、図9Bに示す場合の方が、微分値(絶対値)の最大値が、図9Aに示す場合より小さい値となっている。
【0053】
このように、図9Aに示す状態と、図9Bに示す状態から、CCD21により観測される画像aが、ピントが合っている状態にあるのか否かを判定することができる。この判定を行うため、本実施の形態においては、全画面の微分値(絶対値)のヒストグラムの分散値を演算する。即ち、微分値と、その値の微分値の画素の数(カウント値)の積の和を演算する。
【0054】
そして、算出した分散値を、ステージ17の位置と分散値の大きさをそれぞれ横軸と縦軸とする座標軸上にプロットする。こうして得られるグラフ上において、コンタクトレンズ18と光学系が所定の条件を満たす位置、すなわち図5または図6に示される位置に配置されたとき、分散値が正のピークを有することになる。すなわち、グラフ上には、図5の状態におけるピーク、および図6の状態におけるピークの、2つの正のピークが得られる。この正のピークのときのステージ11の位置が、IrまたはIiとなる。図5および図6から分かるように、
Ir<Ii
なので、2つのピークのときのステージ17の位置のうち、より距離が長いステージ17の位置のほうがIiであり、距離が短いステージ17の位置の方がIrである。
【0055】
以上のようにして、IrおよびIiを特定することができる。そして、特定したIrおよびIiを、式(1)に代入することにより、コンタクトレンズ18のバックカーブBCの曲率半径BCRを求めることができる。
【0056】
図2のレンズ測定装置10は、コンタクトレンズ18の曲率半径を、複数の方向に対して求めることができる。
【0057】
次に、図11および図12のフローチャートを参照して、レンズ測定装置10の曲率半径測定処理について説明する。
【0058】
ステップS1において、CPU41は、ステージ17が、予め設定してある所定の基準位置(原点)に存在するか否かを判定し、ステージ17が原点に存在しないと判定した場合、処理はステップS2に進む。
【0059】
ステップS2において、CPU41は、モータドライバ36に、ステージ17を原点に移動させるように指令する。モータドライバ36は、CPU41からの指令に従ってモータ37を駆動し、コンタクトレンズ18が載置されているステージ17の位置を原点に移動させる。その後、処理は、ステップS3に進む。
【0060】
ステップS1において、CPU41が、ステージ17は基準位置(原点)に存在すると判定した場合、ステップS2の処理はスキップされ、処理はステップS3に進む。
【0061】
ステップS3において、CPU41は、表示部33に、測定範囲の入力を促す案内を表示し、入力部31からの測定範囲の入力を受け付ける。すなわち、後述するように、レンズ測定装置10は、ステージ17を、原点を基準として光学系から離れる方向に移動させ、画像を取り込む処理を繰り返し実行するのであるが、このステージ17を移動させて測定処理を実行する範囲が、ここにおいて入力される。使用者は、入力部31を操作して、測定範囲の数値を入力する。入力された測定範囲の数値は、入力部31から、インタフェース32を介して、CPU41に通知される。CPU41は、通知された測定範囲の数値を、RAM39に記憶させる。
【0062】
コンタクトレンズ18のバックカーブBCは、所定の曲率半径を有している。いま、この曲率半径を測定するのであるが、コンタクトレンズ18の製造時における最悪のばらつきを考慮すれば、測定範囲は、所定の値の範囲内になる。従って、このように、測定範囲を規定すれば、それだけ測定処理を迅速に完了することができるようになる。
【0063】
コンタクトレンズ18の設計値が不明である場合においては、このステップS3における測定範囲は、このレンズ測定装置10により測定可能な最大の範囲が設定される。
【0064】
ステップS3の処理の後、処理はステップS4に進む。
【0065】
ステップS4において、CPU41は、表示部33に、測定開始の指示を受け付け可能である旨の案内を表示し、入力部31から測定開始の指示が入力されるまで待機する。使用者は、入力部31から、測定開始の指示を入力することができ、使用者により、測定開始の指示が入力された場合、測定開始の指示に対応する操作信号が、入力部31からCPU41に通知される。その後、処理はステップS5に進む。
【0066】
ステップS5において、CPU41は、光源11を点灯させる。これ以降、測定が終了するまで、光源11は点灯しつづける。光源11が点灯することにより、光源11からの光がコンデンサレンズ12、レチクル13、レチクル結像レンズ14、ハーフミラー15、および対物レンズ16を介して、コンタクトレンズ18に照射されるようになる。従って、コンタクトレンズ18には、レチクル13の像が投影される。ステップS5の処理の後、処理はステップS6に進む。
【0067】
ステップS6において、CPU41は、ステップS3で受け付けられた測定範囲のうち、原点に最も近い位置(始端部)に、ステージ17を移動させるように、モータドライバ36に指令する。モータドライバ36は、CPU41からの指令に従ってモータ37を駆動し、コンタクトレンズ18が載置されているステージ17の位置を、ステップS3で受け付けられた測定範囲の始端部に移動させる。その後、処理は、ステップS7に進む。
【0068】
ステップS7において、CPU41は、A/D変換器22に、CCD21が出力する画像データをA/D変換して、取り込むように指令する。A/D変換器22は、CPU41からの指令に従って、CCD21が出力する画像信号をA/D変換し、これを画像メモリ23に転送し、記憶させる。ステップS7の処理の後、処理はステップS8に進む。
【0069】
ステップS8において、CPU41は、フィルタ部24に指令して、フィルタリング処理を実行させる。
【0070】
ここで、ステップS8のフィルタリング処理について、図13のフローチャートを参照して、詳細に説明する。
【0071】
図13のステップS51において、図4の3×3フィルタ121−1は、画像メモリ23に記憶された画像信号を読み出し、以下の3×3の線形フィルタにより、フィルタリングし、フィルタ処理後のデータを2×2フィルタ131−1Aおよび2×2フィルタ131−1Bに出力する。
【0072】
【数1】
【0073】
なお、フィルタの演算子が以下のような場合(以下のフィルタをフィルタAとする)、
【0074】
【数2】
【0075】
演算式は、以下の式(2)である。
【0076】
Z’(i,j)=aZ(i−1,j−1)+bZ(i,j−1)+cZ(i+1,j−1)+dZ(i,j−1)+eZ(i,j)+fZ(i,j+1)+gZ(i−1,j+1)+hZ(i,j+1)+iZ(i+1,j+1) (2)
【0077】
式(2)において、Z(i,j)は、座標(i,j)の画素であり、Z(i−1,j−1)は座標(i−1,j−1)の画素であり、Z(i,j−1)は座標(i,j−1)の画素であり、Z(i+1,j−1)は座標(i+1,j−1)の画素であり、Z(i,j−1)は座標(i,j−1)の画素であり、Z(i,j+1)は座標(i,j+1)の画素であり、Z(i−1,j+1)は座標(i−1,j+1)の画素であり、Z(i,j+1)は座標(i,j+1)の画素であり、Z(i+1,j+1)は座標(i+1,j+1)の画素である。また、式(2)において、Z’(i,j)は、座標(i,j)の変換後の値である。Z(i−1,j−1)、Z(i,j−1)、Z(i+1,j−1)、Z(i,j−1)、Z(i,j+1)、Z(i−1,j+1)、Z(i,j+1)、およびZ(i+1,j+1)は、Z(i,j)を取り囲む近傍画素である。
【0078】
ステップS52において、図4の3×3フィルタ121−2は、画像メモリ23に記憶された画像信号を読み出し、以下の3×3の線形フィルタにより、フィルタリングし、フィルタ処理後のデータを2×2フィルタ131−2Aおよび2×2フィルタ131−2Bに出力する。
【0079】
【数3】
【0080】
ステップS53において、図4の2×2フィルタ131−1Aは、3×3フィルタ121−1がステップS51で出力したデータを、以下の2×2の線形フィルタにより、フィルタリングし、フィルタ処理後のデータを分散値算出部103−1に出力する。
【0081】
【数4】
【0082】
なお、フィルタの演算子が以下のような場合、
【数5】
演算式は、以下の式(3)である。
【0083】
Z’(i,j)=aZ(i,j)+bZ(i+1,j)+cZ(i,j+1)+dZ(i+1,j+1) (3)
【0084】
式(3)において、Z(i,j)は、座標(i,j)の画素であり、Z(i+1,j)は座標(i+1,j)の画素であり、Z(i,j+1)は座標(i,j+1)の画素であり、Z(i+1,j+1)は座標(i+1,j+1)の画素である。また、式(3)において、Z’(i,j)は、座標(i,j)の変換後の値である。
【0085】
図14は、2×2フィルタ131−1Aから出力されたデータの例を表している。図14において、微分後データ101は、3×3フィルタ121−1および2×2フィルタ131−1Aによりフィルタリングされたデータである。図14に示されるように、微分後データ101は、レチクル13のラインL1の成分のみを微分した値となっている。なお、実際のデータにおいては、ラインL1に対応する成分が白く表示され、それ以外の背景部分が黒く表示されていた(後述する図15乃至図17、並びに図20乃至図28も同様)。
【0086】
ステップS54において、図4の2×2フィルタ131−1Bは、3×3フィルタ121−1がステップS51で出力したデータを、以下の2×2の線形フィルタにより、フィルタリングし、フィルタ処理後のデータを分散値算出部103−2に出力する。
【0087】
【数6】
【0088】
図15は、2×2フィルタ131−1Bから出力されたデータの例を表している。図15において、微分後データ111は、3×3フィルタ121−1および2×2フィルタ131−1Bによりフィルタリングされたデータである。図15に示されるように、微分後データ111は、レチクル13のラインL2の成分のみを微分した値となっている。
【0089】
ステップS55において、図4の2×2フィルタ131−2Aは、3×3フィルタ121−2がステップS52で出力したデータを、以下の2×2の線形フィルタにより、フィルタリングし、フィルタ処理後のデータを分散値算出部103−3に出力する。
【0090】
【数7】
【0091】
図16は、2×2フィルタ131−2Aから出力されたデータの例を表している。図16において、微分後データ121は、3×3フィルタ121−2および2×2フィルタ131−2Aによりフィルタリングされたデータである。図16に示されるように、微分後データ121は、レチクル13のラインL3の成分のみを微分した値となっている。
【0092】
ステップS56において、図4の2×2フィルタ131−2Bは、3×3フィルタ121−2がステップS52で出力したデータを、以下の2×2の線形フィルタにより、フィルタリングし、フィルタ処理後のデータを分散値算出部103−4に出力する。
【0093】
【数8】
【0094】
図17は、2×2フィルタ131−2Bから出力されたデータの例を表している。図17において、微分後データ131は、3×3フィルタ121−2および2×2フィルタ131−2Bによりフィルタリングされたデータである。図17に示されるように、微分後データ131は、レチクル13のラインL4の成分のみを微分した値となっている。
【0095】
以上のようにして、フィルタリング処理が実行され、ラインL1乃至ラインL4の各線分のみにそれぞれ対応する微分値が、第2フィルタ102から出力される。
【0096】
なお、ステップS51およびステップS52の処理は、説明の便宜上、以上の順番で実行しているが、実際には同時に実行される。また、ステップS53乃至ステップS56の処理も、説明の便宜上、以上の順番で実行しているが、実際には、ステップS53乃至ステップS56の順番で処理が実行されることに限られるものではなく、その前段の第1フィルタ101からデータが供給されたタイミングで、それぞれ処理を実行する。
【0097】
図11に戻って、ステップS8のフィルタリング処理の後、処理はステップS9に進み、フィルタ部24は、分散値算出処理を実行する。ステップS9の分散値算出処理について、図18のフローチャートを参照して説明する。
【0098】
ステップS71において、分散値算出部103−1は、図13のステップS53で、2×2フィルタ131−1Aから出力された、図14に示される微分後データ101の分散値を算出する。すなわち、分散値算出部103−1は、まず2×2フィルタ103−1Aから出力された微分後データ101の絶対値を算出し、ラインL1と垂直な方向の全ラインのデータを取り出し、微分値(絶対値)のヒストグラムの分散値を演算する。即ち、微分値と、その値の微分値の画素の数(カウント値)の積の和を演算する。分散値算出部103−1は、算出した分散値を、CPU41に供給する。
【0099】
ステップS72において、分散値算出部103−2は、図13のステップS54で、2×2フィルタ131−1Bから出力された、図15に示される微分後データ111の分散値を算出する。すなわち、分散値算出部103−2は、まず2×2フィルタ103−1Bから出力された微分後データ111の絶対値を算出し、ラインL2と垂直な方向の全ラインのデータを取り出し、微分値(絶対値)のヒストグラムの分散値を演算する。分散値算出部103−2は、算出した分散値を、CPU41に供給する。
【0100】
ステップS73において、分散値算出部103−3は、図13のステップS55で、2×2フィルタ131−2Aから出力された、図16に示される微分後データ121の分散値を算出する。すなわち、分散値算出部103−3は、まず2×2フィルタ103−2Aから出力された微分後データ121の絶対値を算出し、ラインL3と垂直な方向の全ラインのデータを取り出し、微分値(絶対値)のヒストグラムの分散値を演算する。分散値算出部103−3は、算出した分散値を、CPU41に供給する。
【0101】
ステップS74において、分散値算出部103−4は、図13のステップS56で、2×2フィルタ131−2Bから出力された、図17に示される微分後データ131の分散値を算出する。すなわち、分散値算出部103−4は、まず2×2フィルタ103−2Bから出力された微分後データ131の絶対値を算出し、ラインL4と垂直な方向の全ラインのデータを取り出し、微分値(絶対値)のヒストグラムの分散値を演算する。分散値算出部103−4は、算出した分散値を、CPU41に供給する。
【0102】
以上のようにして、分散値算出処理が実行され、ラインL1乃至ラインL4のそれぞれに対応する分散値が算出される。なお、以上の説明においては、説明の便宜上、ステップS71乃至ステップS74の順番で、処理を実行したが、実際には、ステップS71乃至ステップS74の順番で処理が実行されるとは限らず、分散値算出部103−1乃至103−4は、第2フィルタ102からデータが供給されたタイミングで、それぞれ処理を実行する。
【0103】
図11に戻って、ステップS9の分散値算出処理の後、処理はステップS10に進み、CPU41は、ステップS9の処理により供給された、ラインL1乃至ラインL4にそれぞれ対応する分散値を、RAM39に記憶させる。なお、CPU41は、その時点でリニアスケール38から供給されたステージ17の距離を取得し、これを、分散値と対応付けて記憶させる。
【0104】
ステップS10の処理の後、ステップS11において、CPU41は、測定範囲内を全て測定したか否かを判定する。すなわち、CPU41は、RAM39に記憶された測定範囲のうち、原点から最も遠い位置(終端部)の値を読み出すと共に、リニアスケール38から、現在のステージ17までの距離を取得し、現在のステージ17の位置が測定範囲の終端部であるか否かを判定する。その結果、現在のステージ17の位置が測定範囲の終端部ではなかった場合、処理はステップS12に進む。
【0105】
ステップS12において、CPU41は、モータドライバ36に、ステージ17を1ステップだけ、対物レンズ16と離れる方向に移動させるように指令する。モータドライバ36は、CPU41からの指令に従って、モータ37を駆動し、ステージ17を、1ステップだけ、対物レンズ16と離れる方向に移動させる。
【0106】
ステップS12の処理の後、処理はステップS7に戻り、上述したステップS7以降の処理がくり返し実行される。
【0107】
以上のようにして、ステージ17が測定範囲内にある間、ステップS7乃至ステップS12の処理がくり返され、RAM39には、図19に示されるように、分散値が記憶される。図19は、RAM39に記憶される分散値、およびステージ17までの距離の例を表している。
【0108】
図19において、1番左側には、測定したステップが1乃至Nまで示され、その右隣には、各ステップにおけるステージ17までの距離が示されている。さらにその右側には、各ステップにおける分散値が、ラインL1、ラインL2、ラインL3、およびラインL4の順番で示されている。このように、RAM39には、各ステップ毎に、ステージ17までの距離、およびラインL1乃至ラインL4に対応する分散値が、対応付けられて記憶されている。なお、図19においては、ステージ17までの距離は、全て「**」で示されているが、実際には、リニアスケール38により測定されたステージ17までの距離が記録されている。また、図19においては、分散値は全て「***」で示されているが、実際には、フィルタ部24から供給された分散値が記録されている。
【0109】
図11に戻って、ステップS11において、CPU41が現在のステージ17の位置が測定範囲の終端部であると判定した場合、処理は、図12のステップS13に進む。
【0110】
ステップS13において、CPU41は、ラインL1乃至ラインL4の中から、曲率半径BCRを算出する線分を選択する。ステップS14において、CPU41は、ステップS13で選択された線分に対応する分散値、および分散値に対応するステージ17までの距離を読み出し、ノイズ成分除去処理を実行する。すなわち、CPU41は、例えば、FFT(高速フーリエ変換)などの処理を行い、高周波成分によるノイズ成分を除去する。その後、処理はステップS15に進む。
【0111】
ステップS15において、CPU41は、ステップS14でノイズ成分を除去したデータ(分散)のピーク位置を演算により求める。
【0112】
すなわち、ステップS9で、RAM39に格納し、ステップS14でノイズ成分を除去した分散値を、ステージ17の位置と分散値の大きさをそれぞれ横軸と縦軸とする座標軸上にプロットして得られるグラフ上において、コンタクトレンズ18と光学系が所定の条件を満たす位置(図5および図6に示される位置)に配置されたとき、分散値が正のピークを有することになる。そこで、この分散値の正のピーク位置を検出するために、CPU41は、例えば分散値を微分する処理を実行する。正のピーク位置においては、この微分値が正から負に変化することになる。従って、CPU41は、この微分値の正から負に変化するゼロクロス点を検出することで、コンタクトレンズ18と光学系が所定の位置に配置されたときのステージ17の位置、すなわちIrおよびIiを求める。
【0113】
ステップS15の処理の後、ステップS16において、CPU41は、ステップS15で算出した値を、式(1)に代入することにより、ステップS13で選択された線分に対応するコンタクトレンズ18のバックカーブBCの曲率半径BCRを算出する。CPU41は、算出した曲率半径BCRを、線分と対応付けてRAM39に記憶させる。
【0114】
ステップS16の処理の後、ステップS17において、CPU41は、ラインL1乃至ラインL4の全ての線分に対応する曲率半径BCRを算出したか否かを判定し、全ての線分に対応する曲率半径BCRの算出が終わっていない場合(まだ算出していない線分があった場合)、処理はステップS13に戻り、上述したステップS13以降の処理をくり返し実行する。なお、2回目以降のステップS13においては、すでに選択された線分は選択されないようになっている。
【0115】
ステップS17において、CPU41が、ラインL1乃至ラインL4の全ての線分に対応する曲率半径BCRを算出したと判定した場合、処理はステップS18に進む。
【0116】
ステップS18において、CPU41は、ステップS16で算出された曲率半径BCRを、RAM39から読み出し、ラインL1乃至ラインL4のそれぞれに対応する曲率半径BCRを、表示部33に表示させる。これにより、使用者は、45度間隔で測定された曲率半径BCRの4つの値を知ることができる。なお、入力部31からの指示に従って、CPU41は、算出された曲率半径を記憶部35に記憶させたり、ドライブ34を介して、磁気ディスク51、光ディスク52、光磁気ディスク53、または半導体メモリ54に記録することも可能である。
【0117】
以上のようにして、レンズ測定装置10の曲率半径測定処理が実行される。以上のような処理を実行することにより、複数の方向の曲率半径を測定することが可能となる。
【0118】
また、レチクル13に含まれている線分を、直交する2本の線分のみとして(斜め方向の成分を無くして)、まず、90度の角度で直交する2方向の曲率半径を測定し、その後、レチクル13を45度回転させ、最初に測定された曲率半径と45度の角度で交差する2方向の曲率半径を測定する場合、測定回数が2倍に増加してしまうが、本発明によれば、測定回数を増加させることなく、複数の異なる方向の曲率半径を測定することができる。従って、測定時間が長時間にならないようにすることができる。
【0119】
ところで、本発明においては、ラインL1乃至ラインL4のそれぞれに対応した微分値を算出するために、3×3フィルタ121−1および3×3フィルタ121−2、2×2フィルタ131−1Aおよび2×2フィルタ131−1B、並びに2×2フィルタ131−2Aおよび2×2フィルタ131−2Bにより、画像信号をフィルタリングしている。
【0120】
このように、第1フィルタおよび第2フィルタの2つのフィルタによりフィルタリングして、ラインL1乃至ラインL4のそれぞれに対応した微分値を算出することは、以下の実験結果を根拠としている。
【0121】
まず、3×3のフィルタのみによるフィルタリングの結果を示す。
【0122】
映像・画像処理LSI/モジュールデータブック別冊1997−1998(住友金属工業株式会社、第573ページ)には、以下のフィルタ(以下のフィルタをフィルタ1とする)により、横線の検出ができると記載されていた。
【0123】
【数9】
【0124】
そこで、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、フィルタ1によりフィルタリングしたところ、図20に示される結果となった。図20においては、ラインL1に対応する縦線は消去されているが、ラインL2およびラインL4に対応する線分は消去されずに残っていた。また、消去されたラインL1に対応するフィルタの方向成分を足し算すると、−1+2+(−1)=0となる。
【0125】
次に、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、以下のフィルタ(以下のフィルタをフィルタ2とする)によりフィルタリングした。
【0126】
【数10】
【0127】
フィルタ1の場合と同様、図20のような結果となった。ただし、フィルタ2においては、ラインL3およびラインL4に対応する線分は、フィルタ1でフィルタリングした場合より、薄く表示された。また、消去されたラインL1に対応するフィルタの方向成分を足し算すると、−1+2+(−1)=0となる。
【0128】
次に、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、以下のフィルタ(以下のフィルタをフィルタ3とする)によりフィルタリングした。
【0129】
【数11】
【0130】
図21に示されるような結果となった。図21においては、ラインL3に対応する線分が消去されている。また、消去されたラインL3に対応するフィルタの方向成分を足し算すると、0+0+0=0となる。
【0131】
次に、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、以下のフィルタ(以下のフィルタをフィルタ4とする)によりフィルタリングした。
【0132】
【数12】
【0133】
図22に示されるような結果となった。図22においては、ラインL2に対応する線分が消去されている。また、消去されたラインL2に対応するフィルタの方向成分を足し算すると、0+0+0=0となる。なお、図22においては、負の値を無視している。また、同様に、フィルタ4によりフィルタリングして、フィルタリング後の値の絶対値をとった場合、図23に示されるような結果となった。図23においても、図22と同様、ラインL2に対応する線分が消去されている。
【0134】
次に、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、以下のフィルタ(以下のフィルタをフィルタ5とする)によりフィルタリングした。
【0135】
【数13】
【0136】
図24に示されるような結果となった。図24においては、ラインL1およびラインL3に対応する線分が消去されている。また、消去されたラインL1に対応するフィルタの方向成分を足し算すると、1+(−2)+1=0となる。また、消去されたラインL3に対応するフィルタの方向成分を足し算すると、1+(−2)+1=0となる。また、フィルタ5によりフィルタリングした場合、実際には、ラインL2に対応する線分は、薄く表示された。
【0137】
次に、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、以下のフィルタ(以下のフィルタをフィルタ6とする)によりフィルタリングした。
【0138】
【数14】
【0139】
フィルタ5の場合と同様、図24に示されるような結果となった。また、消去されたラインL1に対応するフィルタの方向成分を足し算すると、(−1)+2+(−1)=0となる。また、消去されたラインL3に対応するフィルタの方向成分を足し算すると、(−1)+2+(−1)=0となる。
【0140】
CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、以下のフィルタ(以下のフィルタをフィルタ7とする)によりフィルタリングした。
【0141】
【数15】
【0142】
フィルタ5およびフィルタ6の場合と同様、図24に示されるような結果となった。以上のことより、フィルタ5乃至フィルタ7により、ラインL1およびラインL3に対応する線分を消去することができることが分かった。また、消去されたラインL1に対応するフィルタの方向成分を足し算すると、0+0+0=0となり、消去されたラインL3に対応するフィルタの方向成分を足し算すると、0+0+0=0となる。
【0143】
また、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、以下のフィルタ(以下のフィルタをフィルタ8とする)によりフィルタリングした。
【0144】
【数16】
【0145】
図25に示されるような結果となった。図25においては、ラインL2およびラインL4に対応する線分が消去されている。また、ラインL2に対応するフィルタの方向成分を足し算すると、0+0+0=0となり、ラインL4に対応するフィルタの方向成分を足し算すると、0+0+0=0となる。
【0146】
また、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、以下のフィルタ(以下のフィルタをフィルタ9とする)によりフィルタリングした。
【0147】
【数17】
【0148】
図26に示されるような結果となった。図26においては、ラインL1およびラインL4に対応する線分が消去されている。また、ラインL1に対応するフィルタの方向成分を足し算すると、(−1)+2+(−1)=0となり、ラインL4に対応する方向成分を足し算すると、(−1)+2+(−1)=0となる。
【0149】
まず、以上の実験の結果、3×3のフィルタでフィルタリングすることにより、2本分の線分に対応する方向成分を消去することができることが分かった。また、消去される線分の方向のフィルタ係数同士を足し算すると、0となることが分かった。
【0150】
すなわち、上述したフィルタAを参照して説明すると、ラインL1に対応する線分が消去される場合、b+e+h=0であり、ラインL2に対応する線分が消去される場合、a+e+i=0であり、ラインL3に対応する線分が消去される場合、d+e+f=0であり、ラインL4に対応する線分が消去される場合、g+e+c=0であることが分かった。
【0151】
しかしながら、3×3のフィルタでは、3方向の成分を同時に消去することは困難である。そこで、1つ目のフィルタにより2方向の成分を消去した後、2つ目のフィルタで、残る1方向の成分を消去する方法を実験した。
【0152】
例えば、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、まず、3×3フィルタ121−2によりフィルタリングし、3×3フィルタ121−2によりフィルタリングされたデータをさらに、以下のフィルタ(以下のフィルタをフィルタ10とする)によりフィルタリングした。
【0153】
【数18】
【0154】
図27に示されるような結果となった。図27においては、ラインL1およびラインL2に対応する線分が消去されている。
【0155】
また例えば、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、まず、フィルタ121−2によりフィルタリングし、フィルタ121−2によりフィルタリングされたデータをさらに、以下のフィルタ(以下のフィルタをフィルタ11とする)によりフィルタリングした。
【0156】
【数19】
【0157】
図17に示されるような結果となった。ただし、ラインL4に対応する線分が、3×3フィルタ121−2および2×2フィルタ131−2Bによりフィルタリングした場合より、薄く表示された。
【0158】
また、例えばCCD21により生成され、A/D変換器22によりA/D変換された画像信号を、まず、フィルタ121−1によりフィルタリングし、フィルタ121−1によりフィルタリングされたデータをさらに、以下のフィルタ(以下のフィルタをフィルタ12とする)によりフィルタリングした。
【0159】
【数20】
【0160】
図28に示されるような結果となった。図28においては、ラインL3およびラインL4に対応する線分が消去されている。
【0161】
また、フィルタ部24のフィルタとして採用されている3×3フィルタ121−1および2×2フィルタ131−1Aによるフィルタリングの実験も行なったところ、上述した図14のような結果となった。また、3×3フィルタ121−1および2×2フィルタ131−1Bによるフィルタリングの実験も行なったところ、上述した図15のような結果となった。また、3×3フィルタ121−2および2×2フィルタ131−2Aによるフィルタリングの実験も行なったところ、上述した図16のような結果となった。また、3×3フィルタ121−2および2×2フィルタ131−2Bによるフィルタリングの実験も行なったところ、上述した図17のような結果となった。
【0162】
以上の実験結果に基づいて、本発明においては、3×3フィルタ121−1および2×2フィルタ131−1Aにより、ラインL1に対応する成分を抽出し、3×3フィルタ121−1および2×2フィルタ131−1Bにより、ラインL2に対応する成分を抽出し、3×3フィルタ121−2および2×2フィルタ131−2Aにより、ラインL3に対応する成分を抽出し、3×3フィルタ121−2および2×2フィルタ131−2Bにより、ラインL4に対応する成分を抽出するようにした。
【0163】
なお、3×3のフィルタによりフィルタリングした後、さらに3×3のフィルタでフィルタリングする実験も行なったが、本発明において採用されたフィルタを用いた場合と比較して、ノイズが多くなったので、採用しなかった。
【0164】
例えば、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、まず、フィルタ121−2によりフィルタリングし、フィルタ121−2によりフィルタリングされたデータをさらに、以下のフィルタ(以下のフィルタをフィルタ13とする)によりフィルタリングした。
【0165】
【数21】
【0166】
図27に示されるような結果となった。
【0167】
また例えば、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、まず、フィルタ121−2によりフィルタリングし、フィルタ121−2によりフィルタリングされたデータをさらに、フィルタ1によりフィルタリングしたところ、図27に示されるような結果となった。
【0168】
また例えば、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、まず、フィルタ121−2によりフィルタリングし、フィルタ121−2によりフィルタリングされたデータをさらに、以下のフィルタ(以下のフィルタをフィルタ14とする)によりフィルタリングした。
【0169】
【数22】
【0170】
図16に示されるような結果となった。ただし、フィルタ121−2およびフィルタ131−2Aによりフィルタリングした場合より、ノイズが多かった。
【0171】
また例えば、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、まず、フィルタ121−2によりフィルタリングし、フィルタ121−2によりフィルタリングされたデータをさらに、以下のフィルタ(以下のフィルタをフィルタ15とする)によりフィルタリングした。
【0172】
【数23】
【0173】
図16に示されるような結果となった。ただし、フィルタ121−2およびフィルタ131−2Aによりフィルタリングした場合より、ノイズが多かった。
【0174】
また例えば、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、まず、フィルタ121−2によりフィルタリングし、フィルタ121−2によりフィルタリングされたデータをさらに、フィルタ7によりフィルタリングした。図17に示されるような結果となった。ただし、フィルタ121−2およびフィルタ131−2Bによりフィルタリングした場合より、ノイズが多かった。
【0175】
また、5×5のフィルタによりフィルタリングする実験も行なった。例えば、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、以下のフィルタ(以下のフィルタをフィルタ16とする)によりフィルタリングした。
【0176】
【数24】
【0177】
図28に示されるような結果となった。
【0178】
また、5×5のフィルタによりフィルタリングされたデータをさらに3×3のフィルタでフィルタリングする実験も行なった。例えば、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、まず、フィルタ16によりフィルタリングし、フィルタ16によりフィルタリングされたデータをさらに、以下のフィルタ(以下のフィルタをフィルタ17とする)によりフィルタリングした。
【0179】
【数25】
【0180】
図28に示されるような結果となった。
【0181】
以上のような、実験の結果、ラインL1に対応する線分以外の成分を消去するためには、3×3のフィルタ121−1、および2×2のフィルタ131−1Aによりフィルタリングすることが良いことが分かった。また、ラインL2に対応する線分以外の成分を消去するためには、3×3のフィルタ121−1、および2×2のフィルタ131−1Bによりフィルタリングすることが良いことが分かった。また、ラインL3に対応する線分以外の成分を消去するためには、3×3のフィルタ121−2、および2×2のフィルタ131−2Aによりフィルタリングすることが良いことが分かった。また、ラインL4に対応する線分以外の成分を消去するためには、3×3のフィルタ121−2、および2×2のフィルタ131−2Bによりフィルタリングすることが良いことが分かった。
【0182】
以上の実験結果に基づいて、本発明においては、図4に示されるような、第1フィルタ101および第2フィルタを設けている。
【0183】
以上のように、本発明によれば、測定回数を増加させることなく、複数の方向から、コンタクトレンズ18の曲率半径を測定することが可能となる。よって、測定時間を増加させないようにすることができる。
【0184】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【0185】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0186】
【発明の効果】
以上のように、本発明によれば、レンズの曲率半径を測定することができる。また、本発明によれば、測定時間は、従来と変わらないまま、複数の方向から、レンズの曲率半径を測定することができる。
【図面の簡単な説明】
【図1】コンタクトレンズの曲率半径の測定方向を説明する図である。
【図2】本発明を適用したレンズ測定装置の構成例を示す図である。
【図3】図2のレチクルの構成例を示す図である。
【図4】図2のフィルタ部の構成例を示す図である。
【図5】コンタクトレンズのバックカーブからの光により形成される像の位置を説明する図である。
【図6】コンタクトレンズのバックカーブからの光により形成される像の位置を説明する他の図である。
【図7】コンタクトレンズのバックカーブの曲率半径を求める原理を説明する図である。
【図8】図5および図7に示されるステージの位置の特定方法を説明する図である。
【図9】図5および図7に示されるステージの位置の特定方法を説明する他の図である。
【図10】図5および図7に示されるステージの位置の特定方法を説明する、さらに他の図である。
【図11】レンズ測定装置の曲率半径測定処理を説明するフローチャートである。
【図12】レンズ測定装置の曲率半径測定処理を説明する、図11に続くフローチャートである。
【図13】図11のステップS8の処理を詳細に説明するフローチャートである。
【図14】フィルタリングされたデータの例を示す図である。
【図15】フィルタリングされたデータの例を示す他の図である。
【図16】フィルタリングされたデータの例を示す、さらに他の図である。
【図17】フィルタリングされたデータの例を示す図である。
【図18】図11のステップS9の処理を詳細に説明するフローチャートである。
【図19】RAMに記憶されるデータの例を示す図である。
【図20】実験結果の例を示す図である。
【図21】実験結果の例を示す他の図である。
【図22】実験結果の例を示す、さらに他の図である。
【図23】実験結果の例を示す図である。
【図24】実験結果の例を示す他の図である。
【図25】実験結果の例を示す、さらに他の図である。
【図26】実験結果の例を示す図である。
【図27】実験結果の例を示す他の図である。
【図28】実験結果の例を示す、さらに他の図である。
【符号の説明】
10 レンズ測定装置
11 光源
12 コンデンサレンズ
13 レチクル
14 レチクル結像レンズ
15 ハーフミラー
16 対物レンズ
17 ステージ
18 コンタクトレンズ
19 物体面
20 結像レンズ
21 CCD
22 A/D変換器
23 画像メモリ
24 フィルタ部
37 モータ
38 リニアスケール
39 RAM
40 ROM
41 CPU
101 第1フィルタ
102 第2フィルタ
103−1乃至103−4 分散値算出部
【発明の属する技術分野】
本発明は、フォーカス制御装置および方法に関し、例えばコンタクトレンズの曲率半径を測定する場合に用いて好適なフォーカス制御装置および方法に関する。
【0002】
【従来の技術】
コンタクトレンズは、それを使用する使用者の眼に合わせて製造する必要がある。このため、レンズの後方(眼球に接する方)の面(以下の説明において、レンズの後方の面をバックカーブBCと称する)、および前方(眼球に接しない方)の面(以下の説明において、レンズの前方の面をフロントカーブFCと称する)の曲率半径は、個々のレンズ毎に異なっている。製造したコンタクトレンズが、実際に意図するように製造されているか否かを検査するには、このレンズの曲率半径を、個々に測定する必要がある。
【0003】
また、コンタクトレンズの曲面は、球面の一部と一致することが理想的である。しかし、実際に製造されたコンタクトレンズの曲面は、必ずしも球面と一致するとは限らない。そこで、コンタクトレンズの曲面が、球面と一致しているか否かを検査する必要があり、そのために、コンタクトレンズの曲面の中心を通過する、複数の異なる方向の曲率半径を測定する必要がある。図1は、曲率半径を測定する方向の例を表している。
【0004】
図1において、上方には、コンタクトレンズ1を、曲面に対して垂直な方向に切断した場合の断面図が示され、下方には、コンタクトレンズ1の曲面に垂直な方向から、コンタクトレンズ1を見た場合の図が示されている。また、図1において、フロントカーブが、FCとして示され、バックカーブがBCとして示されている。図1のコンタクトレンズ1において、曲率半径を測定する方向は、例えば、線分AE、線分BF、線分CG、および線分DHの4方向である。なお、点Oは、コンタクトレンズ1の曲面の中心を示しており、線分AE、線分BF、線分CG、および線分DHは、いずれも、点Oを通過する。
【0005】
複数の異なる方向の曲率半径を測定するために、放射状の線分を含むターゲット像をコンタクトレンズに投影し、この投影方向と平行な方向にコンタクトレンズを徐々に移動させながら、コンタクトレンズから反射されたターゲット像に含まれている線分のコントラストが最も大きくなる位置を線分毎に特定し、特定した位置に基づいて、複数の方向の曲率半径を求めるようにしたものがある(例えば、特許文献1参照)。なお、特許文献1において、コントラストは、コンタクトレンズから反射されたターゲット像に含まれている線分と、その背景との境界における明るさの変化率として定義されている。
【0006】
【特許文献1】
特開平4−331345号公報(第3ベージ)
【0007】
【発明が解決しようとする課題】
コンタクトレンズから反射されたターゲット像に含まれている線分と、その背景との境界における明るさの変化率は、例えば、水平な線分についての変化率を求める場合、目的の線分を垂直微分することにより求められる。しかしながら、従来、目的の線分を垂直微分しようとすると、目的の線分に対して斜めに交差している線分も水平方向の成分の値を有しているため、斜めに交差した線分の水平成分の値も検出してしまい、目的の線分の明るさの変化率を正確に測定できないという課題があった。結果的に、正確に曲率半径を求められないことがあるという問題があった。
【0008】
この問題を解決するために、ターゲット像に含まれている線分を、直交する2本の線分のみとして(斜め方向の成分を無くして)、まず、90度の角度で直交する2方向の曲率半径を測定し、その後、ターゲット像を45度回転させ、最初に測定された曲率半径と45度の角度で交差する2方向の曲率半径を測定することが考えられる。
【0009】
しかしながら、このようにした場合、測定回数が2倍に増加してしまい、測定時間がかかるという課題があった。
【0010】
本発明はこのような状況に鑑みてなされたものであり、より効率的にレンズの曲率半径を測定することを目的とする。
【0011】
【課題を解決するための手段】
本発明のフォーカス制御装置は、複数の線分の像を撮像する撮像手段と、撮像手段により撮像された複数の線分の像を含む画像を、第1のフィルタと第2のフィルタにより独立にフィルタリングして、特定の方向の線分に対応する微分値を算出する算出手段と、算出手段により算出された微分値に基づいて、フォーカス状態を制御する制御手段とを備えることを特徴とする。
【0012】
第1のフィルタは、3×3のフィルタにより画像をフィルタリングし、第2のフィルタは、第1のフィルタによりフィルタリングされたデータを、2×2のフィルタによりフィルタリングするようにすることができる。
【0013】
前記撮像手段により撮像される前記複数の線分は、所定の角度で交差し、前記複数の線分の像をレンズに投影する投影手段と、投影手段とレンズ間の距離を設定する設定手段とをさらに設けるようにし、前記制御手段には、前記算出手段により算出された前記微分値に基づいて、前記画像に含まれる前記線分の輪郭が明瞭になる、投影手段とレンズ間の距離を、前記線分毎に特定し、特定された距離に基づいて、前記複数の線分の交差角度ごとのレンズの曲率半径を演算するようにさせることができる。
【0014】
本発明のフォーカス制御方法は、複数の線分の像を撮像する撮像ステップと、撮像ステップの処理により撮像された複数の線分の像を含む画像を、第1のフィルタと第2のフィルタにより独立にフィルタリングして、特定の方向の線分に対応する微分値を算出する算出ステップと、算出ステップの処理により算出された微分値に基づいて、フォーカス状態を制御する制御ステップとを含むことを特徴とする。
【0015】
本発明のフォーカス制御装置および方法においては、複数の線分の像が撮像され、撮像された複数の線分の像を含む画像が、第1のフィルタと第2のフィルタにより独立にフィルタリングされて、特定の方向の線分に対応する微分値が算出され、算出された微分値に基づいて、フォーカス状態が制御される。
【0016】
【発明の実施の形態】
図2は、本発明を適用したレンズ測定装置10の一実施の形態の構成を示している。
【0017】
図2においては、光源11より出射された光が、コンデンサレンズ12、レチクル13、レチクル結像レンズ14、ハーフミラー15、および対物レンズ16を介して、測定対象としてのコンタクトレンズ18に照射され、その反射光が、対物レンズ16、および結像レンズ20を介して、ビデオカメラなどのCCD(Charged Coupled Device)21に入射されるようになされている。
【0018】
コンデンサレンズ12は、光源11より出射された光を集束する。レチクル13は、レチクル結像レンズ14の後側焦点Fb14上に配置されており、コンデンサレンズ12により収束された光を透過させる。レチクル13は、例えば図3に示すように、垂直方向、水平方向、右上斜め方向、および左上斜め方向に伸びる4本の線分を有している。よって、レチクル13を透過した光には、図3のレチクル13の像が含まれる。従って、このレチクル13の像がコンタクトレンズ18に投影される。
【0019】
なお、以下の説明においては、図3に示されるように、垂直方向の線分をラインL1と称し、左上斜め方向の線分をラインL2と称し、水平方向の線分をラインL3と称し、右斜め方向の線分をラインL4と称する。ラインL1とラインL2は、45度の角度で交差している。ラインL2とラインL3も、45度の角度で交差している。ラインL3とラインL4もまた、45度の角度で交差している。ラインL4とラインL1も、45度の角度で交差している。
【0020】
レチクル結像レンズ14は、視野絞り位置のレチクル13の像を含む光を平行光に変換する。レチクル結像レンズ14により平行光に変換された光は、ハーフミラー15に入射する。ハーフミラー15は、レチクル結像レンズ14からの平行光を反射し、対物レンズ16に入射させる。対物レンズ16は、ハーフミラー15により反射された光を物体面19(図2の例においては、対物レンズ16の前側焦点Ff16)上に集束させる。
【0021】
ステージ17上の所定の位置には、コンタクトレンズ18が載置されている。ステージ17は、モータ37の駆動により、所定の範囲内で、光軸に沿って移動する。コンタクトレンズ18が物体面19上に位置するように、ステージ17の高さを調整した場合(図5を参照して後述する)、そこにレチクル13の像が結像し、これをCCD21で観測することができる。また、コンタクトレンズ18が所定の位置にある場合(図6を参照して後述する)、物体面19で一旦集束された光はコンタクトレンズ18に入射され、そこで反射されると、再び物体面19に集束する。このときの像も、CCD21でモニタすることができる。
【0022】
なお、以下の説明においては、ステージ17を対物レンズ16に近い側に最も近づけた場合のステージ17の位置を、原点とする。
【0023】
物体面19上の像からの光は、対物レンズ16に入射され、平行光とされた後、ハーフミラー15を介して結像レンズ20に入射される。結像レンズ20は、入入射された光を集束し、CCD21上に結像させる。
【0024】
CCD21は、結像された光を光電変換して画像信号を生成し、生成した画像信号をA/D変換器22に出力する。A/D変換器22は、CCD21より出力された画像信号をA/D変換し、変換した画像信号を画像メモリ23に供給する。画像メモリ23は、A/D変換器22から供給された画像信号を記憶する。画像メモリ23により記憶された画像信号は、フィルタ部24により、適宜読み出される。
【0025】
なお、図示は省略するが、CCD21の動作は、所定のインタフェースを介して、CPU41により制御される。
【0026】
フィルタ部24は、画像メモリ24から、画像信号を読み出し、フィルタリングすることにより、レチクル13の像を含む画像信号から、ラインL1乃至ラインL4のそれぞれの線分由来の微分値を算出する。フィルタ部24は、さらに、算出した微分値に所定の演算を施して、ラインL1乃至ラインL4毎の分散値を算出し、算出された分散値を、バス25を介して、RAM39に供給する。図4は、フィルタ部24の内部の構成例を示す図である。
【0027】
図4において、第1フィルタ101は、3×3フィルタ121−1および3×3フィルタ121−2を含む。3×3フィルタ121−1は、画像メモリ23から読み出された画像信号に対してフィルタ処理を実行し、処理後のデータを、2×2フィルタ131−1Aおよび2×2フィルタ131−1Bに供給する。3×3フィルタ121−2は、画像メモリ23から読み出された画像信号に対してフィルタ処理を実行し、処理後のデータを、2×2フィルタ131−2Aおよび2×2フィルタ131−2Bに供給する。
【0028】
第2フィルタ102は、2×2フィルタ131−1Aおよび2×2フィルタ131−1B、並びに2×2フィルタ131−2Aおよび2×2フィルタ131−2Bを含む。2×2フィルタ131−1Aは、3×3フィルタ121−1によりフィルタ処理されたデータに対して、さらにフィルタ処理を実行し、処理後のデータを、分散値算出部103−1に供給する。2×2フィルタ131−1Bは、3×3フィルタ121−1によりフィルタ処理されたデータに対して、さらにフィルタ処理を実行し、処理後のデータを、分散値算出部103−2に供給する。2×2フィルタ131−2Aは、3×3フィルタ121−2によりフィルタ処理されたデータに対して、さらにフィルタ処理を実行し、処理後のデータを、分散値算出部103−3に供給する。2×2フィルタ131−2Bは、3×3フィルタ121−2によりフィルタ処理されたデータに対して、さらにフィルタ処理を実行し、処理後のデータを、分散値算出部103−4に供給する。
【0029】
詳細は後述するが、画像信号を3×3フィルタ121−1でフィルタリングし、さらに2×2フィルタ131−1Aでフィルタリングすると、レチクル13のラインL1に対応する微分値を得ることができる。また、画像信号を3×3フィルタ121−1でフィルタリングし、さらに2×2フィルタ131−1Bでフィルタリングすると、レチクル13のラインL2に対応する微分値を得ることができる。また、画像信号を3×3フィルタ121−2でフィルタリングし、さらに2×2フィルタ131−2Aでフィルタリングすると、レチクル13のラインL3に対応する微分値を得ることができる。また、画像信号を3×3フィルタ121−2でフィルタリングし、さらに2×2フィルタ131−2Bでフィルタリングすると、レチクル13のラインL4に対応する微分値を得ることができる。
【0030】
分散値算出部103−1は、2×2フィルタ131−1Aから供給されたデータの分散値を算出し、算出した分散値をRAM39に供給する。分散値算出部103−2は、2×2フィルタ131−1Bから供給されたデータの分散値を算出し、算出した分散値をRAM39に供給する。分散値算出部103−3は、2×2フィルタ131−2Aから供給されたデータの分散値を算出し、算出した分散値をRAM39に供給する。分散値算出部103−4は、2×2フィルタ131−2Bから供給されたデータの分散値を算出し、算出した分散値をRAM39に供給する。
【0031】
図2に戻って、CPU(Central Processing Unit)41は、ROM(Read Only Memory)40に記憶されているプログラム、または記憶部35からRAM39にロードされたプログラムに従って、各種の演算を行い、フィルタ部24により演算されたデータをさらに処理するようになされている。RAM(Random Access Memory)39は、CPU41が各種の処理を実行する上において必要なデータやプログラムなどを記憶する。
【0032】
フィルタ部24、RAM39、ROM40、およびCPU41は、バス25を介して相互に接続されている。このバス25にはまた、インタフェース32も接続されている。
【0033】
入力部31は、使用者からの指令をインタフェース(I/F)32を介してCPU41に出力する。表示部33は、例えば、CRT(CathodeRay Tube)またはLCD(Liquid Crystal Display)などにより構成され、レンズ測定装置10の操作案内、およびコンタクトレンズ18の曲率半径などの測定結果を表示する。
【0034】
インタフェース32にはまた、必要に応じてドライブ34が接続され、磁気ディスク51、光ディスク52、光磁気ディスク53、或いは半導体メモリ54などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部35にインストールされる。記憶部35は、ハードディスクなどにより構成され、プログラムなどが記憶され、適宜、プログラムなどが読み出される。
【0035】
モータドライバ36は、インタフェース32を介したCPU41からの指令に従って、モータ37を駆動する。モータ37は、モータドライバ36による制御に従って、コンタクトレンズ18が載置されているステージ17を、対物レンズ16の光軸に沿って、図中、上下方向(対物レンズ16と接離する方向)の、所定の位置に移動させる。リニアスケール38は、ステージ17の移動位置を測定し、測定結果の距離をインタフェース32を介してCPU41に供給する。
【0036】
なお、RAM39、ROM40、CPU41などは、マイクロコンピュータにより構成することができる。
【0037】
また、図2の例においては、ステージ17に載置されたコンタクトレンズ18を対物レンズ16に対して移動させるようにしているが、ステージ17を固定し、光源11、コンデンサレンズ12、レチクル13、レチクル結像レンズ14、ハーフミラー15、および対物レンズ16から構成される光学系を移動させるようにしてもよいことはもとよりである。要は、コンタクトレンズ18を光学系に対して相対的に移動させればよい。
【0038】
次に、図5乃至図7を参照して、コンタクトレンズ18の曲率半径の測定の原理について説明する。
【0039】
図5は、コンタクトレンズ18のバックカーブBCが、レチクル13の像が形成されている物体面19上に位置するように、ステージ17の位置を調整した状態を表している。図5に示すように、コンタクトレンズ18のバックカーブBCが、レチクル13の像が形成されている物体面19上に位置するとき、このバックカーブBCで反射された光がCCD21上に集束するので、CCD21上に結像するレチクル13の像は、その輪郭が明瞭なものとなる。このときの像を、説明の便宜上、BC実像と定義する。また、このとき、リニアスケール38により観測されるステージ17の位置を、Irとする。
【0040】
図6は、図5に示す状態から、コンタクトレンズ18のバックカーブBCの曲率半径BCRに対応する距離だけ、コンタクトレンズ18(ステージ17)をさらに上方に移動した状態を表している。図6の示すように、コンタクトレンズ18のバックカーブBCの曲率半径BCRに対応する距離だけ、コンタクトレンズ18(ステージ17)がさらに上方に移動すると、対物レンズ16により出射された光が集束する点(物体面19)が、コンタクトレンズ18のバックカーブBCの曲率半径の中心に位置することになる。その結果、バックカーブBCで反射された光は、そのまま入射した光と同一の光路上を戻り、物体面19に再び集束する。従って、この場合においても、CCD21上に結像するレチクル13の像は、その輪郭が明瞭なものとなる。このときの像を、便宜上、BC虚像(実際には実像であるが)と定義する。また、このときの位置を、Iiとする。
【0041】
図7は、図5におけるコンタクトレンズ18の位置と、図6におけるコンタクトレンズ18の位置の相対関係を表している。図7において、点線で示されたコンタクトレンズ18は、図5に示されたコンタクトレンズ18の位置を示し、実線で示されたコンタクトレンズ18は、図6に示されたコンタクトレンズ18の位置を示している。
【0042】
図7において、対物レンズ16より出射されたレチクル13からの平行光は、図7の点P1(図5および図6における物体面19に対応する)に集束している。従って、この点P1上に、コンタクトレンズ18(点線で図示)のバックカーブBCが位置するとき(図5に示す位置にあるとき)、図5に示したレチクル13の画像がCCD21により検出されることになる。このときのリニアスケール38上の検出位置が、Irとして求められる。
【0043】
これに対して、コンタクトレンズ18を対物レンズ16から離れる方向に、バックカーブBCの曲率半径BCRだけ移動させると(図6に示す位置まで移動させると)、点P1が、コンタクトレンズ18のバックカーブBCの曲率の中心に位置することになる。その結果、点P1を通過した光は、コンタクトレンズ18のバックカーブBCの点P2および点P3にそれぞれ垂直に入射される。
【0044】
このため、点P2および点P3において反射された光は、入射した光路と同一の光路上を戻り、再びP1に集束することになる。この状態における画像が、図6に示す状態として、CCD21により検出される。この場合におけるリニアスケール38による測定位置がIiとなる。
【0045】
図7より明らかなように、測定位置IrとIiの差(Ii−Ir)は、バックカーブの曲率半径BCRと等しいことが判る。従って、測定位置IrとIiから、コンタクトレンズ18のバックカーブBCの曲率半径BCRは、以下の式(1)により算出することができる。
【0046】
BCR=Ii−Ir (1)
【0047】
式(1)によりバックカーブBCの曲率半径BCRを算出するためには、測定位置IrとIiを特定する必要がある。次に、図8乃至図11を参照して、測定位置IrとIiを特定する原理について説明する。
【0048】
上述したように、コンタクトレンズ18と光学系の相対的位置が、所定の条件を満足している場合、すなわちコンタクトレンズ18が図5または図6に示された位置にある場合、CCD21上に結像するレチクル13の像は、その輪郭が明瞭なものとなるはずであり、CCD21には、図8Aに示すようなピントの合った鮮明な画像が得られている。図8Aにおいては、レチクル13のラインL1に対応する画像aが表されている。
【0049】
この図8Aに示す画像において、画像aに対して垂直な方向(図中横方向)の1本のライン上の画素の輝度値を取り出すと、図8Bに示すようになる。図8Bのグラフは、横軸が、取り出されたデータのライン上の各画素の座標を表し、縦軸が、ライン上の各画素における輝度値を表している。図8Bに示されるように、画像aに対応する部分の輝度が大きく、それ以外の部分の輝度は小さい値となっている。そこで、この輝度データを微分し、その絶対値を得ると、図8Cに示すようになる。即ち、図8Bに示す輝度が、小さい値から大きい値に変化する部分と、大きな値から小さな値に変化する部分とにおいて、微分値の絶対値が大きくなる。
【0050】
このような微分を、画像aと垂直な方向の全てのラインについて行い、得られた微分値の絶対値とその数をヒストグラムに表すと、図9Aに示すようになる。同図において、横軸が微分値(絶対値)を表し、縦軸が、その大きさの微分値を有する画素の数(カウント値)を表している。
【0051】
一方、コンタクトレンズ18と光学系の相対的距離が、所定の条件を満足していない場合、すなわちコンタクトレンズ18が図5および図6に示された位置以外の位置にある場合、CCD21により観測される画像は、図10Aに示すように、所謂ピンボケの状態となる。図10Aは、画像aの境界線が、明瞭でなく、ぼやけている。このような画像の輝度の変化を表すと、図10Bに示すようになる。この図10Bを、図8Bと比較して明らかなように、図10Bにおいては、輝度の値が緩やかに変化している。このため、この図10Bに示す値を微分すると、図10Cに示すような結果が得られる。この図10Cのグラフを、図8Cのグラフと比較して明らかなように、微分値の大きさが、図10Cの方が小さい値となっている。
【0052】
そして、図10Cに示す全ての水平方向のラインについて同様の処理を行い、微分値(絶対値)のヒストグラムを作成すると、図9Bに示すようになる。この図9Bのヒストグラムを、図9Aに示すヒストグラムと比較して明らかなように、図9Bに示す場合の方が、微分値(絶対値)の最大値が、図9Aに示す場合より小さい値となっている。
【0053】
このように、図9Aに示す状態と、図9Bに示す状態から、CCD21により観測される画像aが、ピントが合っている状態にあるのか否かを判定することができる。この判定を行うため、本実施の形態においては、全画面の微分値(絶対値)のヒストグラムの分散値を演算する。即ち、微分値と、その値の微分値の画素の数(カウント値)の積の和を演算する。
【0054】
そして、算出した分散値を、ステージ17の位置と分散値の大きさをそれぞれ横軸と縦軸とする座標軸上にプロットする。こうして得られるグラフ上において、コンタクトレンズ18と光学系が所定の条件を満たす位置、すなわち図5または図6に示される位置に配置されたとき、分散値が正のピークを有することになる。すなわち、グラフ上には、図5の状態におけるピーク、および図6の状態におけるピークの、2つの正のピークが得られる。この正のピークのときのステージ11の位置が、IrまたはIiとなる。図5および図6から分かるように、
Ir<Ii
なので、2つのピークのときのステージ17の位置のうち、より距離が長いステージ17の位置のほうがIiであり、距離が短いステージ17の位置の方がIrである。
【0055】
以上のようにして、IrおよびIiを特定することができる。そして、特定したIrおよびIiを、式(1)に代入することにより、コンタクトレンズ18のバックカーブBCの曲率半径BCRを求めることができる。
【0056】
図2のレンズ測定装置10は、コンタクトレンズ18の曲率半径を、複数の方向に対して求めることができる。
【0057】
次に、図11および図12のフローチャートを参照して、レンズ測定装置10の曲率半径測定処理について説明する。
【0058】
ステップS1において、CPU41は、ステージ17が、予め設定してある所定の基準位置(原点)に存在するか否かを判定し、ステージ17が原点に存在しないと判定した場合、処理はステップS2に進む。
【0059】
ステップS2において、CPU41は、モータドライバ36に、ステージ17を原点に移動させるように指令する。モータドライバ36は、CPU41からの指令に従ってモータ37を駆動し、コンタクトレンズ18が載置されているステージ17の位置を原点に移動させる。その後、処理は、ステップS3に進む。
【0060】
ステップS1において、CPU41が、ステージ17は基準位置(原点)に存在すると判定した場合、ステップS2の処理はスキップされ、処理はステップS3に進む。
【0061】
ステップS3において、CPU41は、表示部33に、測定範囲の入力を促す案内を表示し、入力部31からの測定範囲の入力を受け付ける。すなわち、後述するように、レンズ測定装置10は、ステージ17を、原点を基準として光学系から離れる方向に移動させ、画像を取り込む処理を繰り返し実行するのであるが、このステージ17を移動させて測定処理を実行する範囲が、ここにおいて入力される。使用者は、入力部31を操作して、測定範囲の数値を入力する。入力された測定範囲の数値は、入力部31から、インタフェース32を介して、CPU41に通知される。CPU41は、通知された測定範囲の数値を、RAM39に記憶させる。
【0062】
コンタクトレンズ18のバックカーブBCは、所定の曲率半径を有している。いま、この曲率半径を測定するのであるが、コンタクトレンズ18の製造時における最悪のばらつきを考慮すれば、測定範囲は、所定の値の範囲内になる。従って、このように、測定範囲を規定すれば、それだけ測定処理を迅速に完了することができるようになる。
【0063】
コンタクトレンズ18の設計値が不明である場合においては、このステップS3における測定範囲は、このレンズ測定装置10により測定可能な最大の範囲が設定される。
【0064】
ステップS3の処理の後、処理はステップS4に進む。
【0065】
ステップS4において、CPU41は、表示部33に、測定開始の指示を受け付け可能である旨の案内を表示し、入力部31から測定開始の指示が入力されるまで待機する。使用者は、入力部31から、測定開始の指示を入力することができ、使用者により、測定開始の指示が入力された場合、測定開始の指示に対応する操作信号が、入力部31からCPU41に通知される。その後、処理はステップS5に進む。
【0066】
ステップS5において、CPU41は、光源11を点灯させる。これ以降、測定が終了するまで、光源11は点灯しつづける。光源11が点灯することにより、光源11からの光がコンデンサレンズ12、レチクル13、レチクル結像レンズ14、ハーフミラー15、および対物レンズ16を介して、コンタクトレンズ18に照射されるようになる。従って、コンタクトレンズ18には、レチクル13の像が投影される。ステップS5の処理の後、処理はステップS6に進む。
【0067】
ステップS6において、CPU41は、ステップS3で受け付けられた測定範囲のうち、原点に最も近い位置(始端部)に、ステージ17を移動させるように、モータドライバ36に指令する。モータドライバ36は、CPU41からの指令に従ってモータ37を駆動し、コンタクトレンズ18が載置されているステージ17の位置を、ステップS3で受け付けられた測定範囲の始端部に移動させる。その後、処理は、ステップS7に進む。
【0068】
ステップS7において、CPU41は、A/D変換器22に、CCD21が出力する画像データをA/D変換して、取り込むように指令する。A/D変換器22は、CPU41からの指令に従って、CCD21が出力する画像信号をA/D変換し、これを画像メモリ23に転送し、記憶させる。ステップS7の処理の後、処理はステップS8に進む。
【0069】
ステップS8において、CPU41は、フィルタ部24に指令して、フィルタリング処理を実行させる。
【0070】
ここで、ステップS8のフィルタリング処理について、図13のフローチャートを参照して、詳細に説明する。
【0071】
図13のステップS51において、図4の3×3フィルタ121−1は、画像メモリ23に記憶された画像信号を読み出し、以下の3×3の線形フィルタにより、フィルタリングし、フィルタ処理後のデータを2×2フィルタ131−1Aおよび2×2フィルタ131−1Bに出力する。
【0072】
【数1】
【0073】
なお、フィルタの演算子が以下のような場合(以下のフィルタをフィルタAとする)、
【0074】
【数2】
【0075】
演算式は、以下の式(2)である。
【0076】
Z’(i,j)=aZ(i−1,j−1)+bZ(i,j−1)+cZ(i+1,j−1)+dZ(i,j−1)+eZ(i,j)+fZ(i,j+1)+gZ(i−1,j+1)+hZ(i,j+1)+iZ(i+1,j+1) (2)
【0077】
式(2)において、Z(i,j)は、座標(i,j)の画素であり、Z(i−1,j−1)は座標(i−1,j−1)の画素であり、Z(i,j−1)は座標(i,j−1)の画素であり、Z(i+1,j−1)は座標(i+1,j−1)の画素であり、Z(i,j−1)は座標(i,j−1)の画素であり、Z(i,j+1)は座標(i,j+1)の画素であり、Z(i−1,j+1)は座標(i−1,j+1)の画素であり、Z(i,j+1)は座標(i,j+1)の画素であり、Z(i+1,j+1)は座標(i+1,j+1)の画素である。また、式(2)において、Z’(i,j)は、座標(i,j)の変換後の値である。Z(i−1,j−1)、Z(i,j−1)、Z(i+1,j−1)、Z(i,j−1)、Z(i,j+1)、Z(i−1,j+1)、Z(i,j+1)、およびZ(i+1,j+1)は、Z(i,j)を取り囲む近傍画素である。
【0078】
ステップS52において、図4の3×3フィルタ121−2は、画像メモリ23に記憶された画像信号を読み出し、以下の3×3の線形フィルタにより、フィルタリングし、フィルタ処理後のデータを2×2フィルタ131−2Aおよび2×2フィルタ131−2Bに出力する。
【0079】
【数3】
【0080】
ステップS53において、図4の2×2フィルタ131−1Aは、3×3フィルタ121−1がステップS51で出力したデータを、以下の2×2の線形フィルタにより、フィルタリングし、フィルタ処理後のデータを分散値算出部103−1に出力する。
【0081】
【数4】
【0082】
なお、フィルタの演算子が以下のような場合、
【数5】
演算式は、以下の式(3)である。
【0083】
Z’(i,j)=aZ(i,j)+bZ(i+1,j)+cZ(i,j+1)+dZ(i+1,j+1) (3)
【0084】
式(3)において、Z(i,j)は、座標(i,j)の画素であり、Z(i+1,j)は座標(i+1,j)の画素であり、Z(i,j+1)は座標(i,j+1)の画素であり、Z(i+1,j+1)は座標(i+1,j+1)の画素である。また、式(3)において、Z’(i,j)は、座標(i,j)の変換後の値である。
【0085】
図14は、2×2フィルタ131−1Aから出力されたデータの例を表している。図14において、微分後データ101は、3×3フィルタ121−1および2×2フィルタ131−1Aによりフィルタリングされたデータである。図14に示されるように、微分後データ101は、レチクル13のラインL1の成分のみを微分した値となっている。なお、実際のデータにおいては、ラインL1に対応する成分が白く表示され、それ以外の背景部分が黒く表示されていた(後述する図15乃至図17、並びに図20乃至図28も同様)。
【0086】
ステップS54において、図4の2×2フィルタ131−1Bは、3×3フィルタ121−1がステップS51で出力したデータを、以下の2×2の線形フィルタにより、フィルタリングし、フィルタ処理後のデータを分散値算出部103−2に出力する。
【0087】
【数6】
【0088】
図15は、2×2フィルタ131−1Bから出力されたデータの例を表している。図15において、微分後データ111は、3×3フィルタ121−1および2×2フィルタ131−1Bによりフィルタリングされたデータである。図15に示されるように、微分後データ111は、レチクル13のラインL2の成分のみを微分した値となっている。
【0089】
ステップS55において、図4の2×2フィルタ131−2Aは、3×3フィルタ121−2がステップS52で出力したデータを、以下の2×2の線形フィルタにより、フィルタリングし、フィルタ処理後のデータを分散値算出部103−3に出力する。
【0090】
【数7】
【0091】
図16は、2×2フィルタ131−2Aから出力されたデータの例を表している。図16において、微分後データ121は、3×3フィルタ121−2および2×2フィルタ131−2Aによりフィルタリングされたデータである。図16に示されるように、微分後データ121は、レチクル13のラインL3の成分のみを微分した値となっている。
【0092】
ステップS56において、図4の2×2フィルタ131−2Bは、3×3フィルタ121−2がステップS52で出力したデータを、以下の2×2の線形フィルタにより、フィルタリングし、フィルタ処理後のデータを分散値算出部103−4に出力する。
【0093】
【数8】
【0094】
図17は、2×2フィルタ131−2Bから出力されたデータの例を表している。図17において、微分後データ131は、3×3フィルタ121−2および2×2フィルタ131−2Bによりフィルタリングされたデータである。図17に示されるように、微分後データ131は、レチクル13のラインL4の成分のみを微分した値となっている。
【0095】
以上のようにして、フィルタリング処理が実行され、ラインL1乃至ラインL4の各線分のみにそれぞれ対応する微分値が、第2フィルタ102から出力される。
【0096】
なお、ステップS51およびステップS52の処理は、説明の便宜上、以上の順番で実行しているが、実際には同時に実行される。また、ステップS53乃至ステップS56の処理も、説明の便宜上、以上の順番で実行しているが、実際には、ステップS53乃至ステップS56の順番で処理が実行されることに限られるものではなく、その前段の第1フィルタ101からデータが供給されたタイミングで、それぞれ処理を実行する。
【0097】
図11に戻って、ステップS8のフィルタリング処理の後、処理はステップS9に進み、フィルタ部24は、分散値算出処理を実行する。ステップS9の分散値算出処理について、図18のフローチャートを参照して説明する。
【0098】
ステップS71において、分散値算出部103−1は、図13のステップS53で、2×2フィルタ131−1Aから出力された、図14に示される微分後データ101の分散値を算出する。すなわち、分散値算出部103−1は、まず2×2フィルタ103−1Aから出力された微分後データ101の絶対値を算出し、ラインL1と垂直な方向の全ラインのデータを取り出し、微分値(絶対値)のヒストグラムの分散値を演算する。即ち、微分値と、その値の微分値の画素の数(カウント値)の積の和を演算する。分散値算出部103−1は、算出した分散値を、CPU41に供給する。
【0099】
ステップS72において、分散値算出部103−2は、図13のステップS54で、2×2フィルタ131−1Bから出力された、図15に示される微分後データ111の分散値を算出する。すなわち、分散値算出部103−2は、まず2×2フィルタ103−1Bから出力された微分後データ111の絶対値を算出し、ラインL2と垂直な方向の全ラインのデータを取り出し、微分値(絶対値)のヒストグラムの分散値を演算する。分散値算出部103−2は、算出した分散値を、CPU41に供給する。
【0100】
ステップS73において、分散値算出部103−3は、図13のステップS55で、2×2フィルタ131−2Aから出力された、図16に示される微分後データ121の分散値を算出する。すなわち、分散値算出部103−3は、まず2×2フィルタ103−2Aから出力された微分後データ121の絶対値を算出し、ラインL3と垂直な方向の全ラインのデータを取り出し、微分値(絶対値)のヒストグラムの分散値を演算する。分散値算出部103−3は、算出した分散値を、CPU41に供給する。
【0101】
ステップS74において、分散値算出部103−4は、図13のステップS56で、2×2フィルタ131−2Bから出力された、図17に示される微分後データ131の分散値を算出する。すなわち、分散値算出部103−4は、まず2×2フィルタ103−2Bから出力された微分後データ131の絶対値を算出し、ラインL4と垂直な方向の全ラインのデータを取り出し、微分値(絶対値)のヒストグラムの分散値を演算する。分散値算出部103−4は、算出した分散値を、CPU41に供給する。
【0102】
以上のようにして、分散値算出処理が実行され、ラインL1乃至ラインL4のそれぞれに対応する分散値が算出される。なお、以上の説明においては、説明の便宜上、ステップS71乃至ステップS74の順番で、処理を実行したが、実際には、ステップS71乃至ステップS74の順番で処理が実行されるとは限らず、分散値算出部103−1乃至103−4は、第2フィルタ102からデータが供給されたタイミングで、それぞれ処理を実行する。
【0103】
図11に戻って、ステップS9の分散値算出処理の後、処理はステップS10に進み、CPU41は、ステップS9の処理により供給された、ラインL1乃至ラインL4にそれぞれ対応する分散値を、RAM39に記憶させる。なお、CPU41は、その時点でリニアスケール38から供給されたステージ17の距離を取得し、これを、分散値と対応付けて記憶させる。
【0104】
ステップS10の処理の後、ステップS11において、CPU41は、測定範囲内を全て測定したか否かを判定する。すなわち、CPU41は、RAM39に記憶された測定範囲のうち、原点から最も遠い位置(終端部)の値を読み出すと共に、リニアスケール38から、現在のステージ17までの距離を取得し、現在のステージ17の位置が測定範囲の終端部であるか否かを判定する。その結果、現在のステージ17の位置が測定範囲の終端部ではなかった場合、処理はステップS12に進む。
【0105】
ステップS12において、CPU41は、モータドライバ36に、ステージ17を1ステップだけ、対物レンズ16と離れる方向に移動させるように指令する。モータドライバ36は、CPU41からの指令に従って、モータ37を駆動し、ステージ17を、1ステップだけ、対物レンズ16と離れる方向に移動させる。
【0106】
ステップS12の処理の後、処理はステップS7に戻り、上述したステップS7以降の処理がくり返し実行される。
【0107】
以上のようにして、ステージ17が測定範囲内にある間、ステップS7乃至ステップS12の処理がくり返され、RAM39には、図19に示されるように、分散値が記憶される。図19は、RAM39に記憶される分散値、およびステージ17までの距離の例を表している。
【0108】
図19において、1番左側には、測定したステップが1乃至Nまで示され、その右隣には、各ステップにおけるステージ17までの距離が示されている。さらにその右側には、各ステップにおける分散値が、ラインL1、ラインL2、ラインL3、およびラインL4の順番で示されている。このように、RAM39には、各ステップ毎に、ステージ17までの距離、およびラインL1乃至ラインL4に対応する分散値が、対応付けられて記憶されている。なお、図19においては、ステージ17までの距離は、全て「**」で示されているが、実際には、リニアスケール38により測定されたステージ17までの距離が記録されている。また、図19においては、分散値は全て「***」で示されているが、実際には、フィルタ部24から供給された分散値が記録されている。
【0109】
図11に戻って、ステップS11において、CPU41が現在のステージ17の位置が測定範囲の終端部であると判定した場合、処理は、図12のステップS13に進む。
【0110】
ステップS13において、CPU41は、ラインL1乃至ラインL4の中から、曲率半径BCRを算出する線分を選択する。ステップS14において、CPU41は、ステップS13で選択された線分に対応する分散値、および分散値に対応するステージ17までの距離を読み出し、ノイズ成分除去処理を実行する。すなわち、CPU41は、例えば、FFT(高速フーリエ変換)などの処理を行い、高周波成分によるノイズ成分を除去する。その後、処理はステップS15に進む。
【0111】
ステップS15において、CPU41は、ステップS14でノイズ成分を除去したデータ(分散)のピーク位置を演算により求める。
【0112】
すなわち、ステップS9で、RAM39に格納し、ステップS14でノイズ成分を除去した分散値を、ステージ17の位置と分散値の大きさをそれぞれ横軸と縦軸とする座標軸上にプロットして得られるグラフ上において、コンタクトレンズ18と光学系が所定の条件を満たす位置(図5および図6に示される位置)に配置されたとき、分散値が正のピークを有することになる。そこで、この分散値の正のピーク位置を検出するために、CPU41は、例えば分散値を微分する処理を実行する。正のピーク位置においては、この微分値が正から負に変化することになる。従って、CPU41は、この微分値の正から負に変化するゼロクロス点を検出することで、コンタクトレンズ18と光学系が所定の位置に配置されたときのステージ17の位置、すなわちIrおよびIiを求める。
【0113】
ステップS15の処理の後、ステップS16において、CPU41は、ステップS15で算出した値を、式(1)に代入することにより、ステップS13で選択された線分に対応するコンタクトレンズ18のバックカーブBCの曲率半径BCRを算出する。CPU41は、算出した曲率半径BCRを、線分と対応付けてRAM39に記憶させる。
【0114】
ステップS16の処理の後、ステップS17において、CPU41は、ラインL1乃至ラインL4の全ての線分に対応する曲率半径BCRを算出したか否かを判定し、全ての線分に対応する曲率半径BCRの算出が終わっていない場合(まだ算出していない線分があった場合)、処理はステップS13に戻り、上述したステップS13以降の処理をくり返し実行する。なお、2回目以降のステップS13においては、すでに選択された線分は選択されないようになっている。
【0115】
ステップS17において、CPU41が、ラインL1乃至ラインL4の全ての線分に対応する曲率半径BCRを算出したと判定した場合、処理はステップS18に進む。
【0116】
ステップS18において、CPU41は、ステップS16で算出された曲率半径BCRを、RAM39から読み出し、ラインL1乃至ラインL4のそれぞれに対応する曲率半径BCRを、表示部33に表示させる。これにより、使用者は、45度間隔で測定された曲率半径BCRの4つの値を知ることができる。なお、入力部31からの指示に従って、CPU41は、算出された曲率半径を記憶部35に記憶させたり、ドライブ34を介して、磁気ディスク51、光ディスク52、光磁気ディスク53、または半導体メモリ54に記録することも可能である。
【0117】
以上のようにして、レンズ測定装置10の曲率半径測定処理が実行される。以上のような処理を実行することにより、複数の方向の曲率半径を測定することが可能となる。
【0118】
また、レチクル13に含まれている線分を、直交する2本の線分のみとして(斜め方向の成分を無くして)、まず、90度の角度で直交する2方向の曲率半径を測定し、その後、レチクル13を45度回転させ、最初に測定された曲率半径と45度の角度で交差する2方向の曲率半径を測定する場合、測定回数が2倍に増加してしまうが、本発明によれば、測定回数を増加させることなく、複数の異なる方向の曲率半径を測定することができる。従って、測定時間が長時間にならないようにすることができる。
【0119】
ところで、本発明においては、ラインL1乃至ラインL4のそれぞれに対応した微分値を算出するために、3×3フィルタ121−1および3×3フィルタ121−2、2×2フィルタ131−1Aおよび2×2フィルタ131−1B、並びに2×2フィルタ131−2Aおよび2×2フィルタ131−2Bにより、画像信号をフィルタリングしている。
【0120】
このように、第1フィルタおよび第2フィルタの2つのフィルタによりフィルタリングして、ラインL1乃至ラインL4のそれぞれに対応した微分値を算出することは、以下の実験結果を根拠としている。
【0121】
まず、3×3のフィルタのみによるフィルタリングの結果を示す。
【0122】
映像・画像処理LSI/モジュールデータブック別冊1997−1998(住友金属工業株式会社、第573ページ)には、以下のフィルタ(以下のフィルタをフィルタ1とする)により、横線の検出ができると記載されていた。
【0123】
【数9】
【0124】
そこで、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、フィルタ1によりフィルタリングしたところ、図20に示される結果となった。図20においては、ラインL1に対応する縦線は消去されているが、ラインL2およびラインL4に対応する線分は消去されずに残っていた。また、消去されたラインL1に対応するフィルタの方向成分を足し算すると、−1+2+(−1)=0となる。
【0125】
次に、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、以下のフィルタ(以下のフィルタをフィルタ2とする)によりフィルタリングした。
【0126】
【数10】
【0127】
フィルタ1の場合と同様、図20のような結果となった。ただし、フィルタ2においては、ラインL3およびラインL4に対応する線分は、フィルタ1でフィルタリングした場合より、薄く表示された。また、消去されたラインL1に対応するフィルタの方向成分を足し算すると、−1+2+(−1)=0となる。
【0128】
次に、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、以下のフィルタ(以下のフィルタをフィルタ3とする)によりフィルタリングした。
【0129】
【数11】
【0130】
図21に示されるような結果となった。図21においては、ラインL3に対応する線分が消去されている。また、消去されたラインL3に対応するフィルタの方向成分を足し算すると、0+0+0=0となる。
【0131】
次に、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、以下のフィルタ(以下のフィルタをフィルタ4とする)によりフィルタリングした。
【0132】
【数12】
【0133】
図22に示されるような結果となった。図22においては、ラインL2に対応する線分が消去されている。また、消去されたラインL2に対応するフィルタの方向成分を足し算すると、0+0+0=0となる。なお、図22においては、負の値を無視している。また、同様に、フィルタ4によりフィルタリングして、フィルタリング後の値の絶対値をとった場合、図23に示されるような結果となった。図23においても、図22と同様、ラインL2に対応する線分が消去されている。
【0134】
次に、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、以下のフィルタ(以下のフィルタをフィルタ5とする)によりフィルタリングした。
【0135】
【数13】
【0136】
図24に示されるような結果となった。図24においては、ラインL1およびラインL3に対応する線分が消去されている。また、消去されたラインL1に対応するフィルタの方向成分を足し算すると、1+(−2)+1=0となる。また、消去されたラインL3に対応するフィルタの方向成分を足し算すると、1+(−2)+1=0となる。また、フィルタ5によりフィルタリングした場合、実際には、ラインL2に対応する線分は、薄く表示された。
【0137】
次に、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、以下のフィルタ(以下のフィルタをフィルタ6とする)によりフィルタリングした。
【0138】
【数14】
【0139】
フィルタ5の場合と同様、図24に示されるような結果となった。また、消去されたラインL1に対応するフィルタの方向成分を足し算すると、(−1)+2+(−1)=0となる。また、消去されたラインL3に対応するフィルタの方向成分を足し算すると、(−1)+2+(−1)=0となる。
【0140】
CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、以下のフィルタ(以下のフィルタをフィルタ7とする)によりフィルタリングした。
【0141】
【数15】
【0142】
フィルタ5およびフィルタ6の場合と同様、図24に示されるような結果となった。以上のことより、フィルタ5乃至フィルタ7により、ラインL1およびラインL3に対応する線分を消去することができることが分かった。また、消去されたラインL1に対応するフィルタの方向成分を足し算すると、0+0+0=0となり、消去されたラインL3に対応するフィルタの方向成分を足し算すると、0+0+0=0となる。
【0143】
また、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、以下のフィルタ(以下のフィルタをフィルタ8とする)によりフィルタリングした。
【0144】
【数16】
【0145】
図25に示されるような結果となった。図25においては、ラインL2およびラインL4に対応する線分が消去されている。また、ラインL2に対応するフィルタの方向成分を足し算すると、0+0+0=0となり、ラインL4に対応するフィルタの方向成分を足し算すると、0+0+0=0となる。
【0146】
また、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、以下のフィルタ(以下のフィルタをフィルタ9とする)によりフィルタリングした。
【0147】
【数17】
【0148】
図26に示されるような結果となった。図26においては、ラインL1およびラインL4に対応する線分が消去されている。また、ラインL1に対応するフィルタの方向成分を足し算すると、(−1)+2+(−1)=0となり、ラインL4に対応する方向成分を足し算すると、(−1)+2+(−1)=0となる。
【0149】
まず、以上の実験の結果、3×3のフィルタでフィルタリングすることにより、2本分の線分に対応する方向成分を消去することができることが分かった。また、消去される線分の方向のフィルタ係数同士を足し算すると、0となることが分かった。
【0150】
すなわち、上述したフィルタAを参照して説明すると、ラインL1に対応する線分が消去される場合、b+e+h=0であり、ラインL2に対応する線分が消去される場合、a+e+i=0であり、ラインL3に対応する線分が消去される場合、d+e+f=0であり、ラインL4に対応する線分が消去される場合、g+e+c=0であることが分かった。
【0151】
しかしながら、3×3のフィルタでは、3方向の成分を同時に消去することは困難である。そこで、1つ目のフィルタにより2方向の成分を消去した後、2つ目のフィルタで、残る1方向の成分を消去する方法を実験した。
【0152】
例えば、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、まず、3×3フィルタ121−2によりフィルタリングし、3×3フィルタ121−2によりフィルタリングされたデータをさらに、以下のフィルタ(以下のフィルタをフィルタ10とする)によりフィルタリングした。
【0153】
【数18】
【0154】
図27に示されるような結果となった。図27においては、ラインL1およびラインL2に対応する線分が消去されている。
【0155】
また例えば、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、まず、フィルタ121−2によりフィルタリングし、フィルタ121−2によりフィルタリングされたデータをさらに、以下のフィルタ(以下のフィルタをフィルタ11とする)によりフィルタリングした。
【0156】
【数19】
【0157】
図17に示されるような結果となった。ただし、ラインL4に対応する線分が、3×3フィルタ121−2および2×2フィルタ131−2Bによりフィルタリングした場合より、薄く表示された。
【0158】
また、例えばCCD21により生成され、A/D変換器22によりA/D変換された画像信号を、まず、フィルタ121−1によりフィルタリングし、フィルタ121−1によりフィルタリングされたデータをさらに、以下のフィルタ(以下のフィルタをフィルタ12とする)によりフィルタリングした。
【0159】
【数20】
【0160】
図28に示されるような結果となった。図28においては、ラインL3およびラインL4に対応する線分が消去されている。
【0161】
また、フィルタ部24のフィルタとして採用されている3×3フィルタ121−1および2×2フィルタ131−1Aによるフィルタリングの実験も行なったところ、上述した図14のような結果となった。また、3×3フィルタ121−1および2×2フィルタ131−1Bによるフィルタリングの実験も行なったところ、上述した図15のような結果となった。また、3×3フィルタ121−2および2×2フィルタ131−2Aによるフィルタリングの実験も行なったところ、上述した図16のような結果となった。また、3×3フィルタ121−2および2×2フィルタ131−2Bによるフィルタリングの実験も行なったところ、上述した図17のような結果となった。
【0162】
以上の実験結果に基づいて、本発明においては、3×3フィルタ121−1および2×2フィルタ131−1Aにより、ラインL1に対応する成分を抽出し、3×3フィルタ121−1および2×2フィルタ131−1Bにより、ラインL2に対応する成分を抽出し、3×3フィルタ121−2および2×2フィルタ131−2Aにより、ラインL3に対応する成分を抽出し、3×3フィルタ121−2および2×2フィルタ131−2Bにより、ラインL4に対応する成分を抽出するようにした。
【0163】
なお、3×3のフィルタによりフィルタリングした後、さらに3×3のフィルタでフィルタリングする実験も行なったが、本発明において採用されたフィルタを用いた場合と比較して、ノイズが多くなったので、採用しなかった。
【0164】
例えば、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、まず、フィルタ121−2によりフィルタリングし、フィルタ121−2によりフィルタリングされたデータをさらに、以下のフィルタ(以下のフィルタをフィルタ13とする)によりフィルタリングした。
【0165】
【数21】
【0166】
図27に示されるような結果となった。
【0167】
また例えば、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、まず、フィルタ121−2によりフィルタリングし、フィルタ121−2によりフィルタリングされたデータをさらに、フィルタ1によりフィルタリングしたところ、図27に示されるような結果となった。
【0168】
また例えば、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、まず、フィルタ121−2によりフィルタリングし、フィルタ121−2によりフィルタリングされたデータをさらに、以下のフィルタ(以下のフィルタをフィルタ14とする)によりフィルタリングした。
【0169】
【数22】
【0170】
図16に示されるような結果となった。ただし、フィルタ121−2およびフィルタ131−2Aによりフィルタリングした場合より、ノイズが多かった。
【0171】
また例えば、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、まず、フィルタ121−2によりフィルタリングし、フィルタ121−2によりフィルタリングされたデータをさらに、以下のフィルタ(以下のフィルタをフィルタ15とする)によりフィルタリングした。
【0172】
【数23】
【0173】
図16に示されるような結果となった。ただし、フィルタ121−2およびフィルタ131−2Aによりフィルタリングした場合より、ノイズが多かった。
【0174】
また例えば、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、まず、フィルタ121−2によりフィルタリングし、フィルタ121−2によりフィルタリングされたデータをさらに、フィルタ7によりフィルタリングした。図17に示されるような結果となった。ただし、フィルタ121−2およびフィルタ131−2Bによりフィルタリングした場合より、ノイズが多かった。
【0175】
また、5×5のフィルタによりフィルタリングする実験も行なった。例えば、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、以下のフィルタ(以下のフィルタをフィルタ16とする)によりフィルタリングした。
【0176】
【数24】
【0177】
図28に示されるような結果となった。
【0178】
また、5×5のフィルタによりフィルタリングされたデータをさらに3×3のフィルタでフィルタリングする実験も行なった。例えば、CCD21により生成され、A/D変換器22によりA/D変換された画像信号を、まず、フィルタ16によりフィルタリングし、フィルタ16によりフィルタリングされたデータをさらに、以下のフィルタ(以下のフィルタをフィルタ17とする)によりフィルタリングした。
【0179】
【数25】
【0180】
図28に示されるような結果となった。
【0181】
以上のような、実験の結果、ラインL1に対応する線分以外の成分を消去するためには、3×3のフィルタ121−1、および2×2のフィルタ131−1Aによりフィルタリングすることが良いことが分かった。また、ラインL2に対応する線分以外の成分を消去するためには、3×3のフィルタ121−1、および2×2のフィルタ131−1Bによりフィルタリングすることが良いことが分かった。また、ラインL3に対応する線分以外の成分を消去するためには、3×3のフィルタ121−2、および2×2のフィルタ131−2Aによりフィルタリングすることが良いことが分かった。また、ラインL4に対応する線分以外の成分を消去するためには、3×3のフィルタ121−2、および2×2のフィルタ131−2Bによりフィルタリングすることが良いことが分かった。
【0182】
以上の実験結果に基づいて、本発明においては、図4に示されるような、第1フィルタ101および第2フィルタを設けている。
【0183】
以上のように、本発明によれば、測定回数を増加させることなく、複数の方向から、コンタクトレンズ18の曲率半径を測定することが可能となる。よって、測定時間を増加させないようにすることができる。
【0184】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【0185】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0186】
【発明の効果】
以上のように、本発明によれば、レンズの曲率半径を測定することができる。また、本発明によれば、測定時間は、従来と変わらないまま、複数の方向から、レンズの曲率半径を測定することができる。
【図面の簡単な説明】
【図1】コンタクトレンズの曲率半径の測定方向を説明する図である。
【図2】本発明を適用したレンズ測定装置の構成例を示す図である。
【図3】図2のレチクルの構成例を示す図である。
【図4】図2のフィルタ部の構成例を示す図である。
【図5】コンタクトレンズのバックカーブからの光により形成される像の位置を説明する図である。
【図6】コンタクトレンズのバックカーブからの光により形成される像の位置を説明する他の図である。
【図7】コンタクトレンズのバックカーブの曲率半径を求める原理を説明する図である。
【図8】図5および図7に示されるステージの位置の特定方法を説明する図である。
【図9】図5および図7に示されるステージの位置の特定方法を説明する他の図である。
【図10】図5および図7に示されるステージの位置の特定方法を説明する、さらに他の図である。
【図11】レンズ測定装置の曲率半径測定処理を説明するフローチャートである。
【図12】レンズ測定装置の曲率半径測定処理を説明する、図11に続くフローチャートである。
【図13】図11のステップS8の処理を詳細に説明するフローチャートである。
【図14】フィルタリングされたデータの例を示す図である。
【図15】フィルタリングされたデータの例を示す他の図である。
【図16】フィルタリングされたデータの例を示す、さらに他の図である。
【図17】フィルタリングされたデータの例を示す図である。
【図18】図11のステップS9の処理を詳細に説明するフローチャートである。
【図19】RAMに記憶されるデータの例を示す図である。
【図20】実験結果の例を示す図である。
【図21】実験結果の例を示す他の図である。
【図22】実験結果の例を示す、さらに他の図である。
【図23】実験結果の例を示す図である。
【図24】実験結果の例を示す他の図である。
【図25】実験結果の例を示す、さらに他の図である。
【図26】実験結果の例を示す図である。
【図27】実験結果の例を示す他の図である。
【図28】実験結果の例を示す、さらに他の図である。
【符号の説明】
10 レンズ測定装置
11 光源
12 コンデンサレンズ
13 レチクル
14 レチクル結像レンズ
15 ハーフミラー
16 対物レンズ
17 ステージ
18 コンタクトレンズ
19 物体面
20 結像レンズ
21 CCD
22 A/D変換器
23 画像メモリ
24 フィルタ部
37 モータ
38 リニアスケール
39 RAM
40 ROM
41 CPU
101 第1フィルタ
102 第2フィルタ
103−1乃至103−4 分散値算出部
Claims (4)
- フォーカス状態を制御するフォーカス制御装置において、
複数の線分の像を撮像する撮像手段と、
前記撮像手段により撮像された前記複数の線分の像を含む画像を、第1のフィルタと第2のフィルタにより独立にフィルタリングして、特定の方向の前記線分に対応する微分値を算出する算出手段と、
前記算出手段により算出された前記微分値に基づいて、フォーカス状態を制御する制御手段と
を備えることを特徴とするフォーカス制御装置。 - 前記第1のフィルタは、3×3のフィルタにより前記画像をフィルタリングし、
前記第2のフィルタは、前記第1のフィルタによりフィルタリングされたデータを、2×2のフィルタによりフィルタリングする
ことを特徴とする請求項1に記載のフォーカス制御装置。 - 前記撮像手段により撮像される前記複数の線分は、所定の角度で交差し、
前記複数の線分の像をレンズに投影する投影手段と、
前記投影手段と前記レンズ間の距離を設定する設定手段と
をさらに備え、
前記制御手段は、前記算出手段により算出された前記微分値に基づいて、前記画像に含まれる前記線分の輪郭が明瞭になる、前記投影手段と前記レンズ間の距離を、前記線分毎に特定し、特定された前記距離に基づいて、前記複数の線分の交差角度ごとの前記レンズの曲率半径を演算する
ことを特徴とする請求項1に記載のフォーカス制御装置。 - フォーカス状態を制御するフォーカス制御装置のフォーカス制御方法において、
複数の線分の像を撮像する撮像ステップと、
前記撮像ステップの処理により撮像された前記複数の線分の像を含む画像を、第1のフィルタと第2のフィルタにより独立にフィルタリングして、特定の方向の前記線分に対応する微分値を算出する算出ステップと、
前記算出ステップの処理により算出された前記微分値に基づいて、フォーカス状態を制御する制御ステップと
を含むことを特徴とするフォーカス制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003074949A JP2004279368A (ja) | 2003-03-19 | 2003-03-19 | フォーカス制御装置および方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003074949A JP2004279368A (ja) | 2003-03-19 | 2003-03-19 | フォーカス制御装置および方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004279368A true JP2004279368A (ja) | 2004-10-07 |
Family
ID=33290386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003074949A Pending JP2004279368A (ja) | 2003-03-19 | 2003-03-19 | フォーカス制御装置および方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004279368A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012123139A (ja) * | 2010-12-08 | 2012-06-28 | Tokai Kogaku Kk | 眼鏡レンズの性能評価方法 |
WO2015051573A1 (zh) * | 2013-10-11 | 2015-04-16 | 杭州奥普特光学有限公司 | 手持式镜片面焦度测量装置 |
-
2003
- 2003-03-19 JP JP2003074949A patent/JP2004279368A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012123139A (ja) * | 2010-12-08 | 2012-06-28 | Tokai Kogaku Kk | 眼鏡レンズの性能評価方法 |
WO2015051573A1 (zh) * | 2013-10-11 | 2015-04-16 | 杭州奥普特光学有限公司 | 手持式镜片面焦度测量装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9088718B2 (en) | Imaging apparatus and control method therefor | |
JP2008191683A (ja) | 撮像装置及び撮像方法 | |
JP5800498B2 (ja) | 自動焦点調整装置およびそれを有するレンズ装置 | |
JPH09298682A (ja) | 焦点深度伸長装置 | |
US20170285319A1 (en) | Digital microscope and focusing method thereof | |
JP2009116742A (ja) | 車載用画像処理装置、画像処理方法、および、プログラム | |
JP2007114029A (ja) | 顔中心位置検出装置、顔中心位置検出方法、及び、プログラム | |
CN105378534A (zh) | 摄像装置、摄像装置的工作方法 | |
US9979858B2 (en) | Image processing apparatus, image processing method and program | |
JP6737212B2 (ja) | 運転者状態推定装置、及び運転者状態推定方法 | |
EP3599989A1 (en) | High speed pupil detection system and method | |
JP2010181247A (ja) | 形状測定装置及び形状測定方法 | |
JPH09196621A (ja) | 合焦面検出方法及び画像入出力装置 | |
WO2024055662A1 (zh) | 一种近眼显示模组检测方法及检测*** | |
JP2009157130A (ja) | 電子カメラ | |
JP2004364212A (ja) | 物体撮影装置、物体撮影方法及び物体撮影プログラム | |
JP4589646B2 (ja) | ディジタル・スチル・カメラおよびその制御方法 | |
JP2004279368A (ja) | フォーカス制御装置および方法 | |
JP4996568B2 (ja) | 撮像装置および撮像装置の制御方法 | |
JP2018148383A (ja) | 撮像装置および撮像ユニット | |
TW201236448A (en) | Auto-focusing camera and method for automatically focusing of the camera | |
JP5050282B2 (ja) | 合焦検出装置、合焦検出方法および合焦検出プログラム | |
JP2008089811A (ja) | 撮像装置及びその制御方法 | |
US20120154666A1 (en) | Imaging device and image capturing method | |
TWI588585B (zh) | 影像擷取裝置及對焦方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060320 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080326 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080603 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081202 |