亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        機(jī)器視覺檢測(cè)中的矢量圖操作模塊的設(shè)計(jì)與開發(fā)

        2016-06-17 09:48:15丁偉丁松秦懷宇
        電子設(shè)計(jì)工程 2016年7期
        關(guān)鍵詞:矢量圖跨平臺(tái)機(jī)器視覺

        丁偉,丁松,秦懷宇

        (1.江蘇科技大學(xué)張家港校區(qū)電氣與信息工程學(xué)院,江蘇張家港215600;2.張家港三利密封合金材料有限公司江蘇張家港215600)

        ?

        機(jī)器視覺檢測(cè)中的矢量圖操作模塊的設(shè)計(jì)與開發(fā)

        丁偉1,丁松2,秦懷宇1

        (1.江蘇科技大學(xué)張家港校區(qū)電氣與信息工程學(xué)院,江蘇張家港215600;2.張家港三利密封合金材料有限公司江蘇張家港215600)

        摘要:為解決矢量化的機(jī)器視覺檢測(cè)平臺(tái)開發(fā)中矢量圖的跨平臺(tái)操作問題,以Qt和Vjsua1 Stdjo 2012為開發(fā)平臺(tái),設(shè)計(jì)并開發(fā)了可讀取DXF格式矢量圖的軟件工具模塊。實(shí)現(xiàn)矢量圖的讀取、繪制、放大、縮小、選中以及存儲(chǔ)功能;并以開放的庫形式提供給其它開發(fā)平臺(tái)對(duì)視覺檢測(cè)平臺(tái)功能進(jìn)行進(jìn)一步開發(fā),具有較強(qiáng)的擴(kuò)展性和可維護(hù)性。為機(jī)器視覺檢測(cè)中的矢量圖操作提供了新的途徑。

        關(guān)鍵詞:Qt;矢量圖;DXF;跨平臺(tái);機(jī)器視覺

        在工業(yè)生產(chǎn)中,由于生產(chǎn)設(shè)備、人工及各種外部因素造成的產(chǎn)品誤差不可避免。為避免不合格流入市場(chǎng),需要在產(chǎn)品出廠前進(jìn)行檢測(cè)。其中對(duì)檢測(cè)產(chǎn)品的尺寸、表面缺陷的外觀檢測(cè)是重要的檢測(cè)環(huán)節(jié)[1]。近年來,由于經(jīng)濟(jì)發(fā)展、產(chǎn)業(yè)升級(jí)和人工成本上升等因素,機(jī)器視覺檢測(cè)已經(jīng)代替人工檢測(cè)成為外觀檢測(cè)的主流。在機(jī)器視覺檢測(cè)中,柵格圖像的最小組成單元為像素,像素的大小會(huì)影響對(duì)產(chǎn)品檢測(cè)的準(zhǔn)確性[2-3]。圖像的矢量化可以使圖像與分辨率無關(guān),盡可能地還原圖像的幾何參數(shù)和相應(yīng)的位置、尺寸、形狀信息,非常適用于對(duì)檢測(cè)參數(shù)敏感的精密零部件檢測(cè)[4-5]。

        現(xiàn)在有多種把圖像矢量化并輸出標(biāo)準(zhǔn)數(shù)據(jù)接口文件DXF格式矢量圖的算法[6]。但是在機(jī)器視覺檢測(cè)平臺(tái)上打開和操作DXF格式矢量圖,需要特別安裝專業(yè)的制圖軟件,如AutoCad,Core1DRAW等,增加成本的同時(shí)這些專業(yè)軟件都有跨平臺(tái)的問題,不利于在專業(yè)的檢測(cè)平臺(tái)上安裝,且對(duì)檢測(cè)平臺(tái)后續(xù)針對(duì)性開發(fā)并實(shí)現(xiàn)自動(dòng)檢測(cè)造成困難[7]。針對(duì)以上不足,文中以Qt和Vjsua1 Stdjo 2012(VS 2012)為開發(fā)平臺(tái),設(shè)計(jì)并開發(fā)一款具備跨平臺(tái)功能的可讀取和操作DXF格式矢量圖的模塊,可在Wjndows系列,Ljnux,UNIX等幾乎所有主流系統(tǒng)使用。并可以庫的形式提供給其它開發(fā)平臺(tái),方便后續(xù)開發(fā)和維護(hù)。

        1 開發(fā)平臺(tái)的搭建

        文中以VS 2012為開發(fā)平臺(tái),并以Qt為界面設(shè)計(jì)平臺(tái),實(shí)現(xiàn)對(duì)dxf圖形的操作軟件的開發(fā)。通過CMake構(gòu)建整個(gè)程序的架構(gòu),使得軟件具備的跨平臺(tái)的功能,在不同操作系統(tǒng)中可生成可執(zhí)行的文件。

        VS2012是經(jīng)典的Wjndows操作系統(tǒng)下軟件開發(fā)平臺(tái)。Qt是一個(gè)跨平臺(tái)的C++圖形用戶界面應(yīng)用程序開發(fā)軟件。易于擴(kuò)展,并且允許組件編程,具有極大開發(fā)便利性。利用Qt提供的C++應(yīng)用程序開發(fā)框架就可實(shí)現(xiàn)一次編寫,隨處編譯。即Qt程序具有很強(qiáng)的可移植性,可運(yùn)行于wjndows98、vjsta、wjndowXP、wjndows 7、Ljnux、UNIX等操作系統(tǒng)平臺(tái)。CMake是一個(gè)跨平臺(tái)的安裝(編譯)工具,可以用簡(jiǎn)單的語句來描述所有平臺(tái)的安裝(編譯過程),能夠輸出各種各樣的makefj1e或者project文件,能測(cè)試編譯器所支持的C++特性,類似UNIX下的automake。只是CMake的組態(tài)檔取名為CmakeLjsts.txt。Cmake并不直接建構(gòu)出最終的軟件,而是產(chǎn)生標(biāo)準(zhǔn)的建構(gòu)檔(如Unjx的Makefj1e或Wjndows Vjsua1 C++的projects/ workspaces),然后再依一般的建構(gòu)方式使用。這使得熟悉某個(gè)集成開發(fā)環(huán)境(IDE)的開發(fā)者可以用標(biāo)準(zhǔn)的方式建構(gòu)他的軟件,這種可以使用各平臺(tái)的原生建構(gòu)系統(tǒng)的能力是CMake和SCons等其他類似系統(tǒng)的區(qū)別之處。

        2 架構(gòu)設(shè)計(jì)

        軟件總體架構(gòu)如圖1所示。GUI系統(tǒng)模塊主要實(shí)現(xiàn)界面顯示功能,即生成文件顯示窗口,并在界面中實(shí)現(xiàn)編輯項(xiàng)目選項(xiàng)欄;Aoj-vjew模塊主要實(shí)現(xiàn)對(duì)解析后的圖片顯示,并對(duì)DXF圖區(qū)域的形狀進(jìn)行管理和與用戶之間的交互等功能;Doc-manage模塊和DXF-IO模塊負(fù)責(zé)實(shí)現(xiàn)DXF圖形管理,其中DXF-IO主要實(shí)現(xiàn)對(duì)DXF文件內(nèi)容的解析,包括圖形的點(diǎn)、線、圓等的方位、大小等信息的解析,當(dāng)涉及到具體DXF圖庫的時(shí)候便根據(jù)需要調(diào)用Core和DXF1jb內(nèi)的文件庫實(shí)現(xiàn)圖形的解析與恢復(fù)。架構(gòu)中每個(gè)模塊都留有擴(kuò)展接口方便后續(xù)對(duì)系統(tǒng)功能的擴(kuò)展。

        圖1 系統(tǒng)架構(gòu)

        3 軟件開發(fā)

        3.1建立工程

        采用命令行的方式建立工程,實(shí)現(xiàn)對(duì)建立文件的歸類,便于其它人員使用或后續(xù)開發(fā)。

        建立VS工程。在建立majn.cpp文件之前,首先要在指定位置的工程文件夾里建立CMakeLjsts.txt的文件,再建立majn.cpp的文件。CMakeLjsts.txt文件實(shí)現(xiàn)將建立的VS工程與Qt相互關(guān)聯(lián)的作用,換言之,即通過CMake生成一個(gè)makefj1e的可執(zhí)行文件或工程。在編譯程序時(shí),根據(jù)CMakeLjsts.txt中的指令分別到相應(yīng)的工程里面執(zhí)行工程里的內(nèi)容,同樣,也調(diào)用Qt界面程序。

        3.2GUI模塊設(shè)計(jì)

        GUI模塊中共包含主窗口界面設(shè)計(jì)、打開標(biāo)準(zhǔn)檔對(duì)話框、保存標(biāo)準(zhǔn)檔對(duì)話框等,其包含4個(gè)小模塊:Majn-wjndow,Choose-doc-dja1og,Doc-1jst-vjew,Doc-1jst-wjdget其相應(yīng)的結(jié)構(gòu)圖如圖2所示。

        圖2 GUI結(jié)構(gòu)圖

        1)Majn-wjndow模塊主要是負(fù)責(zé)維護(hù)主窗口的交互界面,其中包括標(biāo)題欄,工具欄,主區(qū)域等。標(biāo)題欄主要是放大縮小關(guān)閉等按鈕的系統(tǒng)菜單,用于維護(hù)主要的系統(tǒng)事件;工具欄是一些自定義的事件,主要包括打開DXF文件、打開標(biāo)準(zhǔn)當(dāng)文件、和保存標(biāo)準(zhǔn)當(dāng)文件等;主區(qū)域是用戶鼠標(biāo)鍵盤操作的主要區(qū)域,由AOIVIEW構(gòu)成,用于獲取用戶的鼠標(biāo)輸入等動(dòng)作。其主要生成界面如圖3所示。

        圖3 軟件初始界面

        2)Choose-doc-dja1og是主窗口Open槽函數(shù)彈出的對(duì)話框,其中Choose-doc-dja1og類主要是負(fù)責(zé)對(duì)話框界面的組織,窗口如圖4所示。具體操作工作由DocLjstVjew和DocLjstWjdget完成,DocLjstVjew是左邊的標(biāo)準(zhǔn)當(dāng)名字選擇列表,右邊的DocLjstWjdget是標(biāo)準(zhǔn)當(dāng)?shù)脑敿?xì)信息。

        圖4 Open對(duì)話框

        3.3Aol-vlew模塊設(shè)計(jì)

        Aoj-vjew模塊用于顯示形狀信息以及用戶的部分交互工作,具體結(jié)構(gòu)圖如圖5所示。

        圖5 AojVjew模塊結(jié)構(gòu)圖

        AojVjew的核心模塊由Cad-vjew、Cad-jtem和Cad-mode組成,其中Cad-vjew用于從用戶獲取輸入信息,Cad-jtem負(fù)責(zé)單個(gè)形狀信息的保存和繪制,Cad-mode用于控制用戶的操作流程。工作流程主要是:Cad-vjew獲取到用戶鼠標(biāo)鍵盤事件->Cad-vjew判斷當(dāng)前處在的Cad-mode狀態(tài)->傳遞給相應(yīng)的Cad-mode處理->Cad-mode根據(jù)之前的狀態(tài)決定下一步狀態(tài)是退出還是繼續(xù)處于該狀態(tài)->退出用戶事件并等待下一次事件。

        Cad-vjew、Cad-jtem和Cad-mode的交互形成AojVjew模塊的基礎(chǔ)。如后續(xù)用戶需要實(shí)現(xiàn)新的操作方式,根據(jù)面向?qū)ο蟮亩鄳B(tài)操作方式,只需用戶繼承并更新Cad-mode可以實(shí)現(xiàn)新的操作方式。所以AojVjew的架構(gòu)方式非常有利于后續(xù)的功能擴(kuò)展。

        3.4DXF-I0模塊

        DXF-IO模塊主要是封裝上層對(duì)下層DXF文件的訪問,通過一個(gè)繼承至DL-CreatjonAdapter的類DXF-IO實(shí)現(xiàn)相應(yīng)的DXF文件的讀取和解析工作。實(shí)現(xiàn)的原理:子類通過繼承父類的虛函數(shù)的方式實(shí)現(xiàn)回調(diào),完成基類對(duì)子類的控制,最終實(shí)現(xiàn)上層函數(shù)。

        3.5Core模塊

        Core模塊主要是負(fù)責(zé)界面與底層之間的通信以及維護(hù)一些標(biāo)準(zhǔn)信息,模塊設(shè)計(jì)主要內(nèi)容包括:DjskInfo子模塊,實(shí)現(xiàn)標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu)信息以及基本的IO操作[8];IntArray子模塊,封裝一個(gè)可變整數(shù)型的數(shù)組,實(shí)現(xiàn)整數(shù)緩沖區(qū)的管理;Object子模塊,是所有點(diǎn)、線、圓等幾何圖形的基類;Shape子模塊,主要實(shí)現(xiàn)一些特定的形狀和復(fù)雜的形狀如構(gòu)成圖形的基本元素的點(diǎn)、線、圓、弧等[9]。

        3.6Doc-manage模塊

        Doc-manage模塊主要實(shí)現(xiàn)標(biāo)準(zhǔn)文檔的管理,其中包括預(yù)覽、維護(hù)、新建、保存和刪除標(biāo)準(zhǔn)檔信息[10]。

        4 軟件的矢量圖解析

        用CMake完成軟件的編譯生成可執(zhí)行文件[11]。運(yùn)用可執(zhí)行文件,實(shí)現(xiàn)矢量圖的解析,如圖6、7所示。圖6是對(duì)某金屬密封件矢量圖的讀取顯示,圖7是對(duì)矢量圖的操作演示。

        圖6 解析結(jié)果

        圖7 矢量圖的放大和選擇

        5 結(jié)論

        本文以Qt和VS 2012為開發(fā)平臺(tái),設(shè)計(jì)了一種對(duì)矢量圖進(jìn)行操作的新方法,并開發(fā)一款具備跨平臺(tái)功能的可讀取和操作DXF格式矢量圖的軟件模塊,并以庫的形式提供給其它開發(fā)平臺(tái),后續(xù)開發(fā)和維護(hù)。對(duì)以矢量圖方法為基礎(chǔ)的機(jī)器視覺檢測(cè)平臺(tái)提供了新的矢量圖操作途徑。軟件模塊已在實(shí)際檢測(cè)中應(yīng)用,取得了良好的效果,說明本文的設(shè)計(jì)和開發(fā)方法具有很好的推廣前景。

        參考文獻(xiàn):

        [1]Basa1amah S.Hjstogram based cjrc1e detectjon[J].Internatjona1 Journa1 of Computer Scjence and Network Securjty,2012,12(8):40-43.

        [2]Forsyth D A,Jean P.Computer vjsjon[M].Inc:Prentjce Ha11,2003.

        [3]趙磊,雷鳴,高俊釵.基于機(jī)器視覺的密封件表面缺陷檢測(cè)研究[J].電子設(shè)計(jì)工程,2011,19(24):72-74,77.

        [4]劉春,利新琴,魯昌華,等.密封橡膠圈凸點(diǎn)缺陷檢測(cè)的研究[J].電子測(cè)量與儀器學(xué)報(bào),2008(23):178-181.

        [5]黎明,馬聰,楊小芹.機(jī)械加工零件表面紋理缺陷檢測(cè)[J].中國(guó)圖象圖形學(xué)報(bào),2004,9(3):318-322.

        [6]王艷麗.計(jì)算機(jī)中的位圖和矢量圖[J].信息與電腦(理論版),2011(9):191,193.

        [7]呂志亮,嚴(yán)殊,李駒光.基于Qt/Embedded的DXF文件操作軟件的研究與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2012,11(9):81-83.

        [8]蔣國(guó)峰,丁潔.基于PC-104和虛擬儀器的某機(jī)載電臺(tái)檢測(cè)控制器[J].電子設(shè)計(jì)工程,2013(10):1-3.

        [9]邢開宇,曹曉曼,方火能.基于FPGA和NAND F1ash的存儲(chǔ)器ECC設(shè)計(jì)與實(shí)現(xiàn)[J].電子科技,2015(2):38-40.

        [10]李紅剛,楊林楠,張麗蓮.基于FPGA的高速多通道數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2006(10):1407-1409.

        [11]王德勝,康令州.基于FPGA的實(shí)時(shí)圖像采集與預(yù)處理[J].電視技術(shù),2011(3):32-35.

        Deslgn and develoPment of vector dlagram oPeratlon module ln machlne vlslon detectlon

        DING Wej1,DING Song2,QIN Huaj-yu1
        (1.College of Electrical andJiangsu University of Science and Technology(Zhangjiagang),Information Engineering,Zhangjiagang 215600,China;2.Zhangjiagang Sanli Sealing Alloy Material Co.,Ltd,Zhangjiagang 215600,China)

        Abstract:Thjs paper uses Qt and Vjsua1 Stdjo 2012 as deve1opment p1atform to desjgn and jmp1ement a software too1s modu1e whjch can read the DXF format vector djagram,to so1ve the prob1em about vector cross p1atform's operatjona1 prob1ems. Through thjs too1 we can achjeve to jmport,draw,en1arge,reduce or save the vector djagram,and jn the form of open 1jbrary provjded to other programs as secondary deve1opment usjng. It a1so can generate dynamjc 1jbrarjes for other p1atform. It js convenjent for the fo11ow-up deve1opment. And jt provjdes a new way for vector operatjon jn machjne vjsjon detectjon.

        Key words:Qt;vector djagram;DXF;cross p1atform;machjne vjsjon

        中圖分類號(hào):TN914

        文獻(xiàn)標(biāo)識(shí)碼:A

        文章編號(hào):1674-6236(2016)07-0037-03

        收稿日期:2015-06-02稿件編號(hào):201506019

        基金項(xiàng)目:江蘇科技大學(xué)校區(qū)青年教師科研項(xiàng)目(112110146)

        作者簡(jiǎn)介:丁偉(1985—),女,江蘇蘇州人,碩士研究生,講師。研究方向:數(shù)字圖像處理,計(jì)算機(jī)視覺。

        猜你喜歡
        矢量圖跨平臺(tái)機(jī)器視覺
        Analysis of the line current differential protection considering inverter-interfaced generation station and countermeasures
        跨平臺(tái)APEX接口組件的設(shè)計(jì)與實(shí)現(xiàn)
        利用矢量圖對(duì)小物體從光滑斜面下滑運(yùn)動(dòng)探討
        大場(chǎng)景三維激光掃描儀在研究生實(shí)踐教學(xué)培養(yǎng)中的應(yīng)用
        基于機(jī)器視覺的工件鋸片缺陷檢測(cè)系統(tǒng)設(shè)計(jì)
        軟件工程(2016年8期)2016-10-25 15:55:22
        基于機(jī)器視覺技術(shù)的動(dòng)態(tài)“白帶”常規(guī)檢測(cè)系統(tǒng)的開發(fā)
        科技視界(2016年20期)2016-09-29 11:11:40
        機(jī)器視覺技術(shù)在煙支鋼印檢測(cè)中的應(yīng)用
        基于QT的跨平臺(tái)輸電鐵塔監(jiān)控終端軟件設(shè)計(jì)與實(shí)現(xiàn)
        基于OPC跨平臺(tái)通信的電機(jī)監(jiān)測(cè)與診斷系統(tǒng)
        基于B/S的跨平臺(tái)用戶界面可配置算法研究
        深夜日韩在线观看视频| 2021久久最新国产精品| 国产h视频在线观看网站免费| 激情偷拍视频一区二区| 妃光莉中文字幕一区二区| 午夜毛片不卡免费观看视频| 人妻丰满av∨中文久久不卡| 蜜桃av无码免费看永久| 中文字幕34一区二区| 国产精品9999久久久久仙踪林| 亚洲欧美综合在线天堂| 人妻无码ΑV中文字幕久久琪琪布| av网站免费观看入口| 国产亚洲精品成人aa片新蒲金 | 人妻av有码中文字幕| 闺蜜张开腿让我爽了一夜| 亚洲高清无码第一| 伊人久久大香线蕉综合av| 麻豆精品国产av在线网址| 99久久国产综合精品五月天| 久久国产成人亚洲精品影院老金| 69久久精品亚洲一区二区| 18禁止看的免费污网站| 亚洲国产精品sss在线观看av | 国产国语按摩对白av在线观看| 美女网站免费福利视频| 亚洲日本天堂| 免费av在线视频播放| 亚洲成av人片在www鸭子| 国产av电影区二区三区曰曰骚网| 国产在线视频h| 亚洲三级中文字幕乱码| 在线观看av不卡 一区二区三区| 国产精品久久久久久久久久红粉 | 久久久国产精品123| 免费观看又色又爽又黄的| 最新国产成人在线网站| 青青草视频在线观看绿色| 国产18禁黄网站免费观看| 久久久久亚洲精品无码网址色欲| 国产精品高潮av有码久久|