專利名稱:從影像輪廓中搜尋拐點(diǎn)的計(jì)算機(jī)系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種影像量測(cè)系統(tǒng)及方法,尤其涉及一種從影像輪廓中搜尋拐點(diǎn)的計(jì)
算機(jī)系統(tǒng)及方法。
背景技術(shù):
影像量測(cè)是目前精密量測(cè)領(lǐng)域中最廣泛使用的量測(cè)方法,該方法不僅精度高,而 且量測(cè)速度快。影像量測(cè)主要用于工件(零件或者部件)的尺寸誤差和形位誤差的測(cè)量, 對(duì)保證產(chǎn)品質(zhì)量起著重要的作用。 —般而言,影像量測(cè)方法是采用影像量測(cè)機(jī)臺(tái),如VMS (Vision Measuring System),擷取待測(cè)工件的影像,然后將獲取的工件影像傳送給主機(jī),通過主機(jī)中的量測(cè)軟 件對(duì)工件影像做進(jìn)一步的處理獲取該影像的輪廓點(diǎn)。在進(jìn)行影像輪廓匹配時(shí),需要將該影 像的輪廓點(diǎn)與事先設(shè)定的影像模板中的輪廓點(diǎn)進(jìn)行比對(duì),以判斷該影像的輪廓是否與模板 的輪廓相匹配。 但是,一幅影像的輪廓點(diǎn)有幾百到幾千點(diǎn),利用現(xiàn)有的匹配方法進(jìn)行輪廓點(diǎn)匹配 會(huì)導(dǎo)致運(yùn)算量太大,從而影響匹配速度。
發(fā)明內(nèi)容
鑒于以上內(nèi)容,有必要提供一種從影像輪廓中搜尋拐點(diǎn)的計(jì)算機(jī)系統(tǒng),其可自動(dòng) 從影像輪廓中搜尋出拐點(diǎn),并利用該拐點(diǎn)進(jìn)行輪廓匹配。 鑒于以上內(nèi)容,還有必要提供一種從影像輪廓中搜尋拐點(diǎn)的方法,其可自動(dòng)從影 像輪廓中搜尋出拐點(diǎn),并利用該拐點(diǎn)進(jìn)行輪廓匹配。 —種從影像輪廓中搜尋拐點(diǎn)的計(jì)算機(jī)系統(tǒng),包括主機(jī)和影像量測(cè)機(jī)臺(tái),所述主機(jī) 包括存儲(chǔ)體,其特征在于,所述存儲(chǔ)體用于存儲(chǔ)輪廓點(diǎn)數(shù)據(jù),所述主機(jī)還包括影像獲取模 塊,用于獲取影像量測(cè)機(jī)臺(tái)傳送過來的待測(cè)工件的影像;影像處理模塊,用于對(duì)該影像的輪 廓進(jìn)行二值化處理,獲取該影像的輪廓點(diǎn)數(shù)據(jù),并保存在所述存儲(chǔ)體中;直線擬合模塊,用 于從所述輪廓點(diǎn)數(shù)據(jù)中選取一定數(shù)量的輪廓點(diǎn)擬合成一條直線;拐點(diǎn)搜尋模塊,用于計(jì)算 所選取輪廓點(diǎn)到擬合直線的距離和,并判斷該距離和是否小于一個(gè)設(shè)定值,如果該距離和 大于或等于所述設(shè)定值,則選取該一定數(shù)量的輪廓點(diǎn)的最后一個(gè)輪廓點(diǎn),作為搜尋到的拐 點(diǎn);所述直線擬合模塊,還用于當(dāng)該距離和小于所述設(shè)定值時(shí),在該一定數(shù)量的輪廓點(diǎn)的基 礎(chǔ)上增加一個(gè)輪廓點(diǎn),并將該一定數(shù)量的輪廓點(diǎn)和該增加的輪廓點(diǎn)擬合成一條直線;所述 拐點(diǎn)搜尋模塊,還用于判斷所述輪廓點(diǎn)數(shù)據(jù)中所剩輪廓點(diǎn)是否小于該一定數(shù)量,如果所剩 輪廓點(diǎn)大于或等于該一定數(shù)量,則繼續(xù)選取該一定數(shù)量的其它輪廓點(diǎn)擬合成一條直線。
—種從影像輪廓中搜尋拐點(diǎn)的方法,其特征在于,該方法包括如下步驟(a)獲取 影像量測(cè)機(jī)臺(tái)傳送過來的待測(cè)工件的影像;(b)對(duì)該影像的輪廓進(jìn)行二值化處理,獲取該 影像的輪廓點(diǎn)數(shù)據(jù),并保存在主機(jī)的存儲(chǔ)體中;(c)從所述輪廓點(diǎn)數(shù)據(jù)中選取一定數(shù)量的 輪廓點(diǎn)擬合成一條直線;(d)計(jì)算所選取輪廓點(diǎn)到擬合直線的距離和,如果該距離和小于
4一個(gè)設(shè)定值,執(zhí)行步驟(e),如果該距離和大于或等于所述設(shè)定值,執(zhí)行步驟(f) ;(e)在該 一定數(shù)量的輪廓點(diǎn)的基礎(chǔ)上增加一個(gè)輪廓點(diǎn),并將該一定數(shù)量的輪廓點(diǎn)和該增加的輪廓點(diǎn)
擬合成一條直線,然后返回步驟(d) ;(f)選取該一定數(shù)量的輪廓點(diǎn)的最后一個(gè)輪廓點(diǎn),作
為搜尋到的拐點(diǎn);(g)如果所述輪廓點(diǎn)數(shù)據(jù)中所剩輪廓點(diǎn)大于或等于該一定數(shù)量,則繼續(xù)
選取該一定數(shù)量的其它輪廓點(diǎn),并將其擬合成一條直線,然后返回步驟(d)。 相較于現(xiàn)有技術(shù),所述的從影像輪廓中搜尋拐點(diǎn)的計(jì)算機(jī)系統(tǒng)及方法,其可自動(dòng)
從影像輪廓中搜尋出拐點(diǎn),并利用該拐點(diǎn)進(jìn)行輪廓匹配,提高了匹配的速度。
圖1是本發(fā)明從影像輪廓中搜尋拐點(diǎn)的計(jì)算機(jī)系統(tǒng)較佳實(shí)施例的系統(tǒng)架構(gòu)圖。 圖2是本發(fā)明從影像輪廓中搜尋出拐點(diǎn)的過程示意圖。 圖3是本發(fā)明從影像輪廓中搜尋拐點(diǎn)的方法較佳實(shí)施例的流程圖。
具體實(shí)施例方式
如圖1所示,是本發(fā)明從影像輪廓中搜尋拐點(diǎn)的計(jì)算機(jī)系統(tǒng)較佳實(shí)施例的系統(tǒng)架 構(gòu)圖。該系統(tǒng)主要包括顯示設(shè)備1、主機(jī)2、影像量測(cè)機(jī)臺(tái)3和輸入設(shè)備4。所述主機(jī)2包括 存儲(chǔ)體20和影像量測(cè)單元21 ,所述存儲(chǔ)體20可以是主機(jī)2中的硬盤等,用于存儲(chǔ)輪廓點(diǎn)數(shù) 據(jù)22。所述輪廓點(diǎn)數(shù)據(jù)22為待測(cè)工件影像輪廓的點(diǎn)云數(shù)據(jù),所述輪廓點(diǎn)數(shù)據(jù)22是以像素 為單位順序排列的。 所述影像量測(cè)機(jī)臺(tái)3與所述主機(jī)2相連,用于攝取待測(cè)工件的影像,并將該影像傳
送給主機(jī)2。所述影像量測(cè)單元21用于對(duì)該影像的輪廓進(jìn)行處理,獲取該影像的輪廓點(diǎn)數(shù)
據(jù)22,保存在存儲(chǔ)體20中,并根據(jù)該輪廓點(diǎn)數(shù)據(jù)22從影像輪廓中搜尋出拐點(diǎn)。 所述主機(jī)2連接有顯示設(shè)備l,用于顯示影像量測(cè)機(jī)臺(tái)3傳送給主機(jī)2的影像和影
像量測(cè)單元21自動(dòng)搜尋到的拐點(diǎn)等。所述輸入設(shè)備4可以是鍵盤和鼠標(biāo)等,用于進(jìn)行數(shù)據(jù)輸入。 所述影像量測(cè)單元21包括影像獲取模塊210、影像處理模塊211、直線擬合模塊 212、拐點(diǎn)搜尋模塊213和輪廓生成模塊214。本發(fā)明所稱的模塊是完成一特定功能的計(jì)算 機(jī)程序段,比程序更適合于描述軟件在計(jì)算機(jī)中的執(zhí)行過程,因此在本發(fā)明以下對(duì)軟件描 述都以模塊描述。 所述影像獲取模塊210用于獲取影像量測(cè)機(jī)臺(tái)3傳送過來的待測(cè)工件的影像,參
見圖2中的圖2a,該圖2是本發(fā)明從影像輪廓中搜尋出拐點(diǎn)的過程示意圖。 所述影像處理模塊211用于對(duì)該影像的輪廓進(jìn)行二值化處理,獲取該影像的輪廓
點(diǎn)數(shù)據(jù)22,并保存在存儲(chǔ)體20中。二值化處理后的影像輪廓如圖2中的圖2b所示。其中,
影像二值化是指將一幅多個(gè)灰度級(jí)的影像轉(zhuǎn)化為只有兩個(gè)灰度級(jí)(0和255)的影像,以便
于特征的突出以及影像的識(shí)別,影像輪廓的二值化處理是指二值化影像的輪廓。 所述直線擬合模塊212用于從所述輪廓點(diǎn)數(shù)據(jù)22中選取一定數(shù)量的輪廓點(diǎn)擬合
成一條直線。在本實(shí)施例中,所述擬合成一條直線的算法為最小二乘法,根據(jù)最小二乘法擬
合成的直線具有如下特征該一定數(shù)量的輪廓點(diǎn)到該直線的距離的平方和為最小,該一定
數(shù)量的輪廓點(diǎn)可以根據(jù)用戶的需求進(jìn)行設(shè)定,本實(shí)施例以該一定數(shù)量為N進(jìn)行舉例說明,例如,可以取N = 3。 所述拐點(diǎn)搜尋模塊213用于計(jì)算所選取輪廓點(diǎn)到擬合直線的距離和,并判斷該距 離和是否小于一個(gè)設(shè)定值。如果該距離和大于或等于所述設(shè)定值,則拐點(diǎn)搜尋模塊213選 取該N個(gè)輪廓點(diǎn)的最后一個(gè)輪廓點(diǎn),作為搜尋到的拐點(diǎn)。其中,影像輪廓的拐點(diǎn)如圖2中的 圖2c所示,A、B、C、D、E和F即從圖2b中搜尋到的拐點(diǎn)。所述設(shè)定值可以根據(jù)用戶的需求 進(jìn)行設(shè)定,所述設(shè)定值可以為1個(gè)像素單位或多個(gè)像素單位,在本實(shí)施例中,所述設(shè)定值為 l個(gè)像素單位。 所述直線擬合模塊212還用于當(dāng)該距離和小于所述設(shè)定值時(shí),根據(jù)輪廓點(diǎn)數(shù)據(jù)22 的排列順序,在該N個(gè)輪廓點(diǎn)的基礎(chǔ)上增加一個(gè)輪廓點(diǎn),并將該N個(gè)輪廓點(diǎn)和該增加的輪廓 點(diǎn)擬合成一條直線。在本實(shí)施例中,新增加的輪廓點(diǎn)為該N個(gè)輪廓點(diǎn)后面的第一個(gè)輪廓點(diǎn)。
所述拐點(diǎn)搜尋模塊213還用于判斷所述輪廓點(diǎn)數(shù)據(jù)22中所剩輪廓點(diǎn)是否小于該 數(shù)量N。如果所剩輪廓點(diǎn)大于或等于該數(shù)量N,則所述直線擬合模塊212從輪廓點(diǎn)數(shù)據(jù)22 中繼續(xù)選取N個(gè)其它輪廓點(diǎn),并將這N個(gè)其它輪廓點(diǎn)擬合成一條直線。其中,繼續(xù)選取的N 個(gè)輪廓點(diǎn)不同于之前所選取的N個(gè)輪廓點(diǎn),在本實(shí)施例中,繼續(xù)選取的N個(gè)輪廓點(diǎn)為之前所 選N個(gè)輪廓點(diǎn)后面再連續(xù)選取的輪廓點(diǎn)。 所述輪廓生成模塊214用于當(dāng)所剩輪廓點(diǎn)小于該數(shù)量N時(shí),連接搜尋到的所有拐 點(diǎn),獲取該影像的輪廓(參見圖2中的圖2d)。該輪廓為影像的大致輪廓,在進(jìn)行輪廓匹配 時(shí),將利用所搜尋到的拐點(diǎn)進(jìn)行匹配。 如圖3所示,是本發(fā)明從影像輪廓中搜尋拐點(diǎn)的方法較佳實(shí)施例的流程圖。首先, 步驟S40,所述影像獲取模塊210獲取影像量測(cè)機(jī)臺(tái)3傳送過來的待測(cè)工件的影像。
步驟S41,所述影像處理模塊211對(duì)該影像的輪廓進(jìn)行二值化處理,獲取該影像的 輪廓點(diǎn)數(shù)據(jù)22,并保存在存儲(chǔ)體20中。 步驟S42,所述直線擬合模塊212從所述輪廓點(diǎn)數(shù)據(jù)22中選取一定數(shù)量的輪廓點(diǎn) 擬合成一條直線,例如,選取N個(gè)輪廓點(diǎn)。 步驟S43,所述拐點(diǎn)搜尋模塊213計(jì)算所選取的N個(gè)輪廓點(diǎn)到擬合直線的距離和。
步驟S44,所述拐點(diǎn)搜尋模塊213判斷該距離和是否小于一個(gè)設(shè)定值。如果該距 離和小于所述設(shè)定值,則執(zhí)行步驟S45,如果該距離和大于或等于所述設(shè)定值,則執(zhí)行步驟 S46。 步驟S45,所述直線擬合模塊212根據(jù)輪廓點(diǎn)數(shù)據(jù)22的排列順序,在該N個(gè)輪廓點(diǎn) 的基礎(chǔ)上增加一個(gè)輪廓點(diǎn),并將該N個(gè)輪廓點(diǎn)和該增加的輪廓點(diǎn)擬合成一條直線,然后流 程轉(zhuǎn)到步驟S43。在本實(shí)施例中,新增加的輪廓點(diǎn)為該N個(gè)輪廓點(diǎn)后面的第一個(gè)輪廓點(diǎn)。
步驟S46,拐點(diǎn)搜尋模塊213選取該N個(gè)輪廓點(diǎn)的最后一個(gè)輪廓點(diǎn),作為搜尋到的 拐點(diǎn)。 步驟S47,所述拐點(diǎn)搜尋模塊213判斷所述輪廓點(diǎn)數(shù)據(jù)22中所剩輪廓點(diǎn)是否小于 該數(shù)量N。如果所剩輪廓點(diǎn)大于或等于該數(shù)量N,則執(zhí)行步驟S48,如果所剩輪廓點(diǎn)小于該數(shù) 量N,則執(zhí)行步驟S49。 步驟S48,所述直線擬合模塊212從輪廓點(diǎn)數(shù)據(jù)22中繼續(xù)選取N個(gè)其它輪廓點(diǎn),并 將這N個(gè)其它輪廓點(diǎn)擬合成一條直線,然后流程轉(zhuǎn)到步驟S43。其中,繼續(xù)選取的N個(gè)輪廓 點(diǎn)不同于之前所選取的N個(gè)輪廓點(diǎn),在本實(shí)施例中,繼續(xù)選取的N個(gè)輪廓點(diǎn)為之前所選N個(gè)
6輪廓點(diǎn)后面再連續(xù)選取的輪廓點(diǎn)。 步驟S49,所述輪廓生成模塊214連接搜尋到的所有拐點(diǎn),獲取該影像的輪廓。該
輪廓為影像的大致輪廓,在進(jìn)行輪廓匹配時(shí),將利用所搜尋到的拐點(diǎn)進(jìn)行匹配。 最后應(yīng)說明的是,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管參照
較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明的
技術(shù)方案進(jìn)行修改或等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍。例如,將此方法應(yīng)
用于在清晰的邊界線上尋找邊界點(diǎn)。
權(quán)利要求
一種從影像輪廓中搜尋拐點(diǎn)的方法,其特征在于,該方法包括如下步驟(a)獲取影像量測(cè)機(jī)臺(tái)傳送過來的待測(cè)工件的影像;(b)對(duì)該影像的輪廓進(jìn)行二值化處理,獲取該影像的輪廓點(diǎn)數(shù)據(jù),并保存在主機(jī)的存儲(chǔ)體中;(c)從所述輪廓點(diǎn)數(shù)據(jù)中選取一定數(shù)量的輪廓點(diǎn)擬合成一條直線;(d)計(jì)算所選取輪廓點(diǎn)到擬合直線的距離和,如果該距離和小于一個(gè)設(shè)定值,執(zhí)行步驟(e),如果該距離和大于或等于所述設(shè)定值,執(zhí)行步驟(f);(e)在該一定數(shù)量的輪廓點(diǎn)的基礎(chǔ)上增加一個(gè)輪廓點(diǎn),并將該一定數(shù)量的輪廓點(diǎn)和該增加的輪廓點(diǎn)擬合成一條直線,然后返回步驟(d);(f)選取該一定數(shù)量的輪廓點(diǎn)的最后一個(gè)輪廓點(diǎn),作為搜尋到的拐點(diǎn);及(g)如果所述輪廓點(diǎn)數(shù)據(jù)中所剩輪廓點(diǎn)大于或等于該一定數(shù)量,則繼續(xù)選取該一定數(shù)量的其它輪廓點(diǎn),并將其擬合成一條直線,然后返回步驟(d)。
2. 如權(quán)利要求1所述的從影像輪廓中搜尋拐點(diǎn)的方法,其特征在于,還包括步驟如果 所述輪廓點(diǎn)數(shù)據(jù)中所剩輪廓點(diǎn)小于該一定數(shù)量,則連接搜尋到的所有拐點(diǎn),獲取該影像的 輪廓。
3. 如權(quán)利要求1所述的從影像輪廓中搜尋拐點(diǎn)的方法,其特征在于,所述輪廓點(diǎn)數(shù)據(jù) 為待測(cè)工件的影像輪廓的點(diǎn)云數(shù)據(jù)。
4. 如權(quán)利要求1所述的從影像輪廓中搜尋拐點(diǎn)的方法,其特征在于,所述擬合成一條 直線的算法為最小二乘法。
5. 如權(quán)利要求l所述的從影像輪廓中搜尋拐點(diǎn)的方法,其特征在于,所述設(shè)定值為l個(gè) 像素單位。
6. —種從影像輪廓中搜尋拐點(diǎn)的計(jì)算機(jī)系統(tǒng),包括主機(jī)和影像量測(cè)機(jī)臺(tái),所述主機(jī)包 括存儲(chǔ)體,其特征在于,所述存儲(chǔ)體用于存儲(chǔ)輪廓點(diǎn)數(shù)據(jù),所述主機(jī)還包括影像獲取模塊,用于獲取影像量測(cè)機(jī)臺(tái)傳送過來的待測(cè)工件的影像; 影像處理模塊,用于對(duì)該影像的輪廓進(jìn)行二值化處理,獲取該影像的輪廓點(diǎn)數(shù)據(jù),并保 存在所述存儲(chǔ)體中;直線擬合模塊,用于從所述輪廓點(diǎn)數(shù)據(jù)中選取一定數(shù)量的輪廓點(diǎn)擬合成一條直線;拐點(diǎn)搜尋模塊,用于計(jì)算所選取輪廓點(diǎn)到擬合直線的距離和,并判斷該距離和是否小 于一個(gè)設(shè)定值,如果該距離和大于或等于所述設(shè)定值,則選取該一定數(shù)量的輪廓點(diǎn)的最后 一個(gè)輪廓點(diǎn),作為搜尋到的拐點(diǎn);所述直線擬合模塊,還用于當(dāng)該距離和小于所述設(shè)定值時(shí),在該一定數(shù)量的輪廓點(diǎn)的 基礎(chǔ)上增加一個(gè)輪廓點(diǎn),并將該一定數(shù)量的輪廓點(diǎn)和該增加的輪廓點(diǎn)擬合成一條直線;及所述拐點(diǎn)搜尋模塊,還用于判斷所述輪廓點(diǎn)數(shù)據(jù)中所剩輪廓點(diǎn)是否小于該一定數(shù)量, 如果所剩輪廓點(diǎn)大于或等于該一定數(shù)量,則繼續(xù)選取該一定數(shù)量的其它輪廓點(diǎn)擬合成一條 直線。
7. 如權(quán)利要求6所述的從影像輪廓中搜尋拐點(diǎn)的計(jì)算機(jī)系統(tǒng),其特征在于,所述主機(jī) 還包括輪廓生成模塊,用于當(dāng)所剩輪廓點(diǎn)小于該一定數(shù)量時(shí),連接搜尋到的所有拐點(diǎn),獲取該 影像的輪廓。
8. 如權(quán)利要求6所述的從影像輪廓中搜尋拐點(diǎn)的計(jì)算機(jī)系統(tǒng),其特征在于,所述輪廓點(diǎn)數(shù)據(jù)為待測(cè)工件的影像輪廓的點(diǎn)云數(shù)據(jù)。
9. 如權(quán)利要求6所述的從影像輪廓中搜尋拐點(diǎn)的計(jì)算機(jī)系統(tǒng),其特征在于,所述擬合成一條直線的算法為最小二乘法。
10. 如權(quán)利要求6所述的從影像輪廓中搜尋拐點(diǎn)的計(jì)算機(jī)系統(tǒng),其特征在于,所述設(shè)定值為1個(gè)像素單位。
全文摘要
一種從影像輪廓中搜尋拐點(diǎn)的計(jì)算機(jī)系統(tǒng)及方法,該方法包括如下步驟獲取待測(cè)工件的影像;獲取該影像的輪廓點(diǎn)數(shù)據(jù);從所述輪廓點(diǎn)數(shù)據(jù)中選取一定數(shù)量的輪廓點(diǎn)擬合成一條直線;計(jì)算所選取輪廓點(diǎn)到擬合直線的距離和,如果該距離和小于一個(gè)設(shè)定值,在該一定數(shù)量的輪廓點(diǎn)的基礎(chǔ)上增加一個(gè)輪廓點(diǎn),并將其擬合成一條直線重新循環(huán);如果該距離和大于或等于所述設(shè)定值,選取該一定數(shù)量的輪廓點(diǎn)的最后一個(gè)輪廓點(diǎn)作為拐點(diǎn),然后,繼續(xù)選取該一定數(shù)量的其它輪廓點(diǎn),并將其擬合成一條直線重新循環(huán)。利用本發(fā)明可以自動(dòng)從影像輪廓中搜尋出拐點(diǎn)。
文檔編號(hào)G01B11/24GK101726256SQ20081030522
公開日2010年6月9日 申請(qǐng)日期2008年10月27日 優(yōu)先權(quán)日2008年10月27日
發(fā)明者丁勇紅, 張旨光, 蔣理, 薛曉光, 袁忠奎 申請(qǐng)人:鴻富錦精密工業(yè)(深圳)有限公司;鴻海精密工業(yè)股份有限公司