【《指針式儀表嵌入式識(shí)讀系統(tǒng)設(shè)計(jì)案例》8700字】_第1頁(yè)
【《指針式儀表嵌入式識(shí)讀系統(tǒng)設(shè)計(jì)案例》8700字】_第2頁(yè)
【《指針式儀表嵌入式識(shí)讀系統(tǒng)設(shè)計(jì)案例》8700字】_第3頁(yè)
【《指針式儀表嵌入式識(shí)讀系統(tǒng)設(shè)計(jì)案例》8700字】_第4頁(yè)
【《指針式儀表嵌入式識(shí)讀系統(tǒng)設(shè)計(jì)案例》8700字】_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

指針式儀表嵌入式識(shí)讀系統(tǒng)設(shè)計(jì)案例目錄TOC\o"1-3"\h\u10249指針式儀表嵌入式識(shí)讀系統(tǒng)設(shè)計(jì)案例 1231501.1搭建嵌入式識(shí)讀系統(tǒng)硬件平臺(tái) 1183201.1.1CCD相機(jī) 1244891.1.2補(bǔ)光光源 429586 5294841.1.4電氣控制單元 647471.1.5執(zhí)行機(jī)構(gòu)單元 8105831.2識(shí)讀系統(tǒng)軟件環(huán)境構(gòu)建 9225051.3指針儀表嵌入式識(shí)讀系統(tǒng)軟件設(shè)計(jì) 15159371.3.1人機(jī)交互界面設(shè)計(jì) 1551841.3.2視頻圖像采集與顯示的實(shí)現(xiàn) 1665601.3.3指針儀表識(shí)讀算法實(shí)現(xiàn)流程 20194771.4識(shí)讀系統(tǒng)測(cè)試 2289351.4.1測(cè)試流程 22291971.4.2測(cè)試結(jié)果分析 24284751.4.3影響識(shí)讀系統(tǒng)識(shí)別精度的因素分析 241.1搭建嵌入式識(shí)讀系統(tǒng)硬件平臺(tái)1.1.1CCD相機(jī)機(jī)器視覺感官即利用機(jī)器設(shè)備替代人體肉眼來做測(cè)量確定與判定。機(jī)器視覺感官主要搭載視覺感官自動(dòng)成像體系與圖片全面處理體系,視覺感官自動(dòng)成像體系通常是由相機(jī)設(shè)備、鏡頭和光源等部件組成,通過將待檢測(cè)的目標(biāo)成像并且數(shù)字化后將數(shù)據(jù)送給圖像處理系統(tǒng)得出相關(guān)目標(biāo)特征,進(jìn)行算術(shù)與邏輯運(yùn)算,最終根據(jù)計(jì)算的結(jié)果與相關(guān)執(zhí)行機(jī)構(gòu)進(jìn)行交互[34]。機(jī)器視覺技術(shù)可以應(yīng)用于各種場(chǎng)景,例如檢測(cè)產(chǎn)品瑕疵、識(shí)別產(chǎn)品外形、測(cè)量產(chǎn)品尺寸、工況監(jiān)測(cè)等,通過結(jié)合機(jī)器視覺技術(shù)與自動(dòng)化技術(shù),搭配相關(guān)的執(zhí)行機(jī)構(gòu),可快速進(jìn)行現(xiàn)代自動(dòng)化生產(chǎn)。機(jī)器視覺技術(shù)的特點(diǎn)主要包括安全穩(wěn)定性比較大、具有較高的數(shù)據(jù)信息解析計(jì)算度、具有全面且深入的測(cè)試水平、減少人力成本費(fèi)用、配合運(yùn)動(dòng)操控管理體系展開自動(dòng)智能化生產(chǎn)加工等。截至當(dāng)前,運(yùn)用機(jī)器視覺感官專業(yè)技術(shù)的行業(yè)領(lǐng)域十分廣泛,和機(jī)器視覺感官專業(yè)技術(shù)有關(guān)的熱點(diǎn)產(chǎn)業(yè)主要包含:半導(dǎo)體、光電、制造加工產(chǎn)業(yè)、自動(dòng)智能化操作控制等,把機(jī)器視覺感官專業(yè)技術(shù)應(yīng)用在測(cè)試和自動(dòng)智能化生產(chǎn),可以提高產(chǎn)能、降低成本。相機(jī)是構(gòu)成視覺影像系統(tǒng)特別重要的光學(xué)電子元件之一,成像原理主要是通過內(nèi)置的感光元器件進(jìn)行光線的吸收進(jìn)而在轉(zhuǎn)換為儲(chǔ)存電荷,最終將電荷送給信號(hào)放大解碼器實(shí)現(xiàn)一副圖像的顯示。以顏色區(qū)分相機(jī)的話相機(jī)可以分為灰度和彩色,灰度相機(jī)是一副8bit圖像,分為255階,彩色相機(jī)是一副24bitRGB圖像,理論上顏色數(shù)量為1677萬(wàn)。相機(jī)根據(jù)傳輸接口的不同包括GigE、CamreaLink、USB等多種類型接口,隨著數(shù)字接口技術(shù)的快速發(fā)展,數(shù)據(jù)相機(jī)設(shè)備早已替代最開始時(shí)期的模擬仿真相機(jī)設(shè)備大量的應(yīng)用在機(jī)器設(shè)備視覺感官體系。以感光感應(yīng)設(shè)備元件的不同展開區(qū)分的話,相機(jī)設(shè)備主要包含:CCD和CMOS兩大類。一般而言,CMOS的感光度相對(duì)CCD較差,當(dāng)圖像形成速度變化比較快時(shí),CMOS相對(duì)CCD種類形成的總熱量比較大。CCD設(shè)備元件上主要包括:有許多圖片像素,圖片像素點(diǎn)愈多,自動(dòng)成像就有更大的辨識(shí)率。CCD相機(jī)設(shè)備發(fā)展進(jìn)步非常早,和CMOS相機(jī)設(shè)備對(duì)比,制造加工成本費(fèi)用和能耗都比較大,但是自動(dòng)成像作用效果比CMOS相機(jī)設(shè)備要好許多,因此該系統(tǒng)選擇CCD相機(jī)設(shè)備。CCD相機(jī)設(shè)備具有更好的動(dòng)態(tài)范圍、噪音較低、較多的電量處理能力等,通常劃分為線陣CCD相機(jī)設(shè)備與面陣CCD相機(jī)設(shè)備。線陣相機(jī)設(shè)備1次只可以自動(dòng)掃描一行圖片像素,自動(dòng)掃描結(jié)束之后才能夠?qū)⑸鲜鲂袌D片像素構(gòu)成一幅完整系統(tǒng)的圖片,線陣相機(jī)設(shè)備一般應(yīng)用在持續(xù)運(yùn)動(dòng)的物品與要求高準(zhǔn)確度的圖片。面陣像機(jī)1次自動(dòng)掃描就可產(chǎn)生一幀完整系統(tǒng)的圖片。單元儀表指針數(shù)據(jù)檢測(cè)體系里,指示針是不停運(yùn)動(dòng)的,并且運(yùn)動(dòng)的速率非???,假如選擇面陣相機(jī)設(shè)備要求在極短的曝光作用時(shí)間中表現(xiàn)出高水準(zhǔn)的圖片,這就對(duì)面陣相機(jī)設(shè)備的多種要求非常高,市場(chǎng)價(jià)格十分昂貴。完全相反,線陣相機(jī)設(shè)備在對(duì)持續(xù)快速運(yùn)動(dòng)的物品自動(dòng)成像方面有十分顯著的功能優(yōu)勢(shì),不會(huì)產(chǎn)生拖影的實(shí)際狀況。因此在本次應(yīng)用系統(tǒng)里選用線陣CCD相機(jī)設(shè)備。該相機(jī)具有以下特點(diǎn):(1)曝光時(shí)間、行頻、增益、偏移、數(shù)據(jù)位深等可編程控制(2)工作溫度高達(dá)65℃(3)千兆網(wǎng)接口,兼容GigEVision(4)改進(jìn)的圖形用戶界面更易于設(shè)置(5)平場(chǎng)校正(FPN)(6)可選擇高靈敏度模式或低靈敏度模式本系統(tǒng)像機(jī)有兩套相機(jī)組成,一套用來拍照采集產(chǎn)品編碼,另一套用來拍照采集指針轉(zhuǎn)動(dòng)角度。由于不同型號(hào)的儀表指針旋轉(zhuǎn)角度不同,導(dǎo)致在選用相機(jī)和光源時(shí)要求比較苛刻,經(jīng)過多次反復(fù)實(shí)驗(yàn),終于找到了德國(guó)BASLER公司的acA2500-14gm型號(hào)的工業(yè)相機(jī)鏡頭適合目前所有單元儀表;工業(yè)相機(jī)外形如圖1.1所示。圖1.1工業(yè)相機(jī)外形圖BasleracA2500-14gm相機(jī)不僅具有出色的品質(zhì)和性能,而且經(jīng)濟(jì)實(shí)惠,裝配了CMOSIS、e2V和ONSemiconductord的CMOS芯片,提供了常用的以太網(wǎng)相機(jī)接口。規(guī)格參數(shù)見表1.1。表1.1asleracA2500-14gm相機(jī)規(guī)格參數(shù)參數(shù)數(shù)值電源電壓12V額定功率2.2W分辨率500萬(wàn)幀速率14fps鏡頭接口以太網(wǎng)工作溫度0℃-50℃外形尺寸(L*W*H)42mm*29mm*29mm重量90g該相機(jī)通過電氣控制板卡觸發(fā)拍照,并將圖像信息轉(zhuǎn)換為數(shù)字信號(hào)實(shí)時(shí)傳輸至工控機(jī)內(nèi),工作流程圖如圖1.2所示。圖1.2圖像采集單元工作流程圖1.1.2補(bǔ)光光源除相機(jī)設(shè)備與鏡頭外,想要收集到自動(dòng)成像質(zhì)量好的單元儀表圖片,燈光照明同時(shí)也是十分關(guān)鍵的一個(gè)影響因素。燈光照明的影響就是需要獲取對(duì)照鮮明的圖片,恰當(dāng)?shù)臒艄庹彰鲬?yīng)該能盡可能去除多余的組成部分,加強(qiáng)圖片的信噪比。挑選出合適的光源并不輕松容易,需要根據(jù)實(shí)際應(yīng)用場(chǎng)景搭配不同類型的光源和燈光技巧進(jìn)行反復(fù)測(cè)試和驗(yàn)證。照明方式根據(jù)介質(zhì)類型的不同包括投射方式和反射方式。透射方式是入射光經(jīng)過折射穿過物體形成的光,根據(jù)投射方式原理通常將相機(jī)和光源放置在待檢測(cè)物品完全相反的兩端。物品反射出的光稱之為反射光,反射模式應(yīng)用的就是反射光,參考光的反射理論:一般把相機(jī)設(shè)備與光源放置在物品一致的一側(cè)。在單元儀表指令數(shù)據(jù)信息測(cè)試的時(shí)候,應(yīng)該選擇反射模式,相機(jī)設(shè)備和光源都放置在單元儀表的一側(cè)。僅僅依靠環(huán)境光源形成圖像是不夠的,試驗(yàn)中經(jīng)常會(huì)發(fā)現(xiàn)生成的圖像特征不太明顯,此時(shí)需要為成像系統(tǒng)搭配合適的光源來強(qiáng)化特征。在機(jī)器視覺中,由于可見光價(jià)格比較低廉且獲取容器故經(jīng)常采用可見光作為體系的光源。圖1.3環(huán)形光源圖單元儀表自動(dòng)檢測(cè)方法是以工控機(jī)作為該方案的主要核心,用圖像采集單元作為重要反饋單元,其余子單元有:電氣控制單元、人機(jī)交互單元、輸入信號(hào)單元、故障報(bào)警單元及執(zhí)行機(jī)構(gòu)。在選擇工控機(jī)的型號(hào)時(shí),對(duì)生產(chǎn)規(guī)模較大的NI公司和國(guó)內(nèi)的研華公司進(jìn)行了參數(shù)對(duì)比,主要對(duì)比參數(shù)如下表1.2:表1.2NI公司的CDAQ機(jī)箱與研華公司的610L機(jī)箱參數(shù)對(duì)比表功能NICDAQ機(jī)箱研華610L機(jī)箱I/O模塊種類5010定時(shí)器個(gè)數(shù)42是否可以通過數(shù)字模塊訪問是否多I/O或定時(shí)器是否可以同時(shí)操作是否是否可讀寫波形測(cè)量數(shù)據(jù)是否外部觸發(fā)時(shí)鐘接口個(gè)數(shù)2無通過上表的參數(shù)數(shù)據(jù)對(duì)比,NI公司的CDAQ機(jī)箱參數(shù)明顯優(yōu)于與研華公司的610L機(jī)箱參數(shù),并且由于該檢測(cè)裝置必須使用波形測(cè)量數(shù)據(jù)讀寫功能,而研華公司的610L機(jī)箱無該項(xiàng)功能,無法滿足需要,因此工控機(jī)采用美國(guó)國(guó)家儀器有限公司生產(chǎn)的CDAQ機(jī)箱為主要控制核心,圖像采集單元采用兩臺(tái)攝像頭拍照反饋至工控機(jī);電氣控制單元所使用的數(shù)字量信號(hào)是通過機(jī)箱上裝有C系列數(shù)字量板卡NI9375來實(shí)現(xiàn);輸入信號(hào)單元是模擬車輛傳感器提供給單元儀表信號(hào),可以提供模擬量電壓、方波及正弦波頻率、電阻這三種信號(hào),其中模擬量電壓信號(hào)是通過裝有C系列模擬量電壓輸出板卡NI9263提供,方波頻率信號(hào)通過裝有C系列計(jì)數(shù)器IO板卡NI9475提供,正弦波頻率信號(hào)通過采用臺(tái)灣固緯臺(tái)式信號(hào)發(fā)生器AFG2225提供,電阻信號(hào)通過采用美國(guó)PickeringPCI可編程電阻模塊提供。在硬件選型時(shí),選用了CDAQ機(jī)箱及其配套的C系列板卡。儀表產(chǎn)品放入檢測(cè)裝置后,數(shù)字量板卡控制電磁閥,將產(chǎn)品送入到檢測(cè)工位,之后給產(chǎn)品上電,給定不同的外部信號(hào),經(jīng)過相機(jī)拍照,獲取當(dāng)前信號(hào)下的指針角度值,并與標(biāo)準(zhǔn)值參與比較,角度值正常則更改外部信號(hào)進(jìn)行下一個(gè)刻度的檢測(cè)、拍照,并判斷指針角度是否正常,直到完成全部指針角度的變化。圖1.4CDAQ機(jī)箱圖1.1.4電氣控制單元電氣控制單元主要完成:檢測(cè)啟動(dòng)控制、光照補(bǔ)償控制、裝置急停控制、報(bào)警控制等執(zhí)行機(jī)構(gòu)的控制功能。經(jīng)過對(duì)單元儀表的檢測(cè)過程分析及計(jì)算,需要用到7路數(shù)字量輸入通道及10路數(shù)字量輸出通道,在選擇數(shù)字板卡的型號(hào)時(shí),對(duì)生產(chǎn)規(guī)模較大的NI公司和國(guó)內(nèi)的研華公司進(jìn)行了參數(shù)對(duì)比,主要對(duì)比參數(shù)如下表1.3:表1.3NI公司的NI9375數(shù)字量板卡與研華公司的PCL-818L采集板卡對(duì)比表參數(shù)NI9375數(shù)字量板卡PCL-818L采集板卡僅數(shù)字輸入通道數(shù)量168僅數(shù)據(jù)自動(dòng)輸出信號(hào)通道數(shù)目168雙向數(shù)據(jù)信號(hào)通道數(shù)目00雙向數(shù)據(jù)信號(hào)通道數(shù)目00工作電流流動(dòng)方向源極自動(dòng)輸出,

漏極輸入無輸入信號(hào)電平兼容12V/24V電壓12V輸出信號(hào)電平6V至30V1至12V響應(yīng)時(shí)間7us500us數(shù)字I/O隔離1000Vrms

通道-接地隔離電磁隔離正面連接形式彈簧端子插針是否支持熱插拔操作是否工作溫度范圍-40℃至70℃-40℃至70℃由上表對(duì)比可知:NI公司C系列NI9375數(shù)字量板卡在性能上均勝于PCL-818L采集板卡,又因?yàn)樵撟詣?dòng)檢測(cè)裝置至少需要10路數(shù)字量輸出信號(hào),所以只擁有8路數(shù)字量輸出信號(hào)的PCL-818L采集板卡是不合適該檢測(cè)裝置的;因此選擇NI公司C系列NI9375數(shù)字量板卡更為妥當(dāng)。NI9375板卡總共有16路數(shù)字量輸入通道及16路數(shù)字量輸出通道,60VDC通道-接地隔離及DI與DO隔離,屬于美國(guó)國(guó)家儀器有限公司生產(chǎn)的CDAQ機(jī)箱配套C系列數(shù)字模塊。為了便于現(xiàn)場(chǎng)進(jìn)行接線和安裝操作,NI9375板卡的連接方式采用的是彈簧端子。規(guī)格參數(shù)見表1.4,其外形如圖1.5所示。表1.4NI9375數(shù)字量板卡規(guī)格參數(shù)參數(shù)數(shù)值僅數(shù)據(jù)自動(dòng)輸入信號(hào)通道數(shù)目16僅數(shù)據(jù)自動(dòng)輸出信號(hào)通道數(shù)目16雙向數(shù)據(jù)信號(hào)通道數(shù)目0雙向數(shù)據(jù)信號(hào)通道數(shù)目0工作電流流動(dòng)方向源極自動(dòng)輸出,

漏極輸入輸入信號(hào)電平兼容12V/24V電壓輸出信號(hào)電平6V至30V響應(yīng)時(shí)間輸入7us,500us輸出數(shù)字I/O隔離1000Vrms

通道-接地隔離正面連接形式彈簧端子是否支持熱插拔操作是工作溫度范圍-40℃至70℃圖1.5NI9375板卡外形圖工控機(jī)在接收到人機(jī)交互單元傳回的信息后,把控制執(zhí)行機(jī)構(gòu)的信息傳遞給NI9375板卡,NI9375根據(jù)信息控制對(duì)應(yīng)執(zhí)行機(jī)構(gòu),并且傳感器的信號(hào)也是通過NI9375板卡反饋至工控機(jī),形成閉環(huán)控制系統(tǒng)。NI9375板卡的DI/DO輸入輸出對(duì)照如圖1.6所示:圖1.6DI/DO輸入輸出對(duì)照?qǐng)D1.1.5執(zhí)行機(jī)構(gòu)單元執(zhí)行機(jī)構(gòu)主要完成:氣缸伸縮、故障報(bào)警、安全光柵保護(hù)、CCD拍照觸發(fā)等工作。由水平伸縮氣缸、安全光柵、三色報(bào)警燈、拍照燈、接近傳感器等組成。執(zhí)行機(jī)構(gòu)按照功能不同分為兩類,一類為運(yùn)動(dòng)模塊,指接收到控制單元信號(hào)后進(jìn)行運(yùn)動(dòng)(如:水平伸縮氣缸、三色報(bào)警燈、拍照燈);另一類為反饋模塊,指在感應(yīng)到運(yùn)動(dòng)后輸出信號(hào)至控制單元(如:接近傳感器、安全光柵);圖1.7為執(zhí)行機(jī)構(gòu)流程圖。圖1.7執(zhí)行機(jī)構(gòu)流程圖1.2識(shí)讀系統(tǒng)軟件環(huán)境構(gòu)建本系統(tǒng)軟件運(yùn)行平臺(tái)為工控機(jī),見1.1.3章節(jié)內(nèi)容。工控機(jī)運(yùn)行操作系統(tǒng)為Windows操作系統(tǒng),軟件基于OpenCV和Qt研發(fā)。Qt是一個(gè)普遍常用的跨平臺(tái)操作C++圖像的研發(fā)結(jié)構(gòu),具有優(yōu)良的跨平臺(tái)特性、面向?qū)ο蟆⒇S富的API等特點(diǎn)[35]。OpenCV(OpenSourceComputerVisionLibrary)是一個(gè)基于開源發(fā)行的計(jì)算機(jī)視覺軟件開發(fā)庫(kù),該軟件開發(fā)庫(kù)具備跨平臺(tái)特性,提供了圖像處理和計(jì)算機(jī)視覺方面很多能夠通用的算法API,通過應(yīng)用Opencv開源將開發(fā)者從繁雜的底層算法工作中解脫出來專心應(yīng)用,使開發(fā)者能夠很快的設(shè)計(jì)出更為復(fù)雜的算法解決各種實(shí)際問題。OpenCV經(jīng)過多個(gè)版本的升級(jí),提供的接口越來越豐富和強(qiáng)大,支持C/C++和Python調(diào)用,本系統(tǒng)采用的Opencv版本為4.1.0。OpenCV常用的模塊功能如表1.5所示:表1.5OpenCV模塊名稱及功能模塊名稱功能calib3d相機(jī)設(shè)備校對(duì)分析與三維立體重新構(gòu)建等,主要包括:多格局視角結(jié)合運(yùn)算方法、物品姿態(tài)估測(cè)、3D數(shù)據(jù)信息的重新構(gòu)建等core中心功能應(yīng)用模塊,主要包括:實(shí)時(shí)動(dòng)態(tài)數(shù)據(jù)信息組成結(jié)構(gòu)、繪圖運(yùn)算函數(shù)、數(shù)組操作應(yīng)用有關(guān)運(yùn)算函數(shù)、協(xié)助作用功能和體系運(yùn)算函數(shù)等imgproc圖片全面處理功能模塊,主要包括:圖片自動(dòng)濾波、圖片的數(shù)學(xué)幾何轉(zhuǎn)換、直方示意圖有關(guān)、特點(diǎn)測(cè)試、發(fā)展目標(biāo)測(cè)試等f(wàn)eatures2d2D作用功能結(jié)構(gòu),主要包括:特點(diǎn)測(cè)試與描述表達(dá)、特點(diǎn)測(cè)試控制器設(shè)備常用端口、描述表達(dá)符選取控制器設(shè)備常用端口等highgui高層GUI圖像客戶頁(yè)面,主要包括:新聞媒體的自動(dòng)輸入自動(dòng)輸出、視頻捕捉、圖片與視頻的程序編碼編譯解碼等f(wàn)lann高維的相似近鄰迅速搜查運(yùn)算方法庫(kù)gpu應(yīng)用GPU加速推動(dòng)的電腦計(jì)算機(jī)視覺感官功能模塊ml機(jī)器學(xué)習(xí),包括模式分類和回歸分析等本文有關(guān)的圖像處理功能都是基于OpenCV和Qt進(jìn)行實(shí)現(xiàn)的,因此要求移植OpenCV應(yīng)用在Qt的使用,移植操作應(yīng)用步驟歸納總結(jié)具體如下所示:安裝設(shè)置Qt與OpenCV4.1.0,安裝設(shè)置包經(jīng)過Qt官網(wǎng)與OpenCV官網(wǎng)下載保存獲??;安裝OpenCV和Qt后需要添加環(huán)境變量,設(shè)置完環(huán)境變量需要重啟應(yīng)用,例如OpenCV環(huán)境變量:D:\OpenCV4.1.0\build\include,Qt環(huán)境變量D:Qt\Qt1.14.2\mingw53_32\binCMake編譯opencv點(diǎn)擊Configure,選擇MinGWMakefiles。又一次單擊Configure。單擊Generate,成功之后,底下會(huì)提醒Generatedone。開啟cmd,全面進(jìn)入剛才CMAKE設(shè)立的發(fā)展目標(biāo)途徑,自動(dòng)輸入mingw32-make命令指示開始移植。此過程比較漫長(zhǎng)。履行mingw32-makeinstall。移植完成后效果如下。這個(gè)時(shí)候會(huì)在發(fā)展目標(biāo)數(shù)據(jù)目錄下自動(dòng)生成一個(gè)install資料文件夾,庫(kù)與bin與頭資料文件均在里面。全面進(jìn)入install數(shù)據(jù)目錄下面,找到發(fā)現(xiàn)bin資料文件夾,直接拷貝到opencv/build/x86/下以便以后配置,將其路徑D:\opencv4.1.0\build\x86\mingw\bin加入系統(tǒng)環(huán)境變量。打開Qtcreator,創(chuàng)建一個(gè)GUI工程或者控制臺(tái)也行。打開.pro文件,加入以下配置:INCLUDEPATH+=D:\opencv4.1.0\build\include\opencv\D:\opencv4.1.0\build\include\opencv2\D:\opencv4.1.0\build\includeLIBS+=-LD:\opencv4.1.0\build\x86\mingw\lib\-llibopencv_core410\-llibopencv_highgui410\-llibopencv_imgproc410\-llibopencv_ml410\-llibopencv_video410\-llibopencv_features2d410\-llibopencv_calib3d410\-llibopencv_objdetect410\-llibopencv_contrib410\-llibopencv_legacy410\-llibopencv_flann410\-llibopencv_gpu410\-llibopencv_nonfree410\-llibopencv_ocl410\-llibopencv_photo410\-llibopencv_stitching410\-llibopencv_superres410\-llibopencv_ts410\LIBS+=LD:\opencv4.10\build\x86\mingw\lib\*.lib1.3指針儀表嵌入式識(shí)讀系統(tǒng)軟件設(shè)計(jì)1.3.1人機(jī)交互界面設(shè)計(jì)軟件主界面設(shè)計(jì)有生產(chǎn)模式、手動(dòng)模式、參數(shù)配置、用戶管理、數(shù)據(jù)管理、登出、退出等功能。在Qt下設(shè)計(jì)人機(jī)交互界面主要通過兩大類模式完成:經(jīng)過QtCreator的QtDesigner綜合系統(tǒng)控制器設(shè)備完成或經(jīng)過移植應(yīng)用操作程序代碼完成,Qt的設(shè)計(jì)器同VisualBasic和.NET一樣,可以通過拖拽控件的方式設(shè)計(jì)界面,非常便捷和高校,且可以自定義控件。本方案主要通過QtDesigner設(shè)計(jì)器實(shí)現(xiàn)。識(shí)讀系統(tǒng)的主界面如圖1.12所示。圖1.12識(shí)讀系統(tǒng)交互界面頁(yè)面里的每一個(gè)按鍵都具有著一個(gè)或者數(shù)個(gè)動(dòng)作,而每一個(gè)動(dòng)作都會(huì)對(duì)應(yīng)該著相對(duì)應(yīng)的全面處理意外突發(fā)事件,例如單擊“開啟攝像頭設(shè)備”按鍵時(shí)就會(huì)履行攝像頭設(shè)備的初始處理化應(yīng)用程序,這類過程是經(jīng)過connet()運(yùn)算函數(shù)把意外突發(fā)事件和動(dòng)作結(jié)合完成的,結(jié)合模式具體如下所示:connect(ui->actOpenCamera,SIGNAL(triggered()),this,SLOT(on_actOpenCamera_triggered()));通過信號(hào)和槽的綁定,當(dāng)點(diǎn)擊“打開攝像頭”菜單時(shí)應(yīng)用程序發(fā)出triggered()信號(hào),通過Qt信號(hào)和槽機(jī)制調(diào)用槽函數(shù)on_actOpenCamera_triggered()執(zhí)行,完成打開攝像頭功能。Qt框架通過對(duì)象間信號(hào)和槽的機(jī)制,可以很高效安全的進(jìn)行對(duì)象間的通信。1.3.2視頻圖像采集與顯示的實(shí)現(xiàn)1.視頻圖像采集本次應(yīng)用系統(tǒng)里應(yīng)用的攝像頭設(shè)備為acA2500-14gm攝像頭設(shè)備,在OpenCV結(jié)構(gòu)里攝像頭設(shè)備的名稱從0開始依次遞增,由于本系統(tǒng)只有1個(gè)攝像頭,從而這個(gè)攝像頭設(shè)備的名字為0,收集應(yīng)用程序經(jīng)過OpenCV結(jié)構(gòu)的Capture端口運(yùn)算函數(shù)操作應(yīng)用這個(gè)攝像頭設(shè)備,以完成攝像頭設(shè)備的開啟并且收集圖片。OpenCV獲得圖片數(shù)據(jù)信息通常包括:兩大類模式,依次是read()與mmap(),和read()模式對(duì)比,兩種方法主要的區(qū)別在于進(jìn)行處理時(shí)率不同,mmap()模式把圖片數(shù)據(jù)信息直接映射到發(fā)展進(jìn)程的數(shù)據(jù)內(nèi)存分布空間里,應(yīng)用操作程序能夠直接訪問鏈接數(shù)據(jù)內(nèi)存來獲取攝像頭設(shè)備的數(shù)據(jù)信息,經(jīng)過這個(gè)類模式可明顯提升獲取操作應(yīng)用的工作效率,所以在本文中,筆者應(yīng)用mmap()模式來完成攝像頭設(shè)備數(shù)據(jù)信息的獲取操作應(yīng)用。識(shí)讀體系攝像頭設(shè)備數(shù)據(jù)信息收集工作流程如下示意圖1.13所示:圖1.13圖像采集流程圖攝像頭設(shè)備收集具體過程具體如下所示:(1)開啟攝像頭設(shè)備。因?yàn)轶w系僅有一個(gè)攝像頭設(shè)備,所以攝像頭設(shè)備在Opencv結(jié)構(gòu)中信號(hào)通道為0,經(jīng)過結(jié)構(gòu)VideoCapture種實(shí)踐案例化攝像頭設(shè)備目標(biāo)對(duì)象,形參值為0,開啟攝像頭設(shè)備,經(jīng)過VideoCapture種的isOpened運(yùn)算函數(shù)判定是否開啟成功。(2)獲取攝像頭設(shè)備數(shù)據(jù)信息。VideoCapture類提供了豐富的接口用于獲得攝像頭相關(guān)參數(shù),通過調(diào)用get函數(shù)獲取,不同的形參值對(duì)應(yīng)不同的攝像頭信息,例如CAP_PROP_FRAME_WIDTH和CAP_PROP_HEIGHT分別代表了攝像頭設(shè)備圖片的寬與高。(3)攝像頭設(shè)備圖像采集。經(jīng)過運(yùn)用mmap()模式把攝像頭設(shè)備圖片數(shù)據(jù)信息直接映射到發(fā)展進(jìn)程的數(shù)據(jù)內(nèi)存分布空間里,而且在圖片數(shù)據(jù)信息映射時(shí)指定為MAP_SHARED模式,這樣以來,就能夠促使映射的數(shù)據(jù)內(nèi)存在發(fā)展進(jìn)程間實(shí)時(shí)共享,使用mmap()運(yùn)算函數(shù)后會(huì)自動(dòng)返回映射之后的起始儲(chǔ)存地址供其他端口訪問鏈接。映射成功后,可以直接通過VideoCapture類的讀取進(jìn)口進(jìn)行采集數(shù)據(jù),讀取到Mat類中,通過Mat中的數(shù)據(jù)來判斷是否采集成功。2.視頻圖像顯示Qt中有多種顯示方法,可以采用QLabel、QWidget、QOpenglWidget等控件進(jìn)行顯示,其中QOpenglWidget利用了GPU進(jìn)行加速,為了保證程序顯示的高性能,本文中采用QOpenglWidget顯示攝像頭的圖像,通過QOpenglWidget控件的initializeGL、resizeGL、paintGL、initTextures、initShaders等函數(shù)來實(shí)現(xiàn),由于Qt不能直接顯示OpenCV的Mat數(shù)據(jù)類型,因此顯示前需要先將Mat轉(zhuǎn)為QImage。系統(tǒng)完整的攝像頭數(shù)據(jù)采集與顯示工作流程如圖1.14示:開始開始N是否達(dá)到采集時(shí)間?Y是否繼續(xù)?關(guān)閉攝像頭調(diào)用paintEvent()真正刷新顯示內(nèi)容,首先實(shí)例化一個(gè)Qpainter對(duì)象Qpainterpainter(this);然后調(diào)用drawImage顯示函數(shù)painter.drawImage(0,0,image)updata()進(jìn)行圖像刷新設(shè)置要顯示圖像setImage讀取返回圖像信息首地址,并使用loadFromData()生成圖像實(shí)體判斷采集是否結(jié)束VIDIOCSYNC視頻采集VIDIOCMCCAPTURE啟動(dòng)定時(shí)器mTimer->start用定時(shí)器設(shè)置圖像采集頻率mTimer->setInterval(50);內(nèi)存映射打開視頻設(shè)備,YN結(jié)束圖1.14完整的圖像采集與顯示流程圖為了能夠?qū)崟r(shí)顯示攝像頭圖像,需要持續(xù)不停的進(jìn)行采集,本軟件采用了多線程技術(shù)進(jìn)行攝像頭數(shù)據(jù)的采集,通過封裝攝像頭數(shù)據(jù)采集類繼承QThread類編寫run函數(shù)來實(shí)現(xiàn)采集,在run函數(shù)中每采集一幀數(shù)據(jù)都通過Qt的信號(hào)和槽機(jī)制發(fā)射出信號(hào),供別的對(duì)象注冊(cè)槽函數(shù)來獲取攝像頭實(shí)時(shí)采集到的數(shù)據(jù)。視頻采集顯示的效果如圖1.15所示圖1.15視頻采集與顯示效果圖1.3.3指針儀表識(shí)讀算法實(shí)現(xiàn)流程圖1.16為在本文中,筆者指示針儀表設(shè)備識(shí)讀的運(yùn)算方法綜合系統(tǒng)設(shè)計(jì)過程,第一步收集指示針儀表設(shè)備圖片并且展開載入,使用RGB加權(quán)平均法和OpenCV的顏色轉(zhuǎn)換函數(shù)進(jìn)行圖像灰度化,圖像灰度化后需要進(jìn)行圖片加強(qiáng)以突顯指示針與表盤刻度等特點(diǎn)數(shù)據(jù)信息,圖片加強(qiáng)以后應(yīng)用圖片自動(dòng)濾波對(duì)收集到的圖片降展開噪全面處理,并且使用Otsu極限值法對(duì)圖片自動(dòng)濾波之后的攝像頭設(shè)備圖片展開二值化計(jì)算極限值分割,獲取指示針儀表設(shè)備的二數(shù)值圖片;二值化計(jì)算后要求對(duì)儀表設(shè)備二數(shù)值圖片展開連通分布域標(biāo)識(shí)并且研究分析,把單元儀表指示針與刻度標(biāo)準(zhǔn)線以外的連通分布域圖片像素全面處理為歷史背景圖片像素,在使用Zhang細(xì)致化運(yùn)算方法選取單元儀表指示針與刻度標(biāo)準(zhǔn)線的骨架,進(jìn)而逐漸減少降低發(fā)展前景圖片像素點(diǎn)的數(shù)目,以后運(yùn)用霍夫轉(zhuǎn)換模擬指示針直線分割及模擬零刻度標(biāo)準(zhǔn)線和滿刻度標(biāo)準(zhǔn)線,特征提取后通過角度法計(jì)算儀表設(shè)備指示針代表數(shù)。圖1.16識(shí)讀運(yùn)算方法工作流程指示針儀表設(shè)備識(shí)讀運(yùn)算方法由C++編程語(yǔ)言展開程序編譯完成,識(shí)讀應(yīng)用操作程序使用的主要功能模塊運(yùn)算函數(shù)具體如下所示表1.6所示,在這其中,使用的組成部分運(yùn)算方法運(yùn)算函數(shù)由Opencv視覺感官庫(kù)供應(yīng)。表1.6主要模塊函數(shù)說明函數(shù)名稱參數(shù)函數(shù)功能voidcvtColor()InputArraysrc,OutputArraydst,intcode圖像灰度化voidequalizeHist()InputArraysrc,OutputArraydst直方圖均衡化voidmedianBlur()InputArraysrc,OutputArraydst,intksize圖像中值濾波intotus()InputArraysrc,OutputArraydst,doublemaxval,inttype閾值分割voidfindContours()InputOutputArrayimage,OutputArrayOfArrayscomponents,OutputArrayhierarchy,intmode,intmethod,Pointoffset=Point()二值圖像連通域處理RectboundRect()voidcvtColor()InputArraysrc,OutputArraydst,intcode圖像灰度化voidequalizeHist()InputArraysrc,OutputArraydst直方圖均衡化voidmedianBlur()InputArraysrc,OutputArraydst,intksize圖像中值濾波1.4識(shí)讀系統(tǒng)測(cè)試1.4.1測(cè)試流程全面進(jìn)入識(shí)讀體系頁(yè)面后,第一步要求參考依據(jù)待測(cè)儀表設(shè)備的示數(shù)值作用范圍設(shè)立指示針儀表設(shè)備的標(biāo)準(zhǔn)量程,單擊“開啟攝像頭設(shè)備”按鍵,“視頻自動(dòng)顯示”服務(wù)窗口自動(dòng)顯示攝像頭設(shè)備收集到的視頻圖片,把攝像頭設(shè)備對(duì)準(zhǔn)待測(cè)指示針儀表設(shè)備并且修改調(diào)配攝像頭設(shè)備具體位置從而方便獲取清楚完整系統(tǒng)的儀表設(shè)備盤圖片,單擊“抓拍并且識(shí)讀”按鍵,體系就會(huì)抓取一幀圖片并且使用指示針儀表設(shè)備識(shí)讀應(yīng)用程序,最終把識(shí)讀最終結(jié)果與識(shí)讀作用時(shí)間自動(dòng)顯示在相對(duì)應(yīng)的信息文本框里,識(shí)讀作用時(shí)間為體系從抓取圖片開始到判讀取示數(shù)所花的有效時(shí)間。為了簡(jiǎn)單化處理測(cè)試,指示針儀表設(shè)備識(shí)讀應(yīng)用程序把儀表設(shè)備指示針準(zhǔn)確定位圖片自動(dòng)輸出到“指示針準(zhǔn)確定位”服務(wù)窗口。在本文中,筆者里的調(diào)試目標(biāo)對(duì)象為滬工電氣有限責(zé)任公司生產(chǎn)加工的一類標(biāo)準(zhǔn)量程為0-50V1.51.17指的是針儀表設(shè)備識(shí)讀調(diào)試?yán)锏慕M成部分截圖。(a)(b)(c)圖1.17識(shí)讀體系調(diào)試組成部分截

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論