專利名稱:一種鏡片檢驗(yàn)系統(tǒng)的制作方法
本申請(qǐng)與下列同時(shí)提出的審查未決的序列申請(qǐng)有關(guān)申請(qǐng)?zhí)枮榈摹白詣?dòng)檢驗(yàn)眼鏡片的方法和系統(tǒng)”;申請(qǐng)?zhí)枮榈摹扮R片檢驗(yàn)系統(tǒng)用的照明及成象子系統(tǒng)”;申請(qǐng)?zhí)枮榈摹耙环N檢驗(yàn)眼鏡片的方法”,以及申請(qǐng)?zhí)枮榈摹坝糜诔休d眼鏡片的裝置”。
本發(fā)明一般涉及用于檢查眼鏡片的系統(tǒng),更確切地說(shuō),涉及檢查接觸透鏡用的高速自動(dòng)檢驗(yàn)系統(tǒng)。
一般說(shuō)來(lái),接觸透鏡是以較高精度和準(zhǔn)確性制成的。盡管如此,個(gè)別情況下的個(gè)別鏡片仍可包含某些不規(guī)則性,為此要在將接觸透鏡銷售給用戶之前進(jìn)行檢驗(yàn),以弄清該鏡片對(duì)于用戶的使用是否合適。
在一種已有技術(shù)的鏡片檢驗(yàn)系統(tǒng)中,使照明光束透過(guò)鏡片,然后聚焦在屏幕上,以在其上產(chǎn)生出該鏡片的象;操作者則檢查該象,以確定該鏡片是否包含任何不規(guī)則性。假如發(fā)現(xiàn)任何可使鏡片不適于用戶使用的不規(guī)則性或者缺陷,則要么將該鏡片從檢查系統(tǒng)中除掉,要么以其它方法做出標(biāo)記,以使其以后不會(huì)銷售給用戶。
現(xiàn)有技術(shù)的這種檢驗(yàn)系統(tǒng)是非常有效和可靠的,然而該系統(tǒng)仍比較緩慢和昂貴。這主要是由于必須由操作者將所產(chǎn)生的鏡片象聚焦在屏幕上,并且對(duì)任何不規(guī)則性都要檢查整個(gè)象。因而相信已有的檢驗(yàn)系統(tǒng)是可以加以改進(jìn)的,尤其應(yīng)當(dāng)相信,通過(guò)提供一種自動(dòng)系統(tǒng)進(jìn)行這些檢驗(yàn),則可以降低檢查鏡片的費(fèi)用,而且可以提高檢查的速度。
本發(fā)明的目的在于對(duì)檢驗(yàn)眼鏡片的系統(tǒng)進(jìn)行改進(jìn)。
本發(fā)明的另一個(gè)目的在于提供一種高速度自動(dòng)檢驗(yàn)接觸透鏡的系統(tǒng)。
本發(fā)明的再一個(gè)目的是將眼鏡片自動(dòng)定位于完全確定的鏡片檢查位置,讓光脈沖自動(dòng)透過(guò)該鏡片,然后將此光脈沖的選定部分聚焦在象素陣列上面,并對(duì)來(lái)自該象素陣列的信號(hào)進(jìn)行自動(dòng)處理,以確定該鏡片是否包含可使其不適于用戶使用的任何不規(guī)則性。
這些目的以及其它目的可由一種鏡片檢驗(yàn)系統(tǒng)實(shí)現(xiàn),該系統(tǒng)包括運(yùn)送子系統(tǒng),它使許多眼鏡片沿著預(yù)定的路徑移動(dòng),使這些眼鏡片中的每一個(gè)都能一次一個(gè)地移動(dòng)到鏡片檢查位置上;照明子系統(tǒng),它產(chǎn)生一系列光脈沖,并讓一個(gè)相應(yīng)的光脈沖射過(guò)移過(guò)鏡片檢查位置運(yùn)動(dòng)的每一個(gè)眼鏡片。此鏡片檢驗(yàn)系統(tǒng)進(jìn)一步包括成象子系統(tǒng),它產(chǎn)生一組代表這些光脈沖透過(guò)眼鏡片選定部位的信號(hào);還有圖象處理子系統(tǒng),由成象子系統(tǒng)接收到那些信號(hào),并按預(yù)定程序處理那些信號(hào),以便識(shí)別出這些被檢查鏡片中每個(gè)鏡片的至少一種情況。
最好讓成象子系統(tǒng)產(chǎn)生一組代表光脈沖透過(guò)每個(gè)眼鏡片選定部位的相應(yīng)的信號(hào),而且圖象處理子系統(tǒng)對(duì)這些組信號(hào)中的每一組信號(hào)進(jìn)行處理,以確定該鏡片是否適于用戶使用。如果發(fā)現(xiàn)該鏡片不適于用戶使用,則圖象處理子系統(tǒng)產(chǎn)生信號(hào),指示這種發(fā)現(xiàn)。
最好讓此鏡片檢驗(yàn)系統(tǒng)還包括控制子系統(tǒng),以使照明及成象子系統(tǒng)的動(dòng)作與運(yùn)送子系統(tǒng)的動(dòng)作同步??刂谱酉到y(tǒng)的配備,特別是為了激勵(lì)照明子系統(tǒng),每當(dāng)一個(gè)眼鏡片經(jīng)過(guò)鏡片檢查位置時(shí)產(chǎn)生一個(gè)相應(yīng)的光脈沖。
參照詳細(xì)說(shuō)明并表示本發(fā)明最佳實(shí)施方式的附圖而考慮以下給出的詳細(xì)描述,將使本發(fā)明的其它長(zhǎng)處和優(yōu)點(diǎn)變得非常明白。
圖1示意地表示一種自動(dòng)檢驗(yàn)眼鏡片的系統(tǒng);
圖2為可由圖1中系統(tǒng)檢驗(yàn)的一種眼鏡片的平面視圖;
圖3為圖2所示眼鏡片的側(cè)視圖;
圖3A為圖2及3中所示鏡片外圍部分的放大圖;
圖4為圖1鏡片檢查系統(tǒng)中所用的運(yùn)送子系統(tǒng)的較詳視圖;
圖5為圖1系統(tǒng)中所用的鏡片承載裝置平面圖;
圖6為圖1所示的鏡片運(yùn)載裝置側(cè)視圖;
圖7為概括表示被稱為暗場(chǎng)照明的照明技術(shù)原理的示意圖;
圖8為圖1所示的鏡片檢查系統(tǒng)中照明及成象子系統(tǒng)的較詳示意圖;
圖9表示成象子系統(tǒng)中的象素陣列部分;
圖10表示當(dāng)2及3所示類型眼鏡片在圖1的鏡片檢驗(yàn)系統(tǒng)中進(jìn)行檢查時(shí),在象素陣列上面形成的圖象;
圖11A、11B及11C表示可被用在照明及成象子系統(tǒng)中的三種不同的光學(xué)結(jié)構(gòu);
圖12A說(shuō)明鏡片檢驗(yàn)系統(tǒng)中控制子系統(tǒng)的操作;
圖12B為說(shuō)明運(yùn)送、照明及成象子系統(tǒng)操作中各種動(dòng)作順序的時(shí)序圖;
圖13示意地表示該鏡片檢驗(yàn)系統(tǒng)中的數(shù)據(jù)處理子系統(tǒng);
圖14概括說(shuō)明與鏡片檢驗(yàn)系統(tǒng)一起采用的優(yōu)選數(shù)據(jù)處理程序的主要組成部分;
圖15表示該鏡片檢驗(yàn)系統(tǒng)的象素陣列上面形成的眼鏡片的象;
圖16A和16B為說(shuō)明被稱做偏心檢驗(yàn)的鏡片檢查程序的流程圖;
圖17A與圖15類似,表示眼鏡片在象素陣列上面形成的象;
圖17B為圖17A所示環(huán)形帶的局部放大圖;
圖17C為表示在橫過(guò)圖17B的線段上一定象素被照射的強(qiáng)度圖;
圖17D至17I用圖解說(shuō)明為了得到這些象素的處理值,對(duì)這些確定象素的照明強(qiáng)度值所做的各種處理結(jié)果,這有助于識(shí)別圖17A所示環(huán)形帶的邊緣;
圖17J表示以那些處理過(guò)的照明值照明的象素陣列中的象素;
圖18為表示處理為此象素陣列中的象素確定初始照明強(qiáng)度值的優(yōu)選程序的流程圖;
圖19A至19C表示對(duì)象素陣列象素的數(shù)據(jù)值進(jìn)行掩模處置的效果;
圖20為說(shuō)明優(yōu)選的掩模程序流程圖;
圖21A及21B說(shuō)明被稱為橡皮帶算法的另一數(shù)據(jù)處理程序;
圖22表示用于識(shí)別行圖象邊緣第一象素的子程序;
圖23為更詳細(xì)表示橡皮帶算法第一主節(jié)(section)的流程圖;
圖24為表示當(dāng)在鏡片象的外側(cè)邊緣發(fā)現(xiàn)裂隙時(shí)所調(diào)用的子程序流程圖;
圖25A至25E表示鏡片象的外側(cè)邊緣部分,并識(shí)別該邊緣上感興趣的各種象素;
圖26為當(dāng)鏡片象的外側(cè)邊緣發(fā)現(xiàn)多余碎片時(shí)調(diào)用的子程序流程圖;
圖27表示在圖23中框出的程序完成之后調(diào)用的程序;
圖28為更詳細(xì)地表示橡皮帶算法第二主節(jié)的流程圖;
圖29表示一部分鏡片象的外緣,并表示橡皮帶算法第二節(jié)中所用的若干向量;
圖30為更詳細(xì)地框出橡皮帶算法第三主節(jié)的流程圖;
圖31及32用圖示說(shuō)明表示在圖30中的兩步處置的效果;
圖33用附加在外緣上的某些直線表示該環(huán)形帶的一部分外緣;
圖34A至34E概括表示被稱做MAX,PMAX,MIN以及PMIN的各種運(yùn)算的結(jié)果;
圖35表示應(yīng)用于象素的數(shù)據(jù)值中用以突出或者強(qiáng)調(diào)鏡片邊緣可能存在缺陷的優(yōu)選程序;
圖36用于說(shuō)明圖35中所示程序的結(jié)果;
圖37為表示在象素?cái)?shù)據(jù)處理中所用的第二個(gè)掩模程序的流程圖;
圖38A至38C用圖說(shuō)明第二個(gè)掩模程序及其效果;
圖39為應(yīng)用于象素?cái)?shù)據(jù)中用以進(jìn)一步突出被檢驗(yàn)鏡片的任何缺陷的另一程序流程圖;
圖40A至40D用圖說(shuō)明圖39框出的程序的操作和效果;
圖41A及41B表示用于識(shí)別被檢驗(yàn)鏡片的任何傷痕或缺陷的程序的流程圖;
圖42表示鏡片中可能出現(xiàn)的各種類型的缺陷。
圖1為用于說(shuō)明鏡片檢驗(yàn)系統(tǒng)10的方框圖。概括說(shuō)來(lái),該系統(tǒng)10包括有運(yùn)送子系統(tǒng)12、照明子系統(tǒng)14、成象子系統(tǒng)16以及圖象處理子系統(tǒng)20。就系統(tǒng)10的優(yōu)選實(shí)施方式來(lái)說(shuō),運(yùn)送子系統(tǒng)12包括鏡片承載裝置22和支承裝置24(如圖4所示),照明子系統(tǒng)14則包括外殼26、光源30以及反射鏡32和34。而且,就此優(yōu)選的系統(tǒng)10來(lái)說(shuō),成象子系統(tǒng)16包括攝象機(jī)36、光闌40以及鏡頭組件42。更準(zhǔn)確地說(shuō),參見(jiàn)圖8,攝象機(jī)則包括外殼44、象素陣列46以及快門50,而且鏡頭組件包括外殼52、一對(duì)透鏡54和56以及多塊隔板60。如圖1所示,圖象處理子系統(tǒng)20包括予處理器62、主處理器64以及輸入裝置如鍵盤66,而且該子系統(tǒng)20最好還包括存儲(chǔ)單元70、視頻監(jiān)視器72、鍵盤終端74以及打印機(jī)76。
一般說(shuō)來(lái),運(yùn)送子系統(tǒng)12的配音是讓許多眼鏡片沿著預(yù)定的路徑移動(dòng),以使這些鏡片中的每一個(gè)都能一次一個(gè)地移動(dòng)到鏡片檢驗(yàn)位置,圖1就表示處在該鏡片檢驗(yàn)位置上的這樣一個(gè)鏡片80。照明子系統(tǒng)14的配備是為產(chǎn)生一系列光脈沖,并讓一個(gè)相應(yīng)的光脈沖射到光路82上,并穿過(guò)每個(gè)從鏡片檢驗(yàn)位置走過(guò)的眼鏡片。成象子系統(tǒng)16產(chǎn)生出一組信號(hào),它們代表這些光脈沖透過(guò)眼鏡片的選定部位,并將這些信號(hào)傳輸給圖象處理子系統(tǒng)20。圖象處理子系統(tǒng)接收這些來(lái)自成象子系統(tǒng)16的信號(hào),并根據(jù)預(yù)定的程序處理這些信號(hào),以便識(shí)別出這些被檢查鏡片中每個(gè)鏡片的至少一種狀況。在以下詳細(xì)描述的子系統(tǒng)20的優(yōu)選實(shí)施方式中,由其確定被檢查的每個(gè)鏡片對(duì)于用戶使用是否合格。
系統(tǒng)10可被用來(lái)檢驗(yàn)各種類型和多種規(guī)格的眼鏡片。詳細(xì)地說(shuō),該系統(tǒng)非常適于檢驗(yàn)接觸透鏡,例如圖2及3就表示可由系統(tǒng)10檢驗(yàn)的接觸透鏡84。一般說(shuō)來(lái),鏡片84具有半球面形狀,包括前表面86和后表面90,而且該鏡片加工有中心光學(xué)區(qū)84a和外圍區(qū)84b。此鏡片具有基本均勻的厚度,然而如圖3A中特別表示的那樣,在緊靠此鏡片外側(cè)邊緣的環(huán)形帶84c范圍內(nèi),鏡片的厚度逐漸減小。
圖4更加詳細(xì)地表示出運(yùn)送子系統(tǒng)12,并且如上所述,此子系統(tǒng)最好包括鏡片承載裝置22和支承組件24。更確切地說(shuō),此支承組件包括位移平臺(tái)92以及第一和第二步進(jìn)電機(jī)94和96,而且位移平臺(tái)本身又包括基礎(chǔ)件100和框架102及104。
一般說(shuō)來(lái),鏡片承載裝置22應(yīng)具備夾持許多眼鏡片的能力,而且圖5及6更詳細(xì)地表示此鏡片承載裝置。如在此表示的那樣,該鏡片承載裝置包括矩形的基礎(chǔ)件106及與基礎(chǔ)件連在一起的鏡片檢查杯110陣列。每個(gè)檢查杯最好包括截頭圓錐形的側(cè)壁110a和半球面形狀的底部110b,它們連成一體并從杯的側(cè)壁向下延伸。此外,每個(gè)檢查杯的底部最好具有固定的曲率半徑,大約比放在此杯中的眼鏡片84的曲率半徑大10%,而且底部110b的直徑大于眼鏡片的直徑。而且每個(gè)杯的側(cè)壁以約20°的傾角相對(duì)杯的軸線延伸,且每個(gè)側(cè)壁的厚度最好小于約0.010英寸。
對(duì)于圖5及6所示的特定鏡片承載裝置22來(lái)說(shuō),每個(gè)杯110頂部的直徑約為22毫米,且其深度最好大于被檢驗(yàn)鏡片的直徑,對(duì)于接觸透鏡通常為20毫米。如在圖5及6中表示的那樣,鏡片承載裝置包括一個(gè)3×4檢查杯的陣列。本領(lǐng)域中的那些普通熟練技術(shù)人員將會(huì)理解,這些檢查杯也可按其它構(gòu)形來(lái)安排,例如可以按3×3陣列,3×8陣列,4×8陣列,3×10陣列或者4×10陣列來(lái)安置。
檢查杯110,最好還包括基礎(chǔ)件106,是由基本上透明的材料制做的,例如聚氯乙烯塑料。此外,檢查杯110和基礎(chǔ)件106最好整體模壓在一起,而且比較薄,以降低成本,因而可根據(jù)實(shí)際情況在一次使用之后即可廢棄此承載裝置。一次使用之后即廢棄該承載裝置,實(shí)質(zhì)上能夠減少或者消除當(dāng)重復(fù)使用鏡片檢查杯時(shí)經(jīng)常發(fā)生的在杯中所形成的擦傷。如下面將要討論的那樣,由于杯上的擦傷有可能被看作是杯內(nèi)鏡片上的傷痕或者缺陷,所以采用能夠容易廢棄的鏡片承載裝置,可以改進(jìn)鏡片檢查過(guò)程的精度。
在使用中,每個(gè)檢查杯110一部分充以溶液112,例如鹽溶液,并將一個(gè)相應(yīng)的眼鏡片放在杯的底部,完全沉沒(méi)在其中的溶液中。當(dāng)把鏡片放在杯中時(shí),由于檢查杯的上述形狀及參量,該杯趨于讓其中的鏡片自動(dòng)定心在杯底。
再參見(jiàn)圖4,支承組件24的配備,是為了支承鏡片承載裝置并使其移動(dòng),以便使其中的每個(gè)鏡片每次一個(gè)地移動(dòng)到鏡片檢查位置。支承組件24最好能讓鏡片承載裝置22沿著預(yù)定的路徑連續(xù)移動(dòng),以便平穩(wěn)地驅(qū)動(dòng)鏡片84進(jìn)入并通過(guò)鏡片檢查位置。例如,可將支承組件設(shè)計(jì)成讓鏡片承載裝置移動(dòng),以使其上的檢查杯110每次一列杯地移動(dòng)通過(guò)鏡片檢查位置,而且在每一列杯通過(guò)鏡片檢查位置之后,由支承組件24驅(qū)動(dòng)承載裝置22,讓另一列杯對(duì)準(zhǔn)鏡片檢查位置。
對(duì)于圖4中表示的優(yōu)選支承組件24來(lái)說(shuō),底座100支撐著位移平臺(tái)92的框架102,以便如圖4所示在其上作向右及向左的橫向移動(dòng);框架102支撐著框架104,以便如圖4所示在其上作向上及向下移動(dòng),而且鏡片承載裝置22被支撐在框架104上,以使其隨同移動(dòng)。步進(jìn)電機(jī)94安裝在底座100上并與框架102相連,以使該框架橫過(guò)該底座移動(dòng);而且步進(jìn)電機(jī)96安裝在框架102上且與框架104相連,以驅(qū)動(dòng)后一框架移動(dòng)。
任何適合的框架102和104以及步進(jìn)電機(jī)94和96都可以用在支承組件24中。此外,如本領(lǐng)域普通技術(shù)人員將會(huì)理解的那樣,其它適合的支承組件也是公知的,并可按所需的方式驅(qū)動(dòng)鏡片承載裝置24。
再參見(jiàn)圖1,子系統(tǒng)14和16結(jié)合在一起,產(chǎn)生并隨之利用被稱作暗場(chǎng)照明效果,以檢查移過(guò)鏡片檢查位置的眼鏡片。按照這種方法,在象素陣列46上形成的象,具有眼鏡片對(duì)所通過(guò)的光進(jìn)行散射或反射的特征。暗場(chǎng)照明確實(shí)是一種高效方法,由于眼鏡片的所有缺陷以及某些正常性能基本上都能對(duì)光散射,所以可用它來(lái)檢測(cè)眼鏡片中的傷痕或者不規(guī)則性,即便是非常細(xì)微、薄層的缺陷如那些稱之為小坑(puddle)的,通過(guò)采用暗場(chǎng)照明法能夠容易地被檢測(cè)到。
參照?qǐng)D7可以理解暗場(chǎng)照明的原理,圖中表示出眼鏡片114、準(zhǔn)直光束116、一對(duì)透鏡120和122、不透光的光闌124和象素陣列126。光束116透過(guò)眼鏡片114,然后入射在成象透鏡120上。如果照明光束116當(dāng)入射在鏡片114上時(shí)是完全被準(zhǔn)直的,那么此光束將被引導(dǎo)至聚焦在透鏡120的后焦點(diǎn)上。即使照明光束116完全不受眼鏡片114的影響,也可認(rèn)為此光束當(dāng)入射在透鏡120上時(shí)未被完全準(zhǔn)直,而且此光束116在透鏡120的后焦點(diǎn)附近將形成一個(gè)稱作最小彌散圓的小圓。光闌124位于成象透鏡頭120的另一側(cè),在其后焦點(diǎn)上,并選擇此光闌大小為略大于由照明光束116透鏡在120后焦點(diǎn)處形成的那個(gè)彌散圓圖象。
因此,在不存在鏡片114對(duì)照明光束116的任何散射或折射時(shí),便沒(méi)有光透過(guò)光闌124,而且象素陣列46完全是暗的。然而鏡片114使光偏向足以錯(cuò)過(guò)光闌124的任何特點(diǎn),將會(huì)造成某些光被入射在象素陣列上。眼鏡片114位于與象素陣列46的位置光學(xué)共軛的位置上,因此,如有任何光能透過(guò)光闌124,則這樣的光將在象素陣列上形成眼鏡片114中對(duì)光散射的實(shí)物的象。
圖8表示用于產(chǎn)生并隨后將此暗場(chǎng)照明效果用于系統(tǒng)10中的優(yōu)選設(shè)備,具體說(shuō)來(lái),此圖更詳細(xì)地表示優(yōu)選的照明子系統(tǒng)和成象子系統(tǒng)。如在圖中表示的那樣,照明子系統(tǒng)14包括外殼或殼體26、光源30、反射鏡32及34、光闌片130、電源132、控制電路134、第一及第二可調(diào)支撐機(jī)構(gòu)136和140,以及出射窗142。同時(shí),成象子系統(tǒng)16包括攝象機(jī)36、光闌40以及鏡頭組件42。更具體地說(shuō),攝象機(jī)36包括外殼44、象素陣列46和快門50,鏡頭組件42則包括外殼52、透鏡54及56以及隔板60。
照明子系統(tǒng)14的外殼26為此子系統(tǒng)的其它元件提供保護(hù)性封裝,光源30、反射鏡32及34和光闌片130全部固緊在此外殼中。更具體地說(shuō),外殼26包括一個(gè)豎直的主支架26a以及頂部和底部的水平支架26b及26c,而且光源30是裝在此外殼主支架內(nèi)部的。反射鏡32被固定在支架26a及26c的相交處,反射鏡34定位在支架26c的遠(yuǎn)端附近,而且光闌片130定位在支架26c內(nèi)部的反射鏡32和34之間。外殼26上還加工有開口26d,恰好在反射鏡34上方,而且窗142卡緊在該開口上。使用時(shí),光源30產(chǎn)生大量閃光或者脈沖,并將這些脈沖中的每一個(gè)射到光路82上面。反射鏡32位于這條光路之上,并且經(jīng)過(guò)光闌片130將這些光脈沖射到反射鏡34上,再由其經(jīng)過(guò)出射窗142將此脈沖向上射,通過(guò)圖8中編號(hào)為14的鏡片檢查位置射向或射到成象子系統(tǒng)16上。
最好將光源30安裝在可調(diào)支撐機(jī)構(gòu)136上,以使由此光源發(fā)出的光的具體方向能得到調(diào)整;而將反射鏡34安裝在另一個(gè)可調(diào)支撐機(jī)構(gòu)140上,以使由該反射鏡反射的光的具體方向和位置能得到調(diào)整。更具體地說(shuō),對(duì)于圖8表示的照明子系統(tǒng)14的最佳實(shí)施例,支撐機(jī)構(gòu)136包括固定在外殼26上并可繞兩個(gè)互相正交的水平軸線轉(zhuǎn)動(dòng)的傾斜平臺(tái)。此外,對(duì)該子系統(tǒng)14的實(shí)施例來(lái)說(shuō),反射鏡34的支撐機(jī)構(gòu)140包括有傾斜平臺(tái)140a和移動(dòng)平臺(tái)140b,而且反射鏡34安裝在前一平臺(tái)上,而前一平臺(tái)又安裝在后一平臺(tái)上。如在圖8中看到的那樣,平臺(tái)140b可向左及向右作橫向運(yùn)動(dòng),使反射鏡34的橫向位置得以調(diào)整;而且平臺(tái)140a能繞兩個(gè)互相正交的水平軸線旋轉(zhuǎn),又使反射鏡34的具體角度能被調(diào)整。
成象子系統(tǒng)16接收透過(guò)位于鏡片檢查位置144上的眼鏡片的光脈沖,并且產(chǎn)生一系列信號(hào)代表光透過(guò)這些眼鏡片的選定位置。更切地說(shuō),將象素陣列46配置在攝象機(jī)的外殼44內(nèi)部,正好處在快門50之后,而且此象素陣列最好包括許多光敏傳感器,其中每個(gè)傳感器都能產(chǎn)生一個(gè)對(duì)應(yīng)的電流,它們所具有的幅度正比于或者代表入射在該傳感器上光的強(qiáng)度。
圖9為一小部分象素陣列46的放大圖,并且具體表示出該象素陣列的多個(gè)單個(gè)光傳感器。參照該圖,這些光傳感器或者陣列,最好排列成給定行列數(shù)的均勻格柵,例如該格柵可以包括將一百萬(wàn)個(gè)象素排列成一千行和一千列。在此格柵中的象素,最好構(gòu)成許多均勻隔開了的行和均勻隔開了的列;而且除了沿此陣列最邊緣的那些象素之外,每一個(gè)象素都有八個(gè)最接近的鄰居。例如象素146a具有的八個(gè)鄰居是位于正上方的象素146b,位于正下方的象素146c,分別位于正左方和正右方的象素146d和146e,以及分別位于右上方、左上方、右下方和左下方的象素140f,146g,146h和146i。
再參見(jiàn)圖8,光闌40和透鏡54及56位于快門50的前面,彼此同軸地對(duì)準(zhǔn)并和象素陣列46及攝象機(jī)快門同軸對(duì)準(zhǔn)。光闌40位于透鏡54及56之間,并且基本上處在透鏡54的后焦平面上,而且透鏡56的定位是使象素陣列46位于其后焦平面上。最好將透鏡54及56和光闌40安裝在外殼52內(nèi)部,依次再將該外殼52安裝在攝象機(jī)36的前端。此外,快門60可以包括一系列環(huán)形膜片,最好沿外殼52的長(zhǎng)度方向上安裝并分隔開,以幫助準(zhǔn)直通過(guò)它而行進(jìn)的光。
對(duì)于透鏡54及56以及光闌40的這種特定位置來(lái)說(shuō),透過(guò)被檢查的特定眼鏡片的光束大部分或者全部均被透鏡54聚焦在光闌40上,因而不會(huì)入射在象素陣列46上。然而一些通過(guò)眼鏡片不規(guī)則細(xì)節(jié)的光以及一些通過(guò)眼鏡片有規(guī)則細(xì)節(jié)的光可以充分偏向,以使這種不會(huì)被透鏡54聚焦在光闌40上,但代之以透過(guò)該光闌并入射在象素陣列46上。此外,鏡片尖銳位置是位于與象素陣列46的位置光學(xué)共軛的位置上的,因而透過(guò)光闌40的任何光,都能在象素陣列上形成使光散射的眼鏡片中實(shí)物的象。
這種暗場(chǎng)照明技術(shù)對(duì)于照明眼鏡片中的不規(guī)則性是非常有效的方法。圖10表示由透過(guò)眼鏡片,尤其是圖2及3所示的接觸透鏡84的光束在象素陣列46上形成的圖象。透過(guò)此鏡片的大部分光由光闌40對(duì)象素陣列阻擋。然而由于鏡片的環(huán)形帶84c的厚度不一致,故透過(guò)該部分鏡片的光被偏向而通過(guò)光闌40并入射在象素陣列46上,從而在此陣列上面形成該環(huán)形帶的圖象。鏡片84中的其它不規(guī)則性也能在此象素陣列上產(chǎn)生照明區(qū)。例如即便象小坑之類細(xì)微、薄層的缺陷,也能在象素陣列上看到。尤其是假如小坑存在于鏡片的內(nèi)部,那么此小坑將作為暗場(chǎng)上的亮輪廓線很容易地出現(xiàn)在象素陣列上;假如小坑存在于鏡片外圍區(qū),那么此小坑將作為亮場(chǎng)上的暗線很容易地出現(xiàn)在象素陣列上。并且,由于接觸透鏡的外圍區(qū)具有楔形橫截面,故此外圍區(qū)足以使光偏向而通過(guò)光闌40,使得整個(gè)區(qū)域作為暗場(chǎng)上的白色亮環(huán)形帶150出現(xiàn)在象素陣列上。
如本領(lǐng)域普通技術(shù)人員將會(huì)理解的那樣,任何適合的光源、透鏡和攝象機(jī)都能用于子系統(tǒng)14和16中。例如光源30可以是Hamamatsu制造的短弧閃光氙燈。這種特殊的閃光燈具有弧穩(wěn)定性和壽命長(zhǎng)的極好結(jié)合,且此閃光燈的輸出為額定值±2%,具有109次閃光的壽命。
此外,對(duì)于實(shí)際上付諸實(shí)施的成象子系統(tǒng)16的一個(gè)實(shí)施例來(lái)說(shuō),第一成象透鏡54是焦距為100毫米的消色差透鏡,它對(duì)于其光軸在2.5°范圍內(nèi)的物體是受衍射限制的,而且透鏡54被安裝在陽(yáng)極發(fā)黑氧化的鋁管中,并以內(nèi)部的隔板60來(lái)消除由于光從鋁管內(nèi)壁反射所造成的對(duì)比度降低。第二透鏡56為標(biāo)準(zhǔn)的50毫米焦距F-1.8尼康鏡頭。作為第一透鏡54的鏡筒的端部,是粘接在擰在50毫米鏡頭外殼上的紫外霧狀(haze)濾光片上的。
不透光的光闌40,是一個(gè)具有0.100英寸直徑的小塑料圓片,并且包括一個(gè)粘性的墊底,以將其固定到位。適合的光闌是市場(chǎng)上可以買得到的,并且在為印刷電路版手工敷設(shè)布線圖時(shí)作為焊盤(soldevpad)掩模用,而且很多尺寸的這種焊盤掩模都可用作不透光光闌??梢愿鶕?jù)該系統(tǒng)10的其它參數(shù)改變光闌40的最佳尺寸,而且最好對(duì)選定的光闌規(guī)格加以精選,以便在對(duì)比度、易于對(duì)準(zhǔn)和對(duì)于振動(dòng)的敏感性之間提供最好的折衷。
用在子系統(tǒng)16中的實(shí)際做出的攝象機(jī),是一種由Videk出售的高分辨率攝象機(jī),而且能接納標(biāo)準(zhǔn)的尼康鏡頭框架。首先將F-1.8的50毫米尼康鏡頭56安裝在攝象機(jī)36上,然后將透鏡54的外殼擰到鏡頭56上。Videk攝象機(jī)的有效視場(chǎng)比如為13.8×13.8毫米,約比最大的接觸透鏡尺寸大10~15%。之所以需要這樣做,是因?yàn)楸粰z驗(yàn)的眼鏡片要使用攝象機(jī)36盡可能大的視場(chǎng),以使鏡片檢查精度最佳。因此,通過(guò)讓被檢查的鏡片自動(dòng)定心,則鏡片承載裝置22的檢查杯110就使攝象機(jī)中所能達(dá)到的分辨率得到最充分的利用。
子系統(tǒng)14及16的這種優(yōu)選結(jié)構(gòu)有許多優(yōu)點(diǎn)。首先,由于光路82是彎折的,故閃光燈30可以放在距眼鏡片較大的距離處,即在鏡片檢查位置144,而且這樣就能在此眼鏡片上產(chǎn)生高準(zhǔn)直性的光束。其次,弧光在光闌40上所成象的大小基本上等于該弧光的實(shí)際尺寸乘以(ⅰ)閃光燈30至透鏡54的距離與(ⅱ)透鏡54至光闌40的距離之比。圖8所示的優(yōu)選結(jié)構(gòu)還能減小弧光的成象大小,同時(shí)允許采用較小的光闌并因而產(chǎn)生較高的靈敏度。第三,可變光闌130能對(duì)光束82的截面積因而也對(duì)其照明面積加以限制。光闌130最好用來(lái)調(diào)節(jié)光束82的截面積或大小,以使該光束照明的圓面積只比被檢查眼鏡片的直徑約大10~15%。限制照明光束82的尺寸,能夠改善象素陣列上產(chǎn)生的圖象和象素陣列其余部分之間的對(duì)比度特別是限制光束82的尺寸,能夠消除或者基本上減少由鏡片檢查杯的制品所散射的光量。這種被散射光可能作為象素陣列46上的背景先出現(xiàn),從而使該象素陣列上感興趣的圖象和象素陣列其余部分之間的對(duì)比度下降。
此外,對(duì)于子系統(tǒng)14和16的優(yōu)選結(jié)構(gòu)來(lái)說(shuō),該系統(tǒng)的放大倍率,即眼鏡片在象素陣列46上的成象大小與該眼鏡片的實(shí)際大小之比,約等于第二透鏡56的焦距與第一透鏡54的焦距之比。實(shí)際放大倍率還取決于透鏡54及56間的距離以及被檢查眼鏡片距第一成象透鏡54的距離。此外,傾斜平臺(tái)140a和移動(dòng)平臺(tái)140b,可將反射鏡34反射掉的輸出光束中心調(diào)整為與成象光學(xué)子系統(tǒng)16的光軸重合。
如上所述,成象子系統(tǒng)16包括兩個(gè)透鏡54和56,彼此分開約為第一透鏡54的焦距。采用兩塊透鏡并不是必須的,然而這樣做是首先的,因?yàn)椴捎脙蓧K透鏡能在更大的范圍內(nèi)控制子系統(tǒng)14及16的各種參數(shù),例如它能夠消除后焦面和象面之間因子系統(tǒng)放大倍率所致的分開的影響。
圖11A,11B及11C表示分別標(biāo)注為152,154及156的另一些光學(xué)結(jié)構(gòu),可用在系統(tǒng)10中,讓光束82射過(guò)鏡片檢查位置及固定在該位置上的眼鏡片,并射在光闌40和象素陣列46上。
光學(xué)結(jié)構(gòu)152僅包括一塊透鏡160,它同時(shí)將光束82成象在光闌40上并將被檢查鏡片成象在象素陣列46上。更具體地說(shuō),圖11A中表示的光學(xué)結(jié)構(gòu)包括反射鏡162、成象透鏡160和光闌40,而且該圖還表示出以164示意表示的鏡片座、被檢查的眼鏡片166和象素陣列46。對(duì)該結(jié)構(gòu)來(lái)說(shuō),來(lái)自光源30的光束82或脈沖射在反射鏡162上,接著再由其將此光射過(guò)鏡片166并射在成象透鏡160上。射在透鏡160上的大部分光被聚焦在光闌40上。不過(guò)鏡片166中的某些細(xì)節(jié)足以使光偏向,以致于使該被偏向的光透過(guò)光闌40并聚焦在象素陣列46上,從而在其上產(chǎn)生出鏡片166中能引起光透過(guò)光闌40的某些細(xì)節(jié)的象。假如攝象機(jī)36的CCD屏幕比上述高分辨率Vidik攝象機(jī)的CCD屏幕大,則圖11A的結(jié)構(gòu)可為優(yōu)選的結(jié)構(gòu)。
對(duì)于圖11B的光學(xué)結(jié)構(gòu)154來(lái)說(shuō),使光源成象在光闌40上的功能和使被檢查眼鏡片成象在象素陣列46上的功能是分開的。為詳細(xì)描述起見(jiàn),此光學(xué)結(jié)構(gòu)包括反射鏡170、透鏡172和174以及光闌40,而且圖11B還表示出鏡片座164、眼鏡片166和象素陣列46。在該結(jié)構(gòu)中,來(lái)自光源30的光束82射在反射鏡170上,并由其將該光束射在透鏡172上。透鏡172使此光射過(guò)眼鏡片166,而且透過(guò)鏡片166的大多數(shù)光聚焦在光闌40上。鏡片166中的某些細(xì)胞會(huì)使此光偏離開光闌40,然而,被偏向的光會(huì)入射在透鏡174上,并由該透鏡將此光聚焦在象素陣列46上,在陣列上產(chǎn)生鏡片166中能使該光偏過(guò)光闌40的細(xì)節(jié)的象。圖11B中透鏡布局的優(yōu)點(diǎn)在于,兩塊透鏡172和174的作用是完全獨(dú)立的。
圖11C中表示的光學(xué)結(jié)構(gòu)156和圖8中表示的光學(xué)結(jié)構(gòu)非常類似,但是結(jié)構(gòu)156并不包括反射鏡32或者光闌膜片130。更確切地說(shuō),結(jié)構(gòu)156包括反射鏡176、透鏡180和182以及光闌40,而且圖11C還表示出鏡片座164、眼鏡片166和象素陣列46。采用圖11C的布局,來(lái)自光源30的光束82射在反射鏡176上,并由其將該光射過(guò)鏡片166并射在第一透鏡180上。射在透鏡180上的大多數(shù)光聚焦在光闌40上,不過(guò)鏡片166中的某些細(xì)節(jié)足以使光偏向,以致于使該光透過(guò)光闌40并射在第二透鏡182上,并由透鏡182將該光聚焦在象素陣列46上。在此結(jié)構(gòu)中,透鏡180將光源成象在光闌上而與透鏡182無(wú)關(guān)。然而這兩塊透鏡180和182都與將鏡片166的任何缺陷成象在象素陣列46上有關(guān)。
除上述內(nèi)容外,系統(tǒng)10最好還包括控制子系統(tǒng),使照明子系統(tǒng)14和成象子系統(tǒng)16的動(dòng)作能和運(yùn)送子系統(tǒng)12的動(dòng)作同步,尤其是當(dāng)鏡片處在鏡片檢查位置144時(shí),激勵(lì)光源30產(chǎn)生光脈沖,并打開攝象機(jī)快門50。圖12A中示意地說(shuō)明這種優(yōu)選的控制子系統(tǒng)。對(duì)這種優(yōu)選的控制子系統(tǒng)來(lái)說(shuō),運(yùn)送子系統(tǒng)12每次產(chǎn)生讓一個(gè)鏡片檢查杯處在鏡片檢查位置的電信號(hào)。可由例如步進(jìn)電機(jī)94或由另一個(gè)驅(qū)動(dòng)位移平臺(tái)92的機(jī)構(gòu)產(chǎn)生這種信號(hào),或者通過(guò)一個(gè)限位開關(guān)來(lái)產(chǎn)生,它約束每次使一個(gè)鏡片檢查杯到達(dá)鏡片檢查位置。最好將此信號(hào)傳輸給攝象機(jī)快門50,將其打開,同時(shí)還傳輸給延時(shí)電路184,使該電信號(hào)延時(shí)一段時(shí)間,讓攝象機(jī)快門完全打開,而且在這段短延時(shí)之后該電信號(hào)隨之被傳輸給閃光燈激勵(lì)器134,然后觸發(fā)光源30。
例如,對(duì)于已經(jīng)構(gòu)制的系統(tǒng)10的實(shí)施例,對(duì)照?qǐng)D12B,當(dāng)眼鏡片處在其檢查位置時(shí),運(yùn)送子系統(tǒng)產(chǎn)生24伏的脈沖,并傳輸給攝象機(jī)36和延射電路184。攝象機(jī)的快門響應(yīng)此脈沖的前沿而打開,并且約花費(fèi)9毫秒時(shí)間即完全打開。該延時(shí)電路將通向閃光燈激勵(lì)器134的信號(hào)延時(shí)約15毫秒,且在此延時(shí)之后將此觸發(fā)脈沖傳輸給閃光燈激勵(lì)器。此觸發(fā)脈沖的前沿觸發(fā)可控硅整流器(SCR)以點(diǎn)燃閃光燈30。在此點(diǎn)燃點(diǎn),閃光燈成為電導(dǎo)通的,而且預(yù)先充電的電容器則通過(guò)此閃光燈放電。電容器被充電的電容量和電壓決定了閃光燈發(fā)出的總光能以及光脈沖的寬度。其時(shí),由一個(gè)接口電路維持?jǐn)z象機(jī)快門打開約30毫秒,然后關(guān)閉快門。
按照上述方式使用攝象機(jī)快門,能夠避免或者基本上減少鏡片檢查過(guò)程之間環(huán)境光在象素陣列46上的積累。此外,最好將高壓電源、閃光燈激勵(lì)器電子線路和存儲(chǔ)電容器安裝在包含照明光學(xué)系統(tǒng)的外殼結(jié)構(gòu)26中。
來(lái)自閃光燈30的光足以讓攝象機(jī)在如此短暫的時(shí)間內(nèi)在象素陣列46上拍攝到圖象,而無(wú)需讓被檢驗(yàn)的眼鏡片停止。因此,最好將運(yùn)送子系統(tǒng)12設(shè)計(jì)成能讓一排眼鏡片在成象子系統(tǒng)16下方連續(xù)移動(dòng)。成排眼鏡片的這種連續(xù)、平穩(wěn)移動(dòng)之所以有利,是因其能夠減少或者消除檢查杯110中溶液112頂部產(chǎn)生的可能干擾成象過(guò)程的波紋或其它干擾。
本領(lǐng)域普遍技術(shù)人員將會(huì)理解,可以用其它方式達(dá)到運(yùn)送子系統(tǒng)12、照明子系統(tǒng)14和成象子系統(tǒng)16之間所要求的同步或者同位。例如激光源30,同時(shí)可在預(yù)定的時(shí)間間隔打開快門50,選擇這段間隔與鏡片定位在其檢查位置144重合。
可將照明、成象和運(yùn)送子系統(tǒng)都裝在外殼(未表示)中,以減少懸浮在空氣中的碎片對(duì)照明和成象過(guò)程的影響。此外殼可配備以透明的前門或帶透明窗的前門,以便進(jìn)出并能觀察外殼的內(nèi)部,而且這些前門的透明部分可以被著色,以減少環(huán)繞空間光線對(duì)照明和成象過(guò)程的影響。
圖13為表示圖象處理子系統(tǒng)20的方框圖。在這個(gè)子系統(tǒng)中,來(lái)自象素陣列的電信號(hào),按照串聯(lián)與平行相結(jié)合的格式傳給予處理機(jī)62??梢园慈魏芜m合的方式用產(chǎn)生該信號(hào)的特定象素表示這些傳給處理機(jī)62的電信號(hào)。例如,可以按照給定的同步時(shí)序?qū)?lái)自攝象機(jī)36中象素的信號(hào)傳給予處理機(jī)62,同時(shí)將時(shí)鐘信號(hào)也從攝象機(jī)傳給該予處理機(jī),以識(shí)別該時(shí)序的開始或選定的時(shí)間間隔。換一種方法,可為每個(gè)傳給處理機(jī)62的信號(hào)配備字頭,或者其它的數(shù)據(jù)標(biāo)記,以識(shí)別出產(chǎn)生該信號(hào)的特定象素。
予處理機(jī)單元62將來(lái)自象素陣列46中各象素的每個(gè)電流信號(hào)轉(zhuǎn)換成一個(gè)相應(yīng)的數(shù)字?jǐn)?shù)據(jù)值I。,并將此數(shù)據(jù)值存儲(chǔ)在具有與產(chǎn)生該電信號(hào)的象素地址相關(guān)地址的存儲(chǔ)位置。這些數(shù)據(jù)值適合于處理機(jī)64,并可經(jīng)過(guò)總線186傳輸給它。如下面所要詳細(xì)討論的那樣,最好能夠產(chǎn)生多組附加數(shù)據(jù)值I1……In,每一組數(shù)據(jù)具有一個(gè)相應(yīng)的數(shù)據(jù)值,它與象素陣列46上各象素有關(guān),而且予處理機(jī)62可以包括許多存儲(chǔ)件(section)或存儲(chǔ)板(board),其中每一個(gè)用來(lái)存儲(chǔ)一組相應(yīng)的這些數(shù)據(jù)值。
處理機(jī)64經(jīng)過(guò)總線186與予處理機(jī)62相連,以便由該予處理機(jī)得到數(shù)據(jù)值并把數(shù)據(jù)值傳給該予處理機(jī)。如下面更加詳細(xì)說(shuō)明的那樣,處理64機(jī)是可編程的,用以處理并分析存儲(chǔ)在予處理中的數(shù)據(jù)值,以便由系統(tǒng)10識(shí)別出每個(gè)被檢查鏡片的至少一種狀況或者參數(shù),例如指出每個(gè)鏡片對(duì)用戶使用是否合適。
存儲(chǔ)磁盤70與處理機(jī)64相連,以便接收數(shù)據(jù)值并在永久或者半永久的基礎(chǔ)上將其存儲(chǔ)。例如存儲(chǔ)磁盤70可以具備為處理機(jī)64所使用的各種查詢表,同時(shí)該存儲(chǔ)磁盤可用來(lái)存儲(chǔ)與鏡片檢查過(guò)程有關(guān)的數(shù)據(jù)或在該過(guò)程中得到的數(shù)據(jù)。舉例來(lái)說(shuō),可用存儲(chǔ)磁盤70始終監(jiān)視在給定的工作日或時(shí)間內(nèi)被檢查鏡片的總數(shù),還可用來(lái)始終監(jiān)視在任何給定的樣品或者一組鏡片中所發(fā)現(xiàn)的任何缺陷的總數(shù)量、類型和大小。
鍵盤66與處理機(jī)64相連,以供操作者向其輸入,而鍵盤的終端74用來(lái)直觀地顯示輸入給處理機(jī)的數(shù)據(jù)或者信息。監(jiān)視器72與予處理機(jī)62相連,用來(lái)從存儲(chǔ)在予處理機(jī)中的數(shù)據(jù)值產(chǎn)生視頻圖象。例如可將數(shù)據(jù)值I。傳給監(jiān)視器72,以在其上得到象素陣列46上所得的實(shí)像的象。其余各組數(shù)據(jù)值I1……In可被傳給監(jiān)視器72,以得到該實(shí)像的精確象或處理過(guò)的象。打印機(jī)76經(jīng)過(guò)串聯(lián)-并聯(lián)變換器190與處理機(jī)64相連,提供由處理機(jī)64傳給該打印機(jī)的選定數(shù)據(jù)值的永久性直觀記錄。如本領(lǐng)域普通技術(shù)人員將會(huì)理解的那樣,可以給子系統(tǒng)20配備其它的或者附加的輸入和輸出裝置,以便讓操作者或者分析人員能夠和處理機(jī)64、予處理機(jī)62以及存儲(chǔ)器70相互聯(lián)系。
子系統(tǒng)20的各組成部分都是通用的并為本領(lǐng)域普通技術(shù)人員所公知的。處理機(jī)64最好是高速度數(shù)字計(jì)算機(jī),而監(jiān)視器72則是高分辨率彩色監(jiān)視器。此外,例如予處理機(jī)62可以是Datacube信號(hào)處理板,處理機(jī)64可以是太陽(yáng)牌3/140工作站。
如上面討論過(guò)的那樣,每次有一個(gè)眼鏡片從攝象機(jī)36正下方通過(guò),光透過(guò)眼鏡片并聚焦在象素陣列46上,象素陣列46的每個(gè)象素都產(chǎn)生一個(gè)對(duì)應(yīng)的輸出電流,該電流的幅度代表入射在此象素上的光強(qiáng)。各象素的這種輸出電流被轉(zhuǎn)換為數(shù)學(xué)表示的數(shù)據(jù)值,按地址儲(chǔ)存在與該象素相關(guān)的予處理機(jī)存儲(chǔ)器中。按以下所述的來(lái)處理這些被稱為I。值的數(shù)字?jǐn)?shù)據(jù)值,確定在攝象機(jī)36下方通過(guò)的鏡片是否包含被選定的一組或多組細(xì)節(jié),特別是確定該鏡片是否包含任何被認(rèn)為是傷痕或缺陷而使該鏡片對(duì)用戶使用不適合的細(xì)節(jié)。
圖14表示優(yōu)選的圖象處理程序的主要組成部分,用來(lái)發(fā)現(xiàn)圖2及圖3所示的那種類型鏡片84中的任何缺陷。在象素陣列上得到鏡片的象之后,用被稱作偏心的程序檢驗(yàn)該圖象,確定該鏡片環(huán)形帶84C的內(nèi)側(cè)和外側(cè)圓周邊緣是否彼此嚴(yán)格同心。這種偏心檢查包括讓第一和第二個(gè)圓擬合(fit)到象素陣列上所產(chǎn)生的環(huán)形帶的內(nèi)側(cè)和外側(cè)邊緣上。這之后便可發(fā)現(xiàn)或得到該環(huán)形帶的實(shí)際邊緣。隨后用第一個(gè)掩膜程序來(lái)減小或者消除與鏡片檢查杯外圍折射或者反射的光有關(guān)的數(shù)據(jù),而任何邊緣缺陷均可由被稱做橡皮帶算法的程序突出出來(lái)。接下去,任何缺陷還可由被稱做填充和清除的程序以及第二個(gè)掩膜程序進(jìn)一步明朗化,這樣就能消除與靠近環(huán)形帶圖象中心的某些象素有關(guān)的數(shù)據(jù)。
在任何可能的缺陷被強(qiáng)調(diào)或予以突出之后,要進(jìn)行搜索以確定事實(shí)上是否存在任何缺陷。尤其要對(duì)象素陣列46上的象素,或者更確切地說(shuō)是對(duì)與該象素相關(guān)的數(shù)據(jù)值進(jìn)行搜索,以便識(shí)別出可作為缺陷的象素的線段(IineSegments)或掃描路程(runlength),隨后再把這些掃描路程分組以識(shí)別缺陷的候選物。繼而分析這些缺陷候選物的規(guī)格和位置,確定它們是否真正就是使鏡片對(duì)于用戶使用是不合格的缺陷。
如上面指出的那樣,利用檢驗(yàn)偏心來(lái)確定攝象機(jī)下方通過(guò)的鏡片上環(huán)形帶84C內(nèi)側(cè)和外側(cè)的圓周邊緣是否同心。參見(jiàn)圖15,通常是使大量掃描202越過(guò)象素陣列46,或者更確切地說(shuō),是研究予處理機(jī)的存儲(chǔ)器中的地址上的數(shù)據(jù),這些地址對(duì)應(yīng)于象素陣列46上選定線段內(nèi)象素的地址來(lái)完成的,以此確定環(huán)形帶150的外側(cè)邊緣150a是否與其內(nèi)側(cè)邊緣150b同心。
圖16A及16B說(shuō)明偏心檢驗(yàn)或者程序R1。該程序的第一步204稱為確定閾值的子程序,該程序的目的是讓每一個(gè)象素與一個(gè)新的強(qiáng)度值I1聯(lián)系起來(lái),I1值等于最大照明值Tmax或等于最小照明值Tmin,這取決于該象素的起始照明值I。相應(yīng)地是在給定的閥值Tt之上還是在其以下。因此,例如起始照明值I。大于127的各象素可配備以新的照明值I1為255;起始照明值I。為127或者更小的各象素可配備以新的照明值I1為零。
在偏心檢驗(yàn)中的下一步驟206,是設(shè)定該檢驗(yàn)中采用的掃描202的次數(shù)、位置及規(guī)格,而且這是靠給處理機(jī)64提供每次掃描的起始象素地址、掃描寬度及方向來(lái)完成的。對(duì)這些參數(shù)進(jìn)行挑選,使得除鏡片嚴(yán)重偏心以外,大量掃描中的每次掃描都穿過(guò)該環(huán)形帶150的兩條邊緣。最好讓處理機(jī)64或者存儲(chǔ)磁盤70具備掃描開始地址、方向和寬度的半永久性記錄。在檢查每個(gè)給定了規(guī)定型號(hào)或尺寸的鏡片時(shí),均可使用這種記錄,而且當(dāng)檢查不同的規(guī)定型號(hào)或尺寸的鏡片時(shí),可以改變這種半永久性記錄。
接下去的步驟210,使選定的掃描穿過(guò)象素陣列或顯示器46。除非鏡片為嚴(yán)重偏心,這些掃描中的大多數(shù)都將穿過(guò)該顯示器的被照明部分。當(dāng)掃描越過(guò)該顯示器被照明部分時(shí),越過(guò)該照明部分的線段中第一個(gè)和最后一個(gè)象素的地址,以及被稱作掃描路程的該線段長(zhǎng)度都被記錄在文件(file)f1中。檢測(cè)掃描路程上的第一個(gè)及最后一個(gè)象素的子程序,得到這些象素的地址的子程序,以及確定每一掃描路程的長(zhǎng)度的子程序,對(duì)于本領(lǐng)域的普通技術(shù)人員都是公知的,而且任何這樣的適合程序均可應(yīng)用在此偏心檢查中。
然后在步驟212,將這些掃描路程中的每個(gè)的長(zhǎng)度與予定值進(jìn)行比較,去掉與小于該預(yù)定值的每個(gè)掃描路程相關(guān)的數(shù)據(jù),即該掃描路程中的第一個(gè)以及最后一個(gè)象素的地址和該掃描路程的長(zhǎng)度。之所以要去掉這些,是為了消除或者至少能夠減少由于象素陣列46上的噪聲(即不希望入射在該象素陣列的光)產(chǎn)生的數(shù)據(jù)值。詳細(xì)說(shuō)來(lái),噪聲可以是由于背景光或由于灰塵或其它顆粒使所需光路偏向產(chǎn)生的光在象素陣列上產(chǎn)生出照明區(qū)。在絕大多數(shù)情況下,這些被照明區(qū)中每一個(gè)只包括一組或少量幾組相鄰的象素。如果在步驟210時(shí)使上述掃描之一穿過(guò)此被照明區(qū),那么處理機(jī)就會(huì)記錄到穿過(guò)該照明區(qū)的掃描路程的第一個(gè)和最后一個(gè)象素地址,以及該掃描路程的長(zhǎng)度。不過(guò),這種照明區(qū)及其相關(guān)數(shù)據(jù)與環(huán)形帶150及其邊緣無(wú)關(guān),所以提供步驟212是為了清除該數(shù)據(jù)。
偏心檢驗(yàn)的下一步驟214是識(shí)別環(huán)形帶外部邊緣及內(nèi)部邊緣上每一個(gè)保留象素的地址,而且可以采用任何適合的子程序來(lái)做這一步。例如可以互相比較每一掃描路程的第一象素和最后一個(gè)象素的地址,并可把較靠近整個(gè)象素陣列46中心的象素看作處在環(huán)形帶150的內(nèi)側(cè)邊緣上,而遠(yuǎn)離該中心的象素看作處在其外側(cè)邊緣上。換一種方法,可以將掃描分成兩組,使得對(duì)于第一組中的每次掃描來(lái)說(shuō),如果在掃描過(guò)程中發(fā)現(xiàn)被照明的掃描路程,則該掃描路程中的第一個(gè)和最后一個(gè)象素便分別處在該環(huán)形帶的外側(cè)邊緣和內(nèi)側(cè)邊緣上;而對(duì)于第二組中的每次掃描來(lái)說(shuō),如果在掃描過(guò)程中發(fā)現(xiàn)被照明的掃描路程,則該掃描路程中的第一個(gè)和最后一個(gè)象素便分別處在該環(huán)形帶的內(nèi)側(cè)邊緣和外側(cè)邊緣上。
在每一個(gè)象素被確定為是在環(huán)形帶150的內(nèi)側(cè)邊緣上或外側(cè)邊緣上之后,于是在步驟216中要對(duì)每個(gè)邊緣上找到的象素的數(shù)目進(jìn)行計(jì)數(shù)。如果這些數(shù)目中的任何一個(gè)小于3,那么在步驟220中,該鏡片在被認(rèn)為是嚴(yán)重偏心的基礎(chǔ)上被舍棄。然而,如果在每一邊緣上至少找到三個(gè)象素,那么在步驟222調(diào)用子程序,即首先讓第一個(gè)圓擬合在該環(huán)形帶外側(cè)邊緣上找到的象素上;其次讓第二個(gè)圓擬合在該環(huán)形帶內(nèi)側(cè)邊緣上找到的象素上;第三是確定這兩個(gè)圓的中心和半徑。用于將一個(gè)圓擬合到三個(gè)或者更多個(gè)點(diǎn)上,并計(jì)算出該圓的中心和半徑的很多子程序是公知的,而且任何這樣的子程序均可應(yīng)用在步驟222的片心檢驗(yàn)中。
在計(jì)算出這兩個(gè)被擬合的圓的中心之后,在步驟224中便確定這兩個(gè)中心之間的距離d。隨后在步驟226將此距離同第一個(gè)值d1進(jìn)行比較,如果該距離大于d1,則該鏡片在步驟230被作為嚴(yán)重偏心而廢棄。如果該距離d小于d1,那么在步驟232將此距離d與d2進(jìn)行比較,d2為環(huán)形帶150的內(nèi)側(cè)邊緣中心和外側(cè)邊緣中心之間可以接受的最大距離。假如被擬合的兩個(gè)圓中心間的距離d大于d2,那么在步驟234作為存在偏心而廢棄;然而,假如該距離d等于或者小于d2,則如步驟236所表示的那樣,該鏡片通過(guò)偏心檢查。
如果鏡片通過(guò)了偏心檢查,隨后處理機(jī)64就啟動(dòng)被稱做邊緣檢查器的過(guò)程或程序R2,以產(chǎn)生一組照明值,它們依次被用來(lái)識(shí)別環(huán)形帶150邊緣上的象素。通常,這些邊緣并不是理想的圓,因而是和偏心檢查時(shí)找到的被擬合圓不同的。通過(guò)一系列在賦于象素陣列46中每一象素或與其相關(guān)的起始強(qiáng)度值方面的形態(tài)學(xué)運(yùn)算或變化,取得這組新的照明值。這些形態(tài)學(xué)方面的變化繪圖表示在圖17A至17I中,并以流程圖的形式表示在圖18中。更具體地說(shuō),圖17A表示環(huán)形帶150在象素陣列46上的象;而圖17B表示該環(huán)形帶的局部放大視圖,并且還表示也一段短線段240或者穿過(guò)該象素陣列的環(huán)形帶部分及鄰近區(qū)域的掃描。圖17C表示處在該掃描240中的象素的強(qiáng)度值I1,而且如這里表示的那樣,處在圖17B暗區(qū)內(nèi)的象素具有較低的強(qiáng)度值I。或者為零;處在圖17B亮區(qū)內(nèi)的象素具有較高的強(qiáng)度值I1如Tmax。
參照?qǐng)D18以及圖17C和17D,在邊緣檢查器處理的第一步242,對(duì)每一個(gè)象素計(jì)算出一個(gè)新的I2值,尤其是設(shè)定作為每一象素的I2值等于該象素及其緊鄰的八個(gè)象素的I1值的平均值。象素陣列46中每個(gè)象素的I1值和I2值之間的差異在于,后面的值在具有最低I2值的象素(通常為象素陣列46暗區(qū)內(nèi)的那些象素)和具有最高I2值的象素(通常為象素陣列46亮區(qū)內(nèi)的那些象素)之間變化更加平緩。對(duì)比圖17C和17D能更好地理解這種差異。
然后在步驟244中,對(duì)于每一象素確定另一個(gè)值I3,具體說(shuō)來(lái),設(shè)定每個(gè)象素的I3值等于該象素及其八個(gè)緊鄰的象素中的最小I2值。參照?qǐng)D17D和17E,I3值可按非常類似于I2值越過(guò)該象素掃描變化的方式,越過(guò)掃描240而變化。象素的I2值和I3值越過(guò)象素陣列變化的兩種方式之間的原則性差別在于,具有最高I3值的象素區(qū)域,略窄于具有最高I2值的象素區(qū)域。
邊緣檢查器處理的下一步246,是根據(jù)等式I4=I2-I3對(duì)每個(gè)象素再確定一個(gè)值I4。特別參見(jiàn)圖17F,在掃描240中的大多數(shù)象素具有I4值為零;然而沿徑向緊靠環(huán)形帶150兩邊緣內(nèi)側(cè)及其上面的象素具有正的I4值。接下去在步驟250,對(duì)每個(gè)象素確定一個(gè)I5值,更準(zhǔn)確地說(shuō),設(shè)定每一個(gè)象素的I5值等于該象素及其八個(gè)緊鄰的象素的最大I2值。對(duì)于象素陣列46上的多數(shù)象素來(lái)說(shuō),象素的I5值與I2值相同。然而對(duì)于環(huán)形帶150邊緣給定距離內(nèi)的象素來(lái)說(shuō),象素的I5值大于其I2值,而且具有最高I5值的象素區(qū)域略寬于具有最高I2值的象素區(qū)域。
邊緣檢查器處理的下一步252,是根據(jù)等式I6=I5-I2對(duì)每一個(gè)象素再確定一個(gè)值I6。特別參見(jiàn)圖17H,象素陣列上的多數(shù)象素具有的I6值將為零,然而沿徑向緊靠環(huán)形帶150兩邊緣外側(cè)及其上面的象素具有正的I6值。接下去的步驟254,為每一象素賦以I7值,更確切地說(shuō),設(shè)定每個(gè)象素的I7值等于該象素的I4值和I6值中較小者。參見(jiàn)圖17I,象素陣列上的多數(shù)象素具有的I7值為零,不過(guò),恰在環(huán)形帶150的兩邊緣和緊鄰這兩個(gè)邊緣的象素具有正的I7值。象素的I7值可按這種方式識(shí)別位于環(huán)形帶邊緣上的象素。
然后,在步驟256可以調(diào)用確定閾值的子程序,以便使顯示器46中處在環(huán)形帶150邊緣上的象素下其它象素間的差異更加明顯。特別是可以再賦于每個(gè)象素一個(gè)值I8,根據(jù)該象素的I7值相應(yīng)地是高于或低于給定的閾值如Tt,而使其等于最大照明強(qiáng)度值Tmax或者等于最小照明強(qiáng)度值Tmin。因此,比如每個(gè)象素具有大于32的I7值,則可以提供為255的I8值;每個(gè)象素具有等于32或者更小的I7值;則可以提供為零的I8值。
圖17J表示強(qiáng)度等于其I8值的照明象素陣列46上的各個(gè)象素。
在計(jì)算和處理I1-I8值的過(guò)程中,最好將各組象素的值儲(chǔ)存在予處理機(jī)62中一個(gè)相應(yīng)的存儲(chǔ)寄存器中,例如I0值全都儲(chǔ)存在第一個(gè)寄存器中,I1值全都儲(chǔ)存在第二個(gè)寄存器中,I2值全都儲(chǔ)存在第三個(gè)寄存器中。在每個(gè)鏡片的整個(gè)處理期間內(nèi),無(wú)需儲(chǔ)存所有的I1~I(xiàn)8值,不過(guò)舉例來(lái)說(shuō),在每個(gè)處理周期內(nèi),可以在計(jì)算出I4之后丟掉I3的值,可以在確定I6的值之后丟掉I5的值。
此外,并不需要對(duì)象素陣列46中的所有象素計(jì)算I2~I(xiàn)8的值。對(duì)于任何給定類型的眼鏡片來(lái)說(shuō),鏡片的環(huán)形帶將出現(xiàn)在象素陣列46的較清晰的范圍和區(qū)域內(nèi),僅需要對(duì)這樣范圍和區(qū)域內(nèi)的象素確定I2~I(xiàn)8的值。然而作為實(shí)際情況,常可比較容易地簡(jiǎn)化象素陣列46中的所有象素的I2~I(xiàn)8值的計(jì)算,而不進(jìn)一步增加處理步驟去識(shí)別那些在給定的感興趣區(qū)域內(nèi)的象素。
在完成邊緣檢查器程序之后,鏡片檢驗(yàn)系統(tǒng)將調(diào)用掩膜程序,以產(chǎn)生一組象素照明值,而不受固定鏡片用的鏡片檢查杯邊緣的影響。為詳細(xì)描述,當(dāng)用來(lái)自閃光燈30的閃光照明眼鏡片時(shí),此光還透過(guò)固定此鏡片的檢查杯。檢查杯的邊緣可使此光中的某些光充分衍射,足以使其透過(guò)光闌40并射在象素陣列46上,從而在其上產(chǎn)生該杯邊緣的象或局部的象,就象圖19A中以260表示的那樣。這種邊緣象與鏡片本身無(wú)關(guān),因而不需要任何與其相關(guān)的數(shù)據(jù),而且也不需要處理與鏡片象本身有關(guān)的數(shù)據(jù)。調(diào)用一種掩膜程序,以便從象素陣列46上消除此杯的邊緣象,或者更準(zhǔn)確地說(shuō),是為了產(chǎn)生一組象素照明值,免除了與檢查杯的邊緣象260有關(guān)的象素?cái)?shù)據(jù)。
圖20為說(shuō)明優(yōu)選掩膜程序R3的流程圖。該程序中的第一步262是確定在偏心檢查的步驟216或226中,能否在環(huán)形帶150的外側(cè)邊緣上至少找到三個(gè)象素,或者能否發(fā)現(xiàn)眼鏡片是嚴(yán)重偏心的。如果在偏心檢查的這兩步中的任一步發(fā)現(xiàn)該鏡片是嚴(yán)重偏心的,那么掩膜程序R3本身便在步驟262終止。
假如程序R3未在步驟262終止,則該程序轉(zhuǎn)到步驟264,以便獲得在偏心檢查中被擬合在環(huán)形帶150的外側(cè)邊緣150a上的圓的中心座標(biāo)。在偏心檢查中,這些坐標(biāo)已經(jīng)被確定而且隨后被存儲(chǔ)在存儲(chǔ)器中,即存儲(chǔ)在處理機(jī)64的存儲(chǔ)器中或者存儲(chǔ)在存儲(chǔ)磁盤70中,因此這些坐標(biāo)通過(guò)簡(jiǎn)單地從該存儲(chǔ)器中取出它們就能被得到。一旦得到這些中心坐標(biāo),便在步驟266調(diào)用一個(gè)掩膜子程序。現(xiàn)在參見(jiàn)圖19B,這個(gè)子程序?qū)嶋H上就是在象素陣列46上疊合一個(gè)圓形掩膜270,它定心在上述中心的坐標(biāo)上且直徑稍大于被擬合在環(huán)形帶150外邊緣上的圓的直徑。此掩膜程序隨后根據(jù)各象素是位于該掩膜內(nèi)側(cè)還是外側(cè),賦于每個(gè)象素以I9值。特別是對(duì)于該掩膜外側(cè)的每個(gè)象素,該掩膜程序賦于象素的I9值為零;對(duì)于該掩膜內(nèi)側(cè)的每個(gè)象素,該掩膜程序賦于象素的I9值等于該象素的I8值。
更準(zhǔn)確地說(shuō),在步驟266,將上述中心點(diǎn)的坐標(biāo)(xo,yo)以及半徑值r1傳輸給掩膜子程序,選擇r1略大于被擬合在環(huán)形帶150外側(cè)邊緣上的圓的半徑。然后由此掩膜子程序形成距中心點(diǎn)(x0,y0)為r1范圍內(nèi)的象素陣列46上的所有象素地址的文件f2。隨后在步驟272檢查象素陣列46中每個(gè)象素的地址,以確定其是否在該文件中。如果象素的地址在該文件中,那么在步驟274,設(shè)定該象素的I9值等于其I8值;然而,如果象素的地址不在該文件中,那么在步驟276,設(shè)定該象素的I9值等于零。
為數(shù)眾多的專用掩膜子程序在技術(shù)上是公知的,并可應(yīng)用在程序R3的步驟266中。
圖19C表示以強(qiáng)度等于其相應(yīng)的I9值照明的象素陣列46上的象素。
在完成圖20中表示的掩膜程序之后,由處理機(jī)64啟動(dòng)另一個(gè)被稱做橡皮帶算法的處理程序。一般說(shuō)來(lái),這種算法包括分析并處理環(huán)形帶邊緣150a中的或緊靠此邊緣150a的象素或與其相關(guān)的象素的數(shù)據(jù)值,圖21A和21B表示概括說(shuō)明此橡皮帶算法的流程圖。參見(jiàn)該圖,該算法的第一步280是,獲得在偏心檢查中被擬合在鏡片外緣150a上的圓的圓心坐標(biāo)和半徑。如上所述,這些值在偏心檢查過(guò)程中已經(jīng)確定而后儲(chǔ)存在儲(chǔ)存器中,而且通過(guò)從該存儲(chǔ)器中提取就能得到這些值。
該橡皮帶算法的下一個(gè)步驟282是,通過(guò)從象素陣列46的左邊緣向內(nèi)搜索,直至找到被照明的象素為止,以便將象素定位在環(huán)形帶150的外緣150a上。在給定的搜索中所發(fā)現(xiàn)的第一個(gè)被照明的象素或許不在鏡片象的邊緣上,而可能在其它某處,而且是由于背景噪聲而被照明的。因此,在步驟282中最好進(jìn)行大量掃描或搜索,以找到許多被照明的象素,然后對(duì)這些象素的位置進(jìn)行分析或相互比較,以有助于確保象素是在鏡片象邊緣上面找到的。
一旦在鏡片象的邊緣上找到第一個(gè)象素,則此橡皮帶算法轉(zhuǎn)到步驟284,而且,在這一步算法,實(shí)際上是在此第一個(gè)象素上開始,并且跟蹤圍繞鏡片象邊緣的全部路程,最后返回到此第一個(gè)象素。在此第一次跟蹤過(guò)程中,此算法將鏡片象外緣上的大多數(shù)象素或所有象素的地址記錄在文件f3中,而且此算法還能夠識(shí)別鏡片邊緣中較大的凹口、那些凹口的長(zhǎng)度以及鏡片邊緣上較大的多余碎片。在步驟286,此算法是將一些被選直線兩端點(diǎn)象素的地址記錄在文件f4中。這些被選直線將在下面更詳細(xì)地討論,它實(shí)際上是穿過(guò)鏡片邊緣中任何較大的凹口,并穿過(guò)該邊緣上任何較大的多余碎片兩側(cè)的。
在完成第一次掃描或圍繞鏡片象跟蹤之后,然后在步驟290由該橡皮帶算法確定任何可能發(fā)現(xiàn)的凹口是否大到足以使該鏡片報(bào)廢。如果發(fā)現(xiàn)這樣的凹口,則報(bào)廢此鏡片,而且在步驟292由打印機(jī)76打印出信息該鏡片具有壞的邊緣。
假如該鏡片在步驟290通過(guò)這種凹口檢查,則該橡皮帶算法轉(zhuǎn)到進(jìn)行第二次掃描或圍繞鏡片象邊緣跟蹤。在第二次掃描如圖21B的步驟294表示的那樣,該算法在于識(shí)別出某些薄層的細(xì)節(jié),例如沿鏡片外側(cè)邊緣徑向向內(nèi)或向外伸展的較小的凹口和較小的多余碎片,而且此算法檢查每個(gè)被檢測(cè)到的這樣的細(xì)節(jié),以確定該鏡片是否將因此而被報(bào)廢。一般說(shuō)來(lái),這是通過(guò)對(duì)鏡片外側(cè)邊緣上至少每個(gè)選定的象素計(jì)算穿過(guò)該象素的被稱作徑向向量和邊緣向量的兩個(gè)向量的標(biāo)量積來(lái)完成的。穿過(guò)象素的徑向向量,就是穿過(guò)擬合在環(huán)形帶150外緣150a上的圓的中心點(diǎn)伸展的向量。穿過(guò)象素的邊緣向量,就是經(jīng)過(guò)該象素以及環(huán)形帶150外邊緣150a上的第二個(gè)象素伸展的向量,所述第二象素系指沿此外邊緣距前一象素后面(或逆時(shí)針?lè)较?為規(guī)定數(shù)目的象素。
對(duì)于不包含任何缺陷(凹口或多余碎片)的鏡片邊緣的規(guī)則圓形部分的任何象素來(lái)說(shuō),以上標(biāo)記的兩個(gè)向量的標(biāo)量積基本上為零,因?yàn)榻?jīng)過(guò)該象素的徑向向量和邊緣向量實(shí)質(zhì)上互相垂直。然而對(duì)于鏡片邊緣上的凹口或者多余碎片邊緣上的大多數(shù)象素或所有象素來(lái)說(shuō),經(jīng)過(guò)該象素的邊緣和徑向向量的標(biāo)量積將不為零,因?yàn)檫@兩個(gè)向量并不垂直。假如算出來(lái)的任何標(biāo)量積大于給出值,對(duì)此鏡片被認(rèn)為不適合用戶使用,可以廢棄。
假如該鏡片通過(guò)在圍繞鏡片邊緣進(jìn)行的第二次掃描中施加的檢查,則此橡皮帶算法將進(jìn)行圍繞鏡片象邊緣的第三次掃描,如圖21B中步驟296所示。此第三次掃描并不包括確定該鏡片是否將被報(bào)廢的任何檢查,卻包括為后續(xù)的檢查處理數(shù)據(jù)或者準(zhǔn)備數(shù)據(jù)特別是要使該第三次掃描得出一組數(shù)據(jù)值,該數(shù)據(jù)值并不含有與鏡片中恰在環(huán)形帶150外邊緣150a內(nèi)側(cè)的任何缺陷有關(guān)的數(shù)據(jù)。隨后從一組包含與這些缺陷有關(guān)的數(shù)據(jù)值中扣除這組數(shù)據(jù)值,從而得到一組只與這些缺陷有關(guān)的數(shù)據(jù)值。
一般說(shuō)來(lái),在圍繞鏡片邊緣的第三次掃描中,此橡皮帶算法是要確定該環(huán)形帶150外緣150a的徑向平均厚度,然后該算法將恰在該環(huán)形帶外緣內(nèi)側(cè)的所有象素的I9值設(shè)為零。例如,假如該環(huán)形帶外緣的平均厚度為六個(gè)象素,那么此橡皮帶算法可將該環(huán)形帶外緣徑向朝向的7和27象素之間所有象素的I9值設(shè)為零。
圖22至32較詳細(xì)地說(shuō)明此橡皮帶算法。具體說(shuō)來(lái),圖22說(shuō)明一個(gè)子程序S1,它適于將第一象素p(x,y)定位在環(huán)形帶150外緣150a上。在步驟300,設(shè)定(x0,y0)等于偏心檢查中擬合在環(huán)形帶外邊緣上的圓的圓心坐標(biāo);而且在步驟302,設(shè)定ro等于此外部擬合圓的半徑。而然后如步驟304所示,使許多水平掃描自象素陣列左邊緣的中心或其附近開始,穿過(guò)該象素陣列46。更確切地說(shuō),處理機(jī)64對(duì)予處理機(jī)的存儲(chǔ)中那些與象素陣列上選定的水平線段中象素的地址對(duì)應(yīng)的地址上的數(shù)據(jù)值I9進(jìn)行分析研究。在每個(gè)這樣的掃描中,由處理機(jī)64檢查給定水平行象素中各象素的I9值,并找出該行中I9值高于給定值的第一象素;而且最好進(jìn)行多個(gè)這種掃描,由此而得到多個(gè)被找出的象素。
所有這些被找出的象素一般都在環(huán)形帶150的外緣150a上。然而,由于鏡片檢查過(guò)程中的背景噪聲或者雜散光可能入射在象素陣列的某象素上,該象素處在可能具有高I9值的邊緣的左方;象這樣的象素,有可能被確定為上述掃描中的照明象素。為了避免將這樣的象素確定為邊緣象素。在步驟306由子程序S1確定并舍棄任何這種象素的地址。更確切地說(shuō),先由該子程序確定這些掃描中所確定的各象素和鏡片偏心檢查中擬合在鏡片象外緣上的外圓中心(x0,y0)間的距離;其次,將每個(gè)確定的距離與已設(shè)為等于擬合外圓半徑的ro進(jìn)行比較。假如某象素和該擬合圓中心間的距離超過(guò)ro的數(shù)大于給定的距離d3,則認(rèn)為此象素不在環(huán)形帶150邊緣上或者并不緊靠著此邊緣,則舍棄該象素的地址。檢查此掃描過(guò)程中找到的所有象素的地址,確定它們是否在鏡片邊緣或緊靠此邊緣之后-而且那些地址是未被丟棄的-然后如步驟310所示,可把所有剩下的象素地址選作象素p(x,y)再開始圍繞此鏡片象邊緣的第一次掃描。
圖23詳細(xì)說(shuō)明怎樣進(jìn)行第一次掃描,還特別表示出進(jìn)行第一次掃描的程序R4。在步驟312中,從象素p(x,y)開始,該算法為沿環(huán)形帶150的外緣向前或順時(shí)針?lè)较驅(qū)ふ以撨吘墐?nèi)大的凹口或者該邊緣上大的多余碎片,有如步驟314及320所示者。任何適合的子程序或程序均可用于沿此邊緣的搜索。例如,從此邊緣上給定的每個(gè)象素出發(fā),以p(x,y)開始,處理機(jī)可以檢查給定象素之上或之下的行中,或給定象素右方或左方的列中三或五個(gè)最靠近的象素(取決于顯示器46上此給定象素所定位的象限或者區(qū)域),以確定該鏡片邊緣上的下一個(gè)象素。從這下一個(gè)象素出發(fā),處理機(jī)可以利用同一種處置來(lái)確定該鏡邊緣上的再下一個(gè)象素。
對(duì)于在鏡片邊緣上找到的每個(gè)象素,可由該處理機(jī)確定該象素和擬合在該鏡片外邊緣上的圓的中心點(diǎn)(x0,y0)之間的距離r0對(duì)于該鏡片邊緣上給定個(gè)數(shù)的連續(xù)象素中的每一個(gè)來(lái)說(shuō),當(dāng)r比r0小到多于給定的量dg(r0-r>dg)時(shí),則處理機(jī)可得出結(jié)論發(fā)現(xiàn)大的凹口。相反,對(duì)于該鏡片邊緣上給定個(gè)數(shù)的連續(xù)象素中的每一個(gè)來(lái)說(shuō),當(dāng)r比r0大到多于給定的量dep(即r-r0>dep)時(shí),則處理機(jī)可得出結(jié)論發(fā)現(xiàn)大的多余碎片。
假如找到了凹口或者多余碎片,那么在步驟316和322將分別調(diào)用子程序S2或S3,此兩子程序?qū)⒃谙旅嬖敿?xì)討論。如果既沒(méi)有發(fā)現(xiàn)凹口又沒(méi)有發(fā)現(xiàn)多余碎片。那么程序R4便轉(zhuǎn)到步驟324。
在步驟324,由程序R4檢查確定是否完成圍繞環(huán)形帶150邊緣的第一次掃描,而且任何適合的專用程序或子程序都可用來(lái)做此工作。例如,如上所述,跟蹤圍繞鏡片邊緣的象,由在此邊緣上找到的象素的地址構(gòu)成文件f3。在步驟324可以檢查此文件,確定所考慮的現(xiàn)行邊緣象素地址是否已在此文件中。假如此象素地址已知在此文件中,則認(rèn)為完成圍繞該鏡片邊緣象的第一次掃描;然而如果現(xiàn)行象素地址未在文件f3中,則認(rèn)為沒(méi)有完成此第一次掃描。假如已完成第一次掃描,則此橡皮帶算法轉(zhuǎn)到程序R5;但是,如果尚未完成圍繞鏡片的第一次掃描,則此算法轉(zhuǎn)到步驟326,并把所考慮的現(xiàn)行邊緣象素地址加到文件f3上。于是在步驟330,在鏡片邊緣上找到下一個(gè)象素,而且令p(x,y)等于此下一個(gè)象素的地址,然后該程序R4返回到步驟312。
圖24為框出的子程序S2,每次在環(huán)形帶150的外緣上找到凹口時(shí)被調(diào)用。此子程序中的第一步332是,識(shí)別凹口開始及終止處象素的地址及此兩端象素之間的距離并記錄在文件f4中。在圖25A中,分別以P1和P2表示這兩個(gè)象素。一旦發(fā)現(xiàn)凹口-即對(duì)于鏡片邊緣給定個(gè)數(shù)的連續(xù)象素中的每一個(gè)來(lái)說(shuō),r比r0小到大于dg,即r0-r>dg-鏡片邊緣上在給定個(gè)數(shù)的連續(xù)象素之前的最后一個(gè)象素,可被看作該凹口開始處的象素。
一旦發(fā)現(xiàn)凹口,則通過(guò)沿著偏心檢查中擬合在鏡片外緣上的圓上的象素穿過(guò)該凹口進(jìn)行搜索,并對(duì)給定個(gè)數(shù)的象素由此擬合的圓開始作沿徑向向內(nèi)和向外的搜索,直至找到鏡片邊緣為止-即直至找到被照明的象素(或者更確切地說(shuō)是具有高I9值的象素),就能找到此凹口的端部。找到鏡片的邊緣之后,若發(fā)現(xiàn)一系列連續(xù)象素全都在此擬合圓一定距離之內(nèi),特別是當(dāng)對(duì)該系列中的每個(gè)象素為r0-r小于dg時(shí),則可認(rèn)為該凹口終于到達(dá)端部??蓪㈢R片邊緣上一系列連續(xù)象素之前的最后一個(gè)象素看成是在該凹口端部的象素。
在此子程序S2的340步,規(guī)定象素P1和P2之間的直線,即圖25B中線段L1上的象素的I9值等于最大照明強(qiáng)度值,隨后該子程序返回到程序R4。
圖26表示當(dāng)環(huán)形帶150邊緣上發(fā)現(xiàn)多余碎片350時(shí)說(shuō)明在程序R4的步驟322調(diào)用的子程序S3的流程圖。程序S3中所做的最初幾步,實(shí)際上是相對(duì)多余碎片給出各種橋接線。尤其是在步驟352,此子程序在于識(shí)別出圖25B中所示的環(huán)形帶150邊緣上多余碎片350的開始和終止處的象素P3和P4,然后在步驟354,規(guī)定圖25C中表示的象素P3和P4之間的線段L2上各象素的I9值為Tmax。接下去在步驟356,此子程序識(shí)別出環(huán)形帶150邊緣上多余碎片350開始之前(或逆時(shí)針?lè)较?給定個(gè)數(shù)的象素P5的地址;而且在步驟360,在多余碎片邊緣上尋找距象素P5為給定距離d4的象素P6。接下去在步驟362,并且參見(jiàn)圖25D,規(guī)定象素P5和P6之間直線L3上的每一象素的I9值為Tmax。
此后在步驟364,此子程序識(shí)別出環(huán)形帶150邊緣上多余碎片終止之后(或順時(shí)針?lè)较?給定個(gè)數(shù)象素的另一象素P7的地址;隨后在步驟366,此子程序識(shí)別出多余碎片邊緣上距象素P7為給定距離d5的象素P8。在步驟370,如圖25E中表示的象素P7和P8間的直線L4上的每個(gè)象素I9值也被設(shè)定為Tmax。在繪出這些適當(dāng)?shù)臉蚪泳€之后,該子程序返回到程序R4。
在完成圍繞鏡片外緣象的第一次掃描之后,調(diào)用子程序R5。如圖27中說(shuō)明的那樣,該程序用來(lái)確定在圍繞鏡片邊緣象的第一次掃描中可能找到的任何凹口是否寬到足以使該鏡片不適于用戶使用。該程序R5中的第一步376是,確定在圍繞鏡片邊緣的第一次掃描中實(shí)際上是否發(fā)現(xiàn)有凹口。假如沒(méi)有發(fā)現(xiàn)凹口,則此程序R5本身終止,且此橡皮帶算法轉(zhuǎn)到程序R6。然而,若在圍繞此鏡片邊緣的第一次掃描中發(fā)現(xiàn)有任何凹口,則此程序R5轉(zhuǎn)入步驟380。在這一步,每次一個(gè)地將凹口的寬度與給定的值d6進(jìn)行比較,而且,如果任意凹口的寬度大于該值d5,則認(rèn)為鏡片不適合用戶使用,并且在步驟382中廢棄鏡片。然而,假如所有的凹口寬度約小于d5,則此程序R5終止,此橡皮帶算法轉(zhuǎn)到程序R6,以便進(jìn)行圍繞鏡片邊緣象的第二此掃描或者跟蹤。
圖28說(shuō)明程序R6。如前所述,本程序主要是搜索鏡片邊緣中的薄層凹口和鏡片邊緣上細(xì)小的多余碎片,而這些薄層的凹口和細(xì)小的多余的碎片在圍繞鏡片邊緣的第一次掃描的程序R4中未被看作凹口和多余碎片。尤其是在步驟384,設(shè)定象素p(x,y)的地址等于文件f3中第一個(gè)象素的地址。然后在步驟386、390和392,識(shí)別分別被稱作邊緣向量和徑向向量的兩個(gè)向量v1和v2,并計(jì)算這兩個(gè)向量的標(biāo)量積。更具體地說(shuō),第一個(gè)向量v1是經(jīng)過(guò)象素p(x,y)和鏡片邊緣上沿此邊緣的該象素p(x,y)之前(或逆時(shí)針?lè)较?給定個(gè)數(shù)的第二個(gè)象素的向量,第二個(gè)向量是經(jīng)過(guò)象素p(x,y)伸展的環(huán)形帶150的徑向向量。從這些向量伸展所經(jīng)過(guò)的象素的地址中很容易確定這兩個(gè)向量的斜率及其標(biāo)量積。
參見(jiàn)圖29,如果象素p(x,y)是沿著鏡片邊緣上規(guī)則的圓形部分,那么經(jīng)過(guò)此象素的邊緣向量v1基本上與鏡片邊緣相切,如圖29中394所示。并且,此向量v1基本上與經(jīng)過(guò)此象素的徑向向量v2垂直,而且這兩個(gè)向量v1和v2的標(biāo)量積基本上為零。然而,如果象素p(x,y)處在鏡片邊緣的不規(guī)則部分,例如處在鏡片上的凹口或者多余碎片的邊緣,如圖29中396和400所示,則經(jīng)過(guò)象素p(x,y)的邊緣向量v1和徑向向量v2一般不垂直,而且這兩個(gè)向量的標(biāo)量積通常不為零。
在步驟402,將這兩個(gè)向量v1和v2的標(biāo)量積與給定值d7進(jìn)行比較。如果此標(biāo)量積等于或者大于此給定值-它表明在象素p(x,y)的區(qū)域內(nèi)存在明顯的凹口或多余碎片-則認(rèn)為此鏡片對(duì)于用戶使用不合格,并在步驟404被廢棄,而且整個(gè)程序R6終止。在步驟402,如果計(jì)算出來(lái)的標(biāo)量積小于d7-它表明在象素p(x,y)的區(qū)域內(nèi),鏡片邊緣上任何偏離理想圖的情況都在可容許的限度內(nèi),則此程序R6轉(zhuǎn)到步驟406。在此步驟406,該程序檢查確定是否完成圍繞鏡片邊緣象的第二次掃描或跟蹤。更確切地說(shuō),這樣做是通過(guò)檢查來(lái)確定象素p(x,y)是否為文件f3上的最后一個(gè)象素。如果是,則此第二次掃描完成,且此橡皮帶算法轉(zhuǎn)到程序R7。然而在步驟406,如果確定尚未完成此圍繞鏡片邊緣象的第二次掃描,則在步驟408,規(guī)定象素p(x,y)的地址等于文件f3上面下一個(gè)象素的地址,然后該程序返回到步驟386。重復(fù)步驟386至408,直到報(bào)廢鏡片或者對(duì)于文件f3上的每個(gè)象素來(lái)說(shuō),算出經(jīng)過(guò)該象素的兩個(gè)向量v1和v2的相關(guān)標(biāo)量積并判定小于d7為止,此時(shí)橡皮帶算法轉(zhuǎn)到程序R7,進(jìn)行圍繞鏡片邊緣的第三次掃描或跟蹤。
最好不對(duì)鏡片邊緣上的所有象素都計(jì)算上述標(biāo)量積,尤其不對(duì)在圍繞鏡片邊緣所作第一次掃描中已經(jīng)找到的凹口或者多余碎片邊緣上的象素進(jìn)行計(jì)算。之所以不需要對(duì)這些凹口及多余碎片上的象素計(jì)算這種標(biāo)量積,是因?yàn)樵缫阎肋@些象素不是在凹口上就是在多余碎片上,而且通過(guò)不必確定經(jīng)過(guò)這些象素的向量v1及v2以及這兩個(gè)向量的標(biāo)量積,可以節(jié)省可觀的大量處理時(shí)間。
完成程序R6之后,此橡皮帶算法便轉(zhuǎn)到程序R7,進(jìn)行圍繞此鏡片邊緣的第三次掃描或跟蹤。如前面討論過(guò)的那樣,此第三次掃描的目的,實(shí)際上是要產(chǎn)生一組新的數(shù)據(jù)值I10,該值免除了與鏡片中恰好處在其外邊緣內(nèi)側(cè)的任意缺陷有關(guān)的任何數(shù)據(jù)。圖30更詳細(xì)地表示出程序R7,該程序通常包括三個(gè)部分。在其第一部分,規(guī)定每個(gè)象素的I10值等于該象素的I9值;在第二部分,計(jì)算環(huán)形帶150的外緣150a的平均邊緣厚度值N;且在第三部分,規(guī)定此平均邊緣厚度更內(nèi)側(cè)的給定范圍內(nèi)的象素的I10值為零。
更確切地說(shuō),在程序R7的步驟410,規(guī)定每一象素的I10值等于該象素的I9值。接下去參見(jiàn)圖30及31,在412步,如圖31中414a~414e表示的那樣,環(huán)形帶150最外側(cè)邊緣150a上面選擇給定個(gè)數(shù)的象素。然后在該程序R7的416步,如圖31中420a~420e所示,對(duì)于經(jīng)過(guò)這些象素414a~414e的鏡片象每一半徑上被照明的象素?cái)?shù)進(jìn)行計(jì)數(shù)。例如該程序可以把該環(huán)形帶最外側(cè)邊緣上的象素記數(shù)為第一個(gè)象素,并由此象素沿徑向向內(nèi)搜索,對(duì)此半徑上的每個(gè)被照明象素增加記數(shù)值1。在422步,算出每個(gè)半徑上面被照明象素的平均數(shù),例如可以很簡(jiǎn)單地通過(guò)將計(jì)數(shù)出來(lái)的被照明象素總數(shù)除以所作徑向掃描數(shù)來(lái)做到這一點(diǎn)。通常此平均值并不是一個(gè)整數(shù),因此隨后最好將該平均值增加到下一個(gè)最大的整數(shù)。
在程序R7接下去的部分,要進(jìn)行圍繞環(huán)形帶150外緣150a的第三次掃描。為開始此掃描,如圖30中424步所示,選擇該邊緣上的任意象素為開始象素P(x,y)。然后如426和430步表示的那樣,對(duì)于平均邊緣厚度上沿徑向向內(nèi)的所選定數(shù)的象素,設(shè)定其I10值為零。更確切地說(shuō),在環(huán)形帶150外側(cè)邊緣上的每一象素處,該程序沿鏡片半徑徑向向內(nèi)對(duì)象素?cái)?shù)N進(jìn)行計(jì)數(shù)。然后對(duì)沿此半徑進(jìn)一步徑向向內(nèi)的給定象素?cái)?shù)中的每一個(gè),設(shè)定其I10值為零。參見(jiàn)圖32,該程序中的這些步驟,實(shí)際上是設(shè)定畫陰影線區(qū)域432中象素的I10值為零。
在該程序R7的434步,檢查確定是否完成此圍繞鏡片邊緣象的第三次掃描,而且可調(diào)用任何適合的子程序。例如,假如被選作此掃描開始象素的象素是處在文件f3中的頂部象素,那么該程序在對(duì)該文件中底部象素完成步驟426及430后,可認(rèn)為完成該掃描。換一種方法,可以對(duì)程序R7中426和430步利用的象素地址分開列表,而且每次將一個(gè)象素的地址加到該表中,可對(duì)此表進(jìn)行檢查以觀察是否已將新地址加在該表中。假如被增加給該表的地址值已在該表中,則認(rèn)為完成此圍繞鏡片邊緣象的第三次掃描。
假如在434步并未完成第三次掃描,那么在436步,設(shè)定象素P(x,y)的地址等于現(xiàn)行象素P(x,y)沿環(huán)形帶150外緣150a的下一個(gè)象素(順時(shí)針?lè)较?的地址。例如可由文件f3中提取該地址;在436步,簡(jiǎn)單地設(shè)定象素P(x,y)的地址等于該文件中現(xiàn)行象素地址的下一個(gè)象素地址。此后該程序R7返回到426步,并且對(duì)新象素地址P(x,y)重復(fù)步驟426、430以及434。
在完成圍繞鏡片邊緣象的這個(gè)第三次掃描之后,處理機(jī)64退出程序R7,并終止該橡皮帶算法。
完成橡皮帶算法之后,還要進(jìn)行許多進(jìn)一步的操作,總的目的在于使所考慮或檢查的鏡片中的不規(guī)則性顯現(xiàn)出來(lái),從而使隨后更加容易識(shí)別這些不規(guī)則性。
這些程序中的第一個(gè)稱作填充程序,是對(duì)象素陣列46上的每個(gè)象素建立另外一組數(shù)據(jù)值I11,可用來(lái)識(shí)別環(huán)形帶150外側(cè)邊緣之中、之上或其鄰近的任何不規(guī)則性象素。更確切地說(shuō),參見(jiàn)圖33,可用這些數(shù)據(jù)值識(shí)別一些象素,包括(ⅰ)鏡片邊緣中的任何凹口,如以436表示者;(ⅱ)鏡片邊緣內(nèi)側(cè)的任何不規(guī)則性,如以440表示者;(ⅲ)鏡片邊緣上的任何多余碎片,如以442表示者,以及(ⅳ)子程序S3中在步驟362及370上形成的任何多余碎片和相鄰的線段L3及L4之間的象素。
這個(gè)填充程序包括許多比較特殊的運(yùn)算,它們被稱之為MAX,PMAX,MIN和PMIN;這個(gè)程序涉及要處理一組與這些象素有關(guān)的基本數(shù)據(jù)值。在MAX運(yùn)算中,對(duì)給定象素建立新數(shù)據(jù)值,它等于緊鄰的8個(gè)象素中為最大的基本數(shù)據(jù)值;在PMAX運(yùn)算中,對(duì)給定的象素建立新數(shù)據(jù)值,它等于緊靠其左、右和上、下的四個(gè)象素中為最大的基本數(shù)據(jù)值。在MIN運(yùn)算中,對(duì)給定象素建立新數(shù)據(jù)值,它等于緊鄰的8個(gè)象素中為最小的基本數(shù)據(jù)值;在PMIN運(yùn)算中,對(duì)給定象素建立新數(shù)據(jù)值,它等于緊靠其左、右和上、下的四個(gè)象素中為最小的基本數(shù)據(jù)值。
圖34A至34E說(shuō)明MAX,PMAX,MIN和PMIN運(yùn)算。更確切地說(shuō),圖34A表示一個(gè)7×7數(shù)字陣列,每個(gè)數(shù)字代表相關(guān)象素的數(shù)據(jù)值,該數(shù)字在陣列中的位置與相關(guān)象素的地址相對(duì)應(yīng)。例如,地址為(1,1)的象素的數(shù)據(jù)值為7;地址為(4,1)的象素的數(shù)據(jù)值為零;地址為(4,2),(4,7)和(5,2)的象素的數(shù)據(jù)值則分別為7、0和0。
圖34B表示在圖34A中所示的整個(gè)數(shù)字陣列上完成MAX運(yùn)算之后產(chǎn)生的值。例如在圖34B中地址(2,6)處的數(shù)據(jù)值為7,是因?yàn)樵趫D34A中與此象素地址相鄰的8個(gè)象素之一具有7的值。與此類似,在圖34B中地址(6,2)處的值為7,是因在圖34A的數(shù)據(jù)組中鄰近該象素地址的8個(gè)象素之一具有7的值。圖34C表示在圖34A的整個(gè)數(shù)據(jù)組上進(jìn)行PMAX運(yùn)算結(jié)果產(chǎn)生的值;例如圖34C中地址(6,3)和(6,4)處的值為7,是由于圖34A中緊靠此兩象素地址中每一個(gè)左方的象素具有7的值。
圖34D和34E分別表示MIN和PMIN運(yùn)算之后產(chǎn)生的值是在圖34A表示的數(shù)值陣列上完成的。例如在圖34D中,地址(4,3)處的值之所以為0,因在圖34A中地址(4,3)的8個(gè)相鄰象素之一具有0值;而在圖34E中地址(4,2)處的值之所以為0,因在圖34A中緊靠該象素地址右方的象素具有0值。
圖35說(shuō)明優(yōu)選的填充程序R8。參見(jiàn)該圖,此程序涉及對(duì)象素陣列46上的數(shù)據(jù)值完成14個(gè)獨(dú)立的運(yùn)算,其中每個(gè)運(yùn)算都是在整個(gè)象素陣列上一次一個(gè)地進(jìn)行。這些運(yùn)算依次為MAX,PMAX,PMAX,MAX,MAX,PMAX,PMAX,MIN,PMIN,PMIN,MIN,MIN,PMIN及PMIN。從各象素的I9值開始這些運(yùn)算,在完成所有14個(gè)運(yùn)算之后得到的數(shù)據(jù)值稱為I11值。
實(shí)際上,這些運(yùn)算的結(jié)果填充到環(huán)形帶150外側(cè)邊緣之中、之上或其鄰近的凹口436、多余碎片442和不規(guī)則性440中。更確切地說(shuō),圖33和36表示環(huán)形帶150的相同部分,只不過(guò)前一個(gè)圖表示以I9值照明的象素,后一個(gè)圖則表示以其I11值照明的象素。這兩個(gè)圖之間的不同表示出圖35中填充程序的效果。尤其這種差別在于,對(duì)于凹口436中、多余碎片442中、不規(guī)則性440中以及處在多余碎片和線段L3及L4之間的象素來(lái)說(shuō),這些象素的I11值為Tmax,而這些象素的I9值卻為零。
如本領(lǐng)域普通技術(shù)人員所理解的那樣,其它各種特定的程序是已知的,并可用來(lái)產(chǎn)生上述象素所需要的I11值。
完成填充運(yùn)算R8之后,處理機(jī)64調(diào)用第二個(gè)掩模程序R9,產(chǎn)生一組象素照明值I12,在距偏心檢查中擬合在環(huán)形帶150內(nèi)側(cè)邊緣150b上圓中心點(diǎn)給定半徑內(nèi),這個(gè)照明值I12不受任何入射在象素陣列46上的光的影響。如下面更詳細(xì)討論的那樣,以后就用這組象素照明值I12幫助識(shí)別鏡片內(nèi)部的缺陷,即在環(huán)形帶150內(nèi)側(cè)邊緣的徑向以內(nèi)區(qū)域中的缺陷。
鏡片檢查過(guò)程這一階段所用的掩模程序R9非常類似于圖19A~19C和圖20中表示的掩模程序R3。這兩個(gè)掩模程序之間的原則性差別在于,程序R9中所用掩模的半徑略小于擬合在環(huán)形帶150內(nèi)側(cè)邊緣上的圓的半徑;而程序R3中所用掩模的半徑略大于擬合在環(huán)形帶150外側(cè)邊緣上的圓的半徑。
圖37為說(shuō)明優(yōu)選的掩模程序R9的流程圖。這個(gè)程序的第一步446是,確定在偏心檢查的步驟216或226中,環(huán)形帶150內(nèi)側(cè)邊緣上是否已經(jīng)發(fā)現(xiàn)至少三個(gè)象素,或者是否發(fā)現(xiàn)此眼鏡片是嚴(yán)重偏心的。假如在偏心檢查的這兩步中任一步發(fā)現(xiàn)該鏡片是嚴(yán)重偏心的,則在步驟450終止掩模程序R9。
如果程序R9并不在步驟450終止,該程序便轉(zhuǎn)入步驟452,該步驟是要獲得在偏心檢查中擬合在環(huán)形帶150內(nèi)側(cè)邊緣150b上面的圓的中心的坐標(biāo)。在偏心檢查過(guò)程中,這些坐標(biāo)已經(jīng)被確定并儲(chǔ)存在處理機(jī)的存儲(chǔ)器中,通過(guò)簡(jiǎn)單地從該處理機(jī)的存儲(chǔ)器中檢索它們,就能得到這些坐標(biāo)。一旦得到這些中心的坐標(biāo),則在步驟454調(diào)用掩模子程序?,F(xiàn)在參見(jiàn)圖38A~38C,此子程序?qū)嶋H上是將一個(gè)圓形掩模456疊加在象素陣列46上,掩模的中心在上述中心坐標(biāo)上,其直徑略小于擬合在環(huán)形帶150內(nèi)側(cè)邊緣150b上的圓的直徑,然后此掩模子程序?yàn)槊恳幌笏刭x值I12。特別是對(duì)此掩模外側(cè)的每個(gè)象素來(lái)說(shuō),此掩模子程序給象素的I12值等于該象素的I8值;對(duì)此掩模內(nèi)側(cè)的每個(gè)象素來(lái)說(shuō),此掩模子程序賦給象素的I12值為零。
更確切地說(shuō),在步驟452,將上述中心點(diǎn)的坐標(biāo)(xi,yi)和被選擇為略小于擬合在環(huán)形帶150內(nèi)側(cè)邊緣上的圓的半徑的半徑值r2,傳輸給此掩模子程序。隨后在步驟454,由此子程序形成象素陣列46中所有處在距中心點(diǎn)(xi,yi)為r2的象素地址的文件f5。然后在步驟460,檢查象素陣列46中的每個(gè)象素的地址,確定其是否在此文件中。假如該象素的地址在此文件中,那么在步驟462,設(shè)定該象素的I12值為零;假如該象素的地址不在該文件中,那么在步驟464設(shè)定象素的I12值等于該象素的I12值等于該象素的I8值。
許多實(shí)現(xiàn)上述目的的專用掩模子程序在本領(lǐng)域中都是公知的,而且任何適合的子程序都可以用在程序R9的步驟454中。
圖38C表示以強(qiáng)度等于其相應(yīng)的I12值照明的象素陣列46上的象素。
完成第二個(gè)掩模程序之后,執(zhí)行由一系列運(yùn)算組成的又一個(gè)程序R10,以提供一組象素照明值,借以清楚地識(shí)別出那些在所檢查的鏡片中的任何不規(guī)則性或缺陷中的象素。更確切地說(shuō),這些進(jìn)一步運(yùn)算的目的是為了提供一組象素照明值,該值不受因背景噪聲或光對(duì)象素陣列46產(chǎn)生的任何影響,也不受由于環(huán)形帶150的正常的或者規(guī)則的邊緣150a及150b對(duì)象素陣列46的任何影響。圖39的流程圖中表示了這些進(jìn)一步的運(yùn)算。
在步驟466,對(duì)每一個(gè)象素得到的另外一個(gè)I值即I13,尤其是通過(guò)從象素的I10值中減去象素的I12值,可獲得各象素的I13值。圖40a,40b和40c分別表示以強(qiáng)度等于其I10,I12和I13值照明的一部分環(huán)形帶150中的象素,并且正如所能看到的那樣,步驟466的實(shí)際效果是從圖40a的象中去掉圖40b的象,以產(chǎn)生圖40c的象。
然后在步驟470,進(jìn)行一種稱作清除運(yùn)算的操作,實(shí)際上是幫助清除寄生的照明象素。更具體地說(shuō),由象素的I13值開始,按照順序在整個(gè)象素陣列46上進(jìn)行MAX,MIN,PMIN和PMAX運(yùn)算,產(chǎn)生被稱為I14值的另一組象素值。圖40d表示以強(qiáng)度等于其相應(yīng)的I14值照明的環(huán)帶象素陣列46,并且正像通過(guò)對(duì)比圖40c及40d所能看到的那樣,此清除運(yùn)算的作用在于很簡(jiǎn)單地就能清除因一種或它種原因在圖40c中被照明的各種孤立的象素。
系統(tǒng)10按上述程序R1~R10進(jìn)行數(shù)據(jù)處理以后,進(jìn)行傷痕或缺陷分析,圖41A及41B表示用來(lái)說(shuō)明一種優(yōu)選的缺陷檢測(cè)或分析程序R11的流程圖。參照?qǐng)D42能夠更好地理解這種分析,該圖表示以強(qiáng)度等于其相應(yīng)的I14值照明的一部分環(huán)形帶150上的象素。
參見(jiàn)圖41A,41B及圖42,作為這種缺陷分析的第一部分的圖41A中步驟472及474,是對(duì)被稱作掃描路程的各水平序列連貫的照明象素中開始及結(jié)束處象素的地址列表。更確切地說(shuō),處理機(jī)64實(shí)際上是穿過(guò)象素陣列46中各水平行的象素進(jìn)行掃描,而且在每一掃描過(guò)程中,每次都會(huì)碰到一系列被照明的象素,將該系列中的第一及最后一個(gè)象素的地址記錄在文件f6中。在單個(gè)孤立的照明的象素的情況下-即處在此照明象素左方及右方的象素本身未被照明-將這個(gè)被照明象素的地址既作為第一又作為最后一個(gè)象素的地址記錄在由被照明象素形成的掃描路程中。
更確切地說(shuō),處理機(jī)實(shí)際上并不跨過(guò)象素陣列上的圖象進(jìn)行掃描,而是代之以編譯上述地址表。這種編譯是通過(guò)檢查儲(chǔ)存在該處理機(jī)儲(chǔ)存器中的象素陣列46中象素的I14值來(lái)實(shí)現(xiàn)的。
完成文件f6之后,程序R11在步驟476調(diào)用群集子程序,對(duì)每個(gè)區(qū)域或每組連續(xù)的照明象素生成單獨(dú)的文件f6a……f6n-或者更準(zhǔn)確地說(shuō),是為每個(gè)區(qū)域或每組具有高I14值的連續(xù)的象素生成文件。任何適合的群集子程序均可用來(lái)做這種群集。生成這些單獨(dú)的文件f6a……,f6n之后,隨后在步驟480,可以對(duì)那些彼此靠近的照明區(qū)例如圖42中以482和484表示的那些,歸并這些文件,例如通過(guò)檢查確定一個(gè)照明區(qū)內(nèi)的任意象素是否離另一照明區(qū)內(nèi)任意象素在給定的象素?cái)?shù)(例如二或三個(gè)象素)范圍以內(nèi)就可以做到這一點(diǎn)。這些彼此靠近的照明區(qū),實(shí)際上被認(rèn)為構(gòu)成了一個(gè)照明區(qū)。
完成步驟480之后,在步驟486調(diào)用子程序,計(jì)算每個(gè)被照明的象素區(qū)的面積和矩心及其邊界框。在所進(jìn)行的這些計(jì)算的領(lǐng)域中,許多子程序都是公知的。任何這種適合的子程序均可用在程序R11中,在此無(wú)需對(duì)這些子程序作詳細(xì)描述。
接下去由程序R11確定每個(gè)照明區(qū)的總體位置。更具體地說(shuō),在步驟490,得到的擬合在環(huán)形帶150的內(nèi)外邊緣150a及150b上的兩個(gè)圓的中心的地址和半徑。在偏心檢查過(guò)程中已經(jīng)確定了這些數(shù)據(jù),隨后儲(chǔ)存在處理機(jī)的儲(chǔ)存器中,而且簡(jiǎn)單地通過(guò)自儲(chǔ)存器中檢索這些數(shù)據(jù)就能得到它。然后在步驟492,由處理機(jī)確定每個(gè)照明象素區(qū)域的矩心是否位于(ⅰ)鏡片中心區(qū)的內(nèi)部(即沿徑向位于擬合在環(huán)形帶內(nèi)緣上的圓的內(nèi)側(cè)區(qū)域),或者(ⅱ)鏡片的外圍區(qū)(即鏡片上擬合在環(huán)形帶內(nèi)外邊緣上的兩個(gè)圓之間的區(qū)域)。
許多確定該區(qū)域的矩心是在第一個(gè)圓之內(nèi)或在通常為同心的兩個(gè)圓之間的子程序都是公值的,在此無(wú)需詳細(xì)描述這些子程序。
步驟490和492就其最廣泛意義來(lái)說(shuō)對(duì)于系統(tǒng)10的運(yùn)算并不需要。然而最好還是做這些步驟,并收集相關(guān)的數(shù)據(jù)以為分析之用,特別是幫助識(shí)別鏡片中可能出現(xiàn)的不規(guī)則性或者缺陷的位置。對(duì)于調(diào)整或改進(jìn)制作鏡片的工藝規(guī)程或材料,這些數(shù)據(jù)可能是有用的。
完成步驟490和492之后,處理機(jī)隨后確定每個(gè)被照明象素區(qū)的尺寸是否大到足以看成可使鏡片報(bào)廢的傷痕或缺陷的程度。更具體地說(shuō),在步驟494,將每個(gè)被照明象素面積大小同予先選定的尺寸進(jìn)行比較。如果被照明面積小于予選的尺寸,則此被照明象素的面積不足以使鏡片報(bào)廢。然而,假如被照明象素的面積大于此予選的尺寸,則此被照明面積被看成傷痕或者缺陷,它們使鏡片不適合用戶使用。這個(gè)予選的尺寸可以儲(chǔ)存在存儲(chǔ)磁盤70中。
在步驟496,最好保留每個(gè)鏡片中所發(fā)現(xiàn)的缺陷的計(jì)數(shù)。這種計(jì)數(shù)對(duì)于分析制作鏡片中采用的工藝和材料可能是有用的。
在步驟500,可在監(jiān)視器72上得到顯示,表示那些面積大于上述在邊界框之內(nèi)所示閥值尺寸的被照明象素的面積。隨后在步驟502,處理機(jī)64進(jìn)行檢查,以確定鏡片中實(shí)際上是否發(fā)現(xiàn)任何缺陷。假如發(fā)現(xiàn)缺陷,則在步驟504產(chǎn)生廢棄鏡片的信號(hào),并傳輸給監(jiān)視器72和打印機(jī)76,同時(shí)將該鏡片自系統(tǒng)10中除掉。然而,如果鏡片中沒(méi)有發(fā)現(xiàn)缺陷,則程序R11便完全終止。隨后系統(tǒng)10將工作在移動(dòng)另一個(gè)鏡片通過(guò)照明子系統(tǒng)14,而且另一個(gè)光脈沖將透過(guò)該另一個(gè)鏡片。將透射光聚焦在象素陣列46上,并重復(fù)以上處理程序,確定該另一鏡片對(duì)于用戶使用是否合格。
非常明顯,盡管這里所公開的發(fā)明非常適于實(shí)現(xiàn)上述目的,然而應(yīng)當(dāng)理解,本領(lǐng)域的技術(shù)熟練人員可作出許多改進(jìn)和實(shí)施方式,并且使所附的權(quán)利要求書覆蓋所有這些改進(jìn)和實(shí)施方式,因?yàn)樗鼈兌悸湓诒景l(fā)明的真實(shí)精神和范圍內(nèi)。
權(quán)利要求
1.一種鏡片檢驗(yàn)系統(tǒng),包括有運(yùn)送子系統(tǒng),驅(qū)使許多眼鏡片沿著預(yù)定的路徑移動(dòng),以使這些眼鏡片中的每一個(gè)都能一次一個(gè)地移動(dòng)到鏡片檢查位置上;照明子系統(tǒng),產(chǎn)生一系列光脈沖,并讓一個(gè)相應(yīng)的光脈沖射過(guò)通過(guò)鏡片檢查位置移動(dòng)的每個(gè)眼鏡片;成象子系統(tǒng),產(chǎn)生一組信號(hào)代表這些光脈沖透過(guò)眼鏡片的選定部位,以及圖象處理子系統(tǒng),由成象子系統(tǒng)接收上述信號(hào),并按預(yù)定的程序?qū)ι鲜鲂盘?hào)進(jìn)行處理,以便識(shí)別出這些被檢查鏡片中每個(gè)鏡片的至少一種情況。
2.根據(jù)權(quán)利要求1的鏡片檢驗(yàn)系統(tǒng),其中的運(yùn)送子系統(tǒng)包括夾持多個(gè)眼鏡片的鏡片承載裝置,以及支承該鏡片承載裝置的支承裝置,適于驅(qū)動(dòng)該鏡片承載裝置運(yùn)動(dòng),以使其中的每個(gè)鏡片一次一個(gè)地移動(dòng)到鏡片檢查位置。
3.根據(jù)權(quán)利要求2的鏡片檢驗(yàn)系統(tǒng),其中支承裝置包括有(ⅰ)位移平臺(tái),該平臺(tái)包括底座,由該底座支撐,沿第一方向移動(dòng)的第一框架,以及由此第一框架支撐,沿垂直于上述第一方向的第二個(gè)方向移動(dòng)的第二框架,以及(ⅱ)驅(qū)動(dòng)第一框架沿上述第一方向移動(dòng)和驅(qū)動(dòng)第二框架沿上述第二方向移動(dòng)的裝置,而且鏡片承載裝置被第二框架支撐,以便隨同移動(dòng)。
4.根據(jù)權(quán)利要求1的鏡片檢驗(yàn)系統(tǒng),其中的照明子系統(tǒng)包括有能夠產(chǎn)生光脈沖的閃光燈;按選定的時(shí)間觸發(fā)該閃光燈的閃光燈控制器,以及將來(lái)自該閃光燈的光脈沖沿著預(yù)定的路徑射出,并通過(guò)經(jīng)過(guò)鏡片檢查位置移動(dòng)的眼鏡片的裝置。
5.根據(jù)權(quán)利要求4的鏡片檢驗(yàn)系統(tǒng),其中的照明子系統(tǒng),還包括位于上述預(yù)定光路中用以調(diào)整光脈沖橫截面大小的可調(diào)光闌。
6.根據(jù)權(quán)利要求1的鏡片檢驗(yàn)系統(tǒng),其中的成象子系統(tǒng)包括產(chǎn)生上述信號(hào)組的象素陣列;位于該象素陣列和鏡片檢查位置之間的不透光的光闌,以及位于該光闌和鏡片檢查位置之間的成象透鏡,用來(lái)將透過(guò)鏡片檢查位置的第一部分光聚焦在該光闌上,并將透過(guò)鏡片檢查位置的第二部分光聚焦在該象素陣列上。
7.根據(jù)權(quán)利要求6的鏡片檢驗(yàn)系統(tǒng),其中照明子系統(tǒng)沿著給定軸線將光脈沖射過(guò)鏡片檢查位置,并射在成象子系統(tǒng)中,而且象素陣列、不透光的光闌以及成象透鏡均位于上述給定軸線之上。
8.根據(jù)權(quán)利要求1的鏡片檢驗(yàn)系統(tǒng),還包括一個(gè)控制子系統(tǒng),以便在每次一個(gè)眼鏡片移過(guò)鏡片檢查位置時(shí)觸發(fā)照明子系統(tǒng)產(chǎn)生一個(gè)相應(yīng)的光脈沖。
9.根據(jù)權(quán)利要求8的鏡片檢驗(yàn)系統(tǒng),其中運(yùn)送子系統(tǒng)包括每次當(dāng)眼鏡片之一移過(guò)鏡片檢查位置時(shí)能夠產(chǎn)生觸發(fā)信號(hào)的裝置,以及控制子系統(tǒng)接收開自該運(yùn)送子系統(tǒng)的觸發(fā)信號(hào),并將此觸發(fā)信號(hào)傳輸給照明子系統(tǒng)以產(chǎn)生上述相應(yīng)的一個(gè)光脈沖。
10.根據(jù)權(quán)利要求1的鏡片檢驗(yàn)系統(tǒng),其中運(yùn)送子系統(tǒng)包括每次當(dāng)眼鏡片之一移過(guò)鏡片檢查位置時(shí)能夠產(chǎn)生觸發(fā)信號(hào)的裝置;照明子系統(tǒng)包括(ⅰ)能夠產(chǎn)生光脈沖的閃光燈,以及(ⅱ)按選定的時(shí)間觸發(fā)該閃光燈的閃光燈控制器;成象子系統(tǒng)包括(ⅰ)外殼,以及(ⅱ)位于該外殼中,產(chǎn)生上述信號(hào)組的象素陣列;外殼則包括快門,具有關(guān)閉位置和讓象素陣列暴露給射過(guò)眼鏡片的光脈沖的打開位置,并且,其中的鏡片檢驗(yàn)系統(tǒng)還包括控制子系統(tǒng),接收來(lái)自傳送子系統(tǒng)的觸發(fā)信號(hào),并將此觸發(fā)信號(hào)(ⅰ)傳輸給閃光燈控制器,觸發(fā)該閃光燈,產(chǎn)生一個(gè)光脈沖,(ⅱ)傳輸給上述快門,驅(qū)動(dòng)快門至打開位置,讓象素陣列對(duì)上述一個(gè)光脈沖而曝光。
11.根據(jù)權(quán)利要求1的鏡片檢驗(yàn)系統(tǒng),其中成象子系統(tǒng)產(chǎn)生一組相應(yīng)的信號(hào)代表光脈沖透過(guò)每個(gè)眼鏡片的選定部位,并且圖象處理子系統(tǒng)處理上述信號(hào)組中的每一組信號(hào),以確定在每個(gè)眼鏡片中是否存在許多預(yù)定情況中的任何一種情況;如果在一個(gè)眼鏡片中發(fā)現(xiàn)上述預(yù)定情況中的任何一種,則數(shù)據(jù)處理子系統(tǒng)將產(chǎn)生表明上述一個(gè)眼鏡片中存在上述預(yù)定情況中的上述一種情況的信號(hào)。
12.一種檢驗(yàn)眼鏡片的方法,包括收集該鏡片對(duì)于至少一種電磁頻率的象;將該象劃分成一組象素;賦予每一象素以位置值和圖象強(qiáng)度值;對(duì)各象素之間的位置值和圖象強(qiáng)度進(jìn)行比較;識(shí)別與所述鏡片的特征對(duì)應(yīng)的多組象素;將一組象素中的相互關(guān)系同預(yù)定的相互關(guān)系進(jìn)行比較,確定鏡片是否合格。
13.根據(jù)權(quán)利要求12的方法,其中所述的各象素之間進(jìn)行對(duì)比,是沿著橫過(guò)該鏡片邊緣的路徑進(jìn)行的。
14.根據(jù)權(quán)利要求12的方法,其中所述的對(duì)特征進(jìn)行識(shí)別,包括收集共有一個(gè)特征的壓一些象素的特征形成組。
15.根據(jù)權(quán)利要求12的方法,其中所述的比較是在包括該鏡片邊緣的一組象素之中進(jìn)行的。
16.根據(jù)權(quán)利要求12的方法,其中所述的比較是在包括一部分鏡片內(nèi)的一組象素之中進(jìn)行的。
17.一種檢驗(yàn)眼鏡片的方法,包括以下步驟使許多眼鏡片沿著預(yù)定的路徑移動(dòng),使這些眼鏡片中的每一個(gè)移動(dòng)至鏡片檢查位置;產(chǎn)生一列光脈沖;將一個(gè)相應(yīng)的光脈沖射過(guò)經(jīng)過(guò)鏡片檢查位置移動(dòng)的每一個(gè)眼鏡片;產(chǎn)生一組信號(hào),代表這些光脈沖透過(guò)眼鏡片的選定部位,以及按預(yù)定的程序處理所述信號(hào),識(shí)別所述鏡片中每個(gè)鏡片的至少一種情況。
18.根據(jù)權(quán)利要求17的方法,其中的處理步驟包括以下步驟處理所述信號(hào),確定每個(gè)眼鏡片中是否存在許多預(yù)定情況中的任何一種,以及如果在一個(gè)眼鏡片中發(fā)現(xiàn)所述預(yù)定情況中的任何一種,則產(chǎn)生一個(gè)信號(hào),表示上述情況中的上述一種情況存在于上述一個(gè)眼鏡片中。
19.根據(jù)權(quán)利要求17的方法,其中移動(dòng)步驟包括每次當(dāng)鏡片之一移至鏡片檢查位置時(shí)產(chǎn)生一個(gè)觸發(fā)信號(hào)的步驟;產(chǎn)生光脈沖的步驟,包括每次當(dāng)觸發(fā)信號(hào)產(chǎn)生時(shí)就產(chǎn)生一個(gè)光脈沖信號(hào)的步驟。
全文摘要
一種用于檢驗(yàn)眼鏡片的系統(tǒng),包括運(yùn)送、照明、成像和圖像處理子系統(tǒng)。運(yùn)送子系統(tǒng)驅(qū)動(dòng)許多眼鏡片沿著預(yù)定的路徑移動(dòng),將這些鏡片中的每一個(gè)一次一個(gè)地移至鏡片檢查位置;而照明子系統(tǒng)產(chǎn)生出一列光脈沖,并將一個(gè)相應(yīng)的光脈沖射過(guò)每個(gè)眼鏡片。成像子系統(tǒng)產(chǎn)生一組信號(hào),代表這些光脈沖透過(guò)眼鏡片的選定部位;圖像處理子系統(tǒng)由成像子系統(tǒng)接收這些信號(hào),并按預(yù)定的程序處理這些信號(hào),識(shí)別鏡片中每一鏡片的至少一種情況。
文檔編號(hào)G01M11/00GK1092167SQ9311989
公開日1994年9月14日 申請(qǐng)日期1993年12月21日 優(yōu)先權(quán)日1992年12月21日
發(fā)明者T·G·戴維斯, J·懷爾德, D·德賴發(fā)斯 申請(qǐng)人:莊臣及莊臣視力產(chǎn)品有限公司