一種嵌入式機器視覺檢測程序開發(fā)方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及用于自動化檢測的嵌入式程序開發(fā)領(lǐng)域,特別是指一種嵌入式機器視覺檢測程序開發(fā)方法及系統(tǒng)。
【背景技術(shù)】
[0002]時下,生產(chǎn)勞動力的成本越來越高,工人對工作環(huán)境的舒適度和勞動強度的要求也逐漸提高,工業(yè)現(xiàn)場中的檢測流程越來越多的采用機器視覺檢測方案,即利用一定的圖像采集設(shè)備拍攝檢測目標,利用圖像處理方法進行分析,自動輸出檢測結(jié)果。利用機器視覺的檢測方案,可以有效的降低工人的勞動強度,同時還可以提高檢測的準確率。
[0003]近年來,在機器視覺檢測的研宄中,嵌入式檢測方案由于其穩(wěn)定高效等特性,受到了越來越多研宄者的重視,在生產(chǎn)應(yīng)用中使用的范圍也逐漸廣泛。但嵌入式開發(fā)程序,如FPGA、DSP等,由于其結(jié)構(gòu)復(fù)雜、功能實現(xiàn)難度大,大大限制了其使用范圍,尤其在檢測程序開始時,往往要耗費開發(fā)人員較多的精力,而且開發(fā)出的程序還容易存在一些在開發(fā)時未能檢查出的缺陷,嚴重時會直接影響檢測結(jié)果的準確性。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明的目的在于提出一種嵌入式機器視覺檢測程序開發(fā)方法及系統(tǒng),降低機器視覺檢測的研宄中,編程語言的繁瑣對開發(fā)人員的限制,同時使檢測程序標準化、規(guī)范化。
[0005]基于上述目的本發(fā)明提供的一種嵌入式機器視覺檢測程序開發(fā)方法,包括以下步驟:
[0006]獲取執(zhí)行機器視覺檢測功能所需的輸入?yún)?shù)和步驟;
[0007]根據(jù)所述輸入?yún)?shù)和步驟選取數(shù)據(jù)庫中的機器視覺檢測文件;
[0008]使用輸入?yún)?shù)替換所述機器視覺檢測文件中的待定參數(shù);
[0009]根據(jù)所述步驟排列所述機器視覺檢測文件的執(zhí)行順序;
[0010]按照所述執(zhí)行順序?qū)⑺鰴C器視覺檢測文件封裝為嵌入式機器視覺檢測程序。
[0011]進一步,還包括以下步驟:
[0012]根據(jù)輸入?yún)?shù)和計算方法,生成新的機器視覺檢測文件。
[0013]進一步,生成新的機器視覺檢測文件,包括以下步驟:
[0014]獲取執(zhí)行機器視覺檢測功能的某一步驟的輸入?yún)?shù)和計算方法;
[0015]根據(jù)輸入?yún)?shù)生成符合嵌入式程序標準的文件頭、文件尾;
[0016]根據(jù)輸入?yún)?shù)生成機器視覺檢測初始化語句;
[0017]根據(jù)輸入?yún)?shù)和計算方法生成機器視覺檢測功能語句;
[0018]根據(jù)輸入?yún)?shù)生成機器視覺處理輔助語句;
[0019]將所述文件頭、文件尾、機器視覺檢測初始化語句、機器視覺檢測功能語句、機器視覺檢測輔助語句封裝為機器視覺檢測文件;
[0020]根據(jù)輸入?yún)?shù),創(chuàng)建該機器視覺檢測文件的輸入接口。
[0021]進一步,還包括重新編輯已有嵌入式機器視覺檢測程序的步驟,具體包括:
[0022]讀取數(shù)據(jù)庫中的嵌入式機器視覺檢測程序;
[0023]獲取所述嵌入式機器視覺檢測程序包含的機器視覺檢測文件,以及它們的執(zhí)行順序;
[0024]重新排列所述機器視覺檢測文件的執(zhí)行順序或更改輸入?yún)?shù);
[0025]改變機器視覺檢測文件的數(shù)量或種類;
[0026]將更改后的機器視覺檢測文件封裝為新的嵌入式機器視覺檢測程序。
[0027]進一步,還包括以下步驟:
[0028]將得到的嵌入式機器視覺檢測程序燒錄至嵌入式機器視覺檢測設(shè)備中。
[0029]本發(fā)明還提供一種嵌入式機器視覺檢測程序開發(fā)系統(tǒng),包括:
[0030]輸入模塊,用于獲取執(zhí)行機器視覺檢測功能所需的輸入?yún)?shù)和步驟;
[0031]數(shù)據(jù)庫模塊,用于存儲機器視覺檢測文件,以及由機器視覺檢測文件封裝得到的機器視覺檢測程序;
[0032]程序封裝模塊,用于根據(jù)所述輸入?yún)?shù)和步驟選取數(shù)據(jù)庫中的機器視覺檢測文件,使用輸入?yún)?shù)替換所述機器視覺檢測文件中的待定參數(shù),根據(jù)所述步驟排列所述機器視覺檢測文件的執(zhí)行順序,按照所述執(zhí)行順序?qū)⑺鰴C器視覺檢測文件封裝為嵌入式機器視覺檢測程序,并保存至所述數(shù)據(jù)庫模塊中。
[0033]進一步,還包括文件生成模塊;所述文件生成模塊用于獲取執(zhí)行機器視覺檢測功能的某一步驟的輸入?yún)?shù)和計算方法;根據(jù)輸入?yún)?shù)生成符合嵌入式程序標準的文件頭、文件尾,機器視覺檢測初始化語句,機器視覺檢測功能語句,以及視覺處理輔助語句;所述文件生成模塊還用于將所述文件頭、文件尾、機器視覺檢測初始化語句、機器視覺檢測功能語句、機器視覺檢測輔助語句發(fā)送至所述程序封裝模塊,封裝為機器視覺檢測文件,并根據(jù)輸入?yún)?shù),創(chuàng)建該機器視覺檢測文件的輸入接口。
[0034]進一步,還包括程序解析模塊,用于獲取數(shù)據(jù)庫模塊中的嵌入式機器視覺檢測程序所包含的機器視覺檢測文件,以及它們的執(zhí)行順序。
[0035]進一步,所述程序封裝模塊重新排列所述機器視覺檢測文件的執(zhí)行順序、更改輸入?yún)?shù)、改變機器視覺檢測文件的數(shù)量或種類;所述程序封裝模塊將更改后的機器視覺檢測文件封裝為新的嵌入式機器視覺檢測程序。
[0036]進一步,還包括程序燒錄模塊,用于將得到的嵌入式機器視覺檢測程序燒錄至嵌入式機器視覺檢測設(shè)備中。
[0037]從上面所述可以看出,本發(fā)明提供的一種采用可視化重構(gòu)的嵌入式程序開發(fā)方法及系統(tǒng),通過獲取機器視覺檢測功能所需的輸入?yún)?shù)和步驟,選取對應(yīng)的機器視覺檢測文件,將這些機器視覺檢測文件排序后,封裝成為機器視覺檢測程序。因為采用了標準的文件頭、文件尾、初始化語句、功能語句以及輔助語句,研發(fā)人員只需要改變輸入?yún)?shù)即可完成不同類型檢測模塊的開發(fā),避免了了檢測系統(tǒng)開發(fā)的語言障礙,同時使得開發(fā)出的程序標準化、規(guī)范化。
【附圖說明】
[0038]圖1為本發(fā)明提供的一種嵌入式機器視覺檢測程序開發(fā)方法的實施例的整體流程不意圖;
[0039]圖2為本發(fā)明提供的一種嵌入式機器視覺檢測程序開發(fā)方法的實施例中生成新的機器視覺檢測文件的方法的流程示意圖;
[0040]圖3為本發(fā)明提供的一種嵌入式機器視覺檢測程序開發(fā)方法的實施例中重新編輯已有嵌入式機器視覺檢測程序的方法的流程示意圖;
[0041]圖4為本發(fā)明提供的一種嵌入式機器視覺檢測程序開發(fā)系統(tǒng)的實施例的模塊示意圖。
【具體實施方式】
[0042]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下結(jié)合具體實施例,對本發(fā)明進一步詳細說明。
[0043]首先,結(jié)合附圖,對本發(fā)明提供的一種嵌入式機器視覺檢測程序開發(fā)的實施例進行介紹。
[0044]圖1為本發(fā)明提供的一種嵌入式機器視覺檢測程序開發(fā)方法的實施例的整體流程示意圖。如圖所示,本發(fā)明提供的一種嵌入式機器視覺檢測程序開發(fā)方法包括以下步驟:
[0045]SI,獲取執(zhí)行機器視覺檢測功能所需的輸入?yún)?shù)和步驟。
[0046]S2,根據(jù)所述輸入?yún)?shù)和步驟選取數(shù)據(jù)庫中的機器視覺檢測文件。
[0047]S3,使用輸入?yún)?shù)替換所述機器視覺檢測文件中的待定參數(shù)。
[0048]S4,根據(jù)所述步驟排列所述機器視覺檢測文件的執(zhí)行順序。
[0049]S5,按照所述執(zhí)行順序?qū)⑺鰴C器視覺檢測文件封裝為嵌入式機器視覺檢測程序。
[0050]在步驟S1-S5中,每個機器視覺檢測文件均包括執(zhí)行特定視覺檢測方法的算法;每個所述機器視覺檢測文件都具備輸入接口,用于接收輸入?yún)?shù)。接收到輸入?yún)?shù)之后,系統(tǒng)自動將源文件中的待定參數(shù)(即算法的關(guān)鍵參數(shù))替換為接收到的輸入?yún)?shù),以完成研發(fā)人員你指定的功能。此外,所述步驟指的是在進行機器視覺檢測過程中,通常會使用兩種或兩種以上的檢測方法,因此需要多個機器視覺檢測文件。這些文件按照一定順序執(zhí)行,即可實現(xiàn)特定的圖像處理步驟。
[0051]舉例說明,例如某一機器視覺檢測文件用于執(zhí)行“閾值變換”的功能,其待定參數(shù)包括“閾值方法”和“閾值”;則系統(tǒng)接收到用戶給出的閾值方法和閾值,更改機器視覺檢測文件中的相應(yīng)參數(shù),即可利用該機器視覺檢測文件中的算法實現(xiàn)指定的一直變換功能。
[0052]可選的,所述機器視覺檢測文件分為幾類。其一,輸入用文件類,用于選定視頻輸入設(shè)備,包括但不限于USB相機、IEEE1394相機和Cam Link相機;其二,處理用文件類,用于執(zhí)行圖像處理步驟,包括但不限于均值濾波、中值濾波、閾值變換、圖像開勻速、傅里葉變換、直方圖處理;其三,輸出用文件類,用于將處理結(jié)果進行輸出。
[0053]將上述機器視覺檢測文件排序完畢后,系統(tǒng)會將其根據(jù)嵌入式程序標準,將全部機器視覺檢測文件依照執(zhí)行順序進行封裝,同時根據(jù)每一個機器視覺檢測文件的輸入?yún)?shù),設(shè)置整個機器視覺檢測程序的輸入接口。封裝完畢后,即可在嵌入式設(shè)備中執(zhí)行此程序,程序會根據(jù)輸入接口獲取的參數(shù)自動完成預(yù)設(shè)的檢測工作。
[0054]進一步,還可以包括以下步驟:
[0055]S6,根據(jù)輸入?yún)?shù)和計算方法,生成新的機器視覺檢測文件。具體方法如下。
[0056]圖2為本發(fā)明提供的一種嵌入式機器視覺檢測程序開發(fā)方法的實施例中生成新的機器視覺檢測文件的方法的流程示意圖。具體的,步驟S6包括以下子步驟:
[0057]S61,獲取執(zhí)行機器視覺檢測功能的某一步驟的輸入?yún)?shù)和計算方法。
[0058]S62,根據(jù)輸入?yún)?shù)生成符合嵌入式程序標準的文件頭、文件尾。
[0059]S63,根據(jù)輸入?yún)?shù)生成機器視覺檢測初始化語句。
[0060]S64,根據(jù)輸入?yún)?shù)和計算方法生成機器視覺檢測功能語句。
[0061 ] S65,根據(jù)輸入?yún)?shù)生成機器視覺處理輔助語句。
[0062]S66,將所述文件頭、文件尾、機器視覺檢測初始化語句、機器視覺檢測功能語句、機器視覺檢測輔助語句封