美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区

產品分類

當前位置: 首頁 > 工業電氣產品 > 端子與連接器 > 線路板連接器 > FFC連接器

類型分類:
科普知識
數據分類:
FFC連接器

機器視覺運動控制一體機應用例程(六)液位檢測

發布日期:2022-04-25 點擊率:73

  • 關鍵詞:正運動技術,機器視覺,運動控制一體機


  • 摘要:順應現代生活的不斷發展,瓶裝液體成為人們日常生活中不可或缺的消費品。它的包裝中產品凈含量是否達標是檢測產品質量的一個重要指標,對于同一規格的包裝瓶中,其液位高度直接反映了瓶中液體的凈含量。



image.png


順應現代生活的不斷發展,瓶裝液體成為人們日常生活中不可或缺的消費品。它的包裝中產品凈含量是否達標是檢測產品質量的一個重要指標,對于同一規格的包裝瓶中,其液位高度直接反映了瓶中液體的凈含量。


在傳統的瓶裝液體灌裝工序中,其灌裝后的液位高度檢測通常采用的是人眼去目測液位高度,生產效率低下,且會產生較大誤差。隨著生產的規模的不斷擴大,因此對瓶裝液體的液位高度全自動檢測的需求越來越大。


目前市面上已有光電傳感器檢測、超聲波檢測和機器視覺液位檢測等液位檢測方法,其中機器視覺液位檢測是一種非接觸式、無損的檢測方法。因此它具有效率高、檢測精度高、設備維護簡單等優點,被廣泛應用于液位檢測項目中。  


本次課程我們將與大家一起分享機器視覺運動控制一體機實現液位檢測的功能。


檢測原理


液位檢測:在機器視覺解決方案中,通常使用背向打光的方式將瓶內有液體的部分和沒有液體的部分加以區分,再計算出液體最高位與瓶底的距離即液位。檢測有顏色的液體通常使用普通背光源即可,如需檢測透明液體或瓶子上有字符或顏色干擾可使用穿透性較強的紅外背光。


視覺算法:使用兩個直線測量器獲得瓶底和液位的數據,再計算瓶底和液位的距離。使用形狀匹配結果作為直線測量器的補正源,使直線測量器跟隨產品移動。


image.png


軟件實現


(一)軟件實現


1.打開ZDevelop軟件:打開項目“基于形狀匹配的視覺定位”→在“global_variable.bas”文件中定義測量尺寸需要用到的全局變量。


'----------------------------分割線-----------------------------------------


'直線1測量參數數組,依次為中心cx、cy、w、h、angle、interp、sub_num、sub_width、filter_size、thresh、polor、select,都是圖像坐標

GLOBAL DIM d_meas_param1(12) 'd開頭表示數據結構


'直線2測量參數數組,依次為中心cx、cy、w、h、angle、interp、sub_num、sub_width、filter_size、thresh、polor、select,都是圖像坐標

GLOBAL DIM d_meas_param2(12) 'd開頭表示數據結構


'定義常用顏色變量,用于繪制圖形

GLOBAL C_RED, C_GREEN, C_BLUE, C_YELLOW

C_RED   = RGB(255,  0,  0)

C_GREEN = RGB(  0,255,  0)

C_BLUE  = RGB(  0,  0,255)

C_YELLOW= RGB(255,255,  0)


'創建模板時保存的直線1基準區域位置向量1,x、y、angle

GLOBAL DIM d_meas_base_v1(3)

d_meas_base_v1(0) = 0

d_meas_base_v1(1) = 0

d_meas_base_v1(2) = 0


'創建模板時保存的直線2基準區域位置向量2,x、y、angle

GLOBAL DIM d_meas_base_v2(3)

d_meas_base_v2(0) = 0

d_meas_base_v2(1) = 0

d_meas_base_v2(2) = 0


'直線1測量結果,依次為結果點stx、sty、endx、endy

GLOBAL DIM d_meas_rst1(4)


'直線2測量結果,依次為結果點stx、sty、endx、endy

GLOBAL DIM d_meas_rst2(4)


''創建模板時保存的模板基準點,score、x、y、angle、scale

GLOBAL DIM d_match_base_rst(5)

global dim d_meas_param(12)


'定義ROI標志變量,0-液位ROI,1-瓶底ROI

GLOBAL DIM roi_flag

roi_flag=0


'定義形狀匹配模板

ZVOBJECT shape_model


'定義保存配模板標志,1-已保存,0未保存

GLOBAL DIM  is_saveMod

2.修改設計HMI界面。


image.png


3.新建主界面按下【液位設置】按鈕時彈出的液位參數設置窗口“Set_Select”,并設計界面布局。


image.png


4.關聯液位參數設置窗口“Set_Select”界面上的變量。


image.png


5.在“draw.bas”文件中添加“液位Roi”和“瓶底Roi”根據鼠標操作更新ROI位置的函數以及實時繪制Roi的函數,并在自定義元件中關聯刷新函數和繪制函數。


'-----------------分割線-------------------------

'測量器繪制 

'''''''''''''''''''''''''''''''''''

'根據鼠標操作更新Roi的位置

GLOBAL SUB update_roi()

    if roi_flag=0 then '如果選擇設置液位ROI

       SET_REDRAW'全區域繪制

       if (mouse_scan(21) = 1 )then  '如果掃描到鼠標按下操作

            '根據鼠標所在Roi的不同位置返回調整標志

            hit_pos = ZV_HMIADJRECT2(table(21), table(22), 11, -1) 

            is_redraw = 1'繪圖標志置1

       endif


        if mouse_scan(21) = -1 then      '如果掃描到鼠標松開操作

        

        '如果鼠標指在Roi1區域之外

           if  TABLE(21)

              hit_pos=-1'調整標志=-1

           endif

          

          ZV_HMIADJRECT2(table(21), table(22), 11, hit_pos)'調整Roi1位置

           

          is_redraw = 1

        endif

      

        if (MOUSE_state(21)) then'如果鼠標按下時

            ZV_HMIADJRECT2(table(21), table(22), 11, hit_pos)'調整Roi1位置

            is_redraw = 1'繪圖標志置1

        endif

      

       if (1 = is_redraw ) then'如果繪圖標志為1時

            is_redraw = 0'繪圖標志置0

            '將控件坐標轉換到圖像坐標,并賦值給相應變量

            ZV_POSTOIMG(0, 1, 11, 31)

            d_meas_param1(0) = TABLE(31)

            d_meas_param1(1) = TABLE(32)

            d_meas_param1(2) = ZV_LENTOIMG(0, TABLE(13))

            d_meas_param1(3) = ZV_LENTOIMG(0, TABLE(14))

            d_meas_param1(4) = TABLE(15)

            

            set_base_roi()'設置基準Roi數據

            SET_REDRAW'全區域繪制

       endif

       

    else '否則選擇設置瓶底ROI

         SET_REDRAW'全區域繪制

         if (mouse_scan(21) = 1 )then  '如果掃描到鼠標按下操作

              '根據鼠標所在Roi的不同位置返回調整標志

              hit_pos = ZV_HMIADJRECT2(table(21), table(22), 41, -1) 

              is_redraw = 1'繪圖標志置1

         endif


         if mouse_scan(21) = -1 then      '如果掃描到鼠標松開操作

          

            '如果鼠標指在Roi2區域之外

            if  TABLE(21)

                hit_pos=-1'調整標志=-1

            endif

            

            ZV_HMIADJRECT2(table(21), table(22), 41, hit_pos)'調整Roi2位置

             

            is_redraw = 1

         endif

        

         if (MOUSE_state(21)) then'如果鼠標按下時

              ZV_HMIADJRECT2(table(21), table(22), 41, hit_pos)'調整Roi2位置

              is_redraw = 1'繪圖標志置1

         endif

        

         if (1 = is_redraw ) then'如果繪圖標志為1時

              is_redraw = 0'繪圖標志置0

              '將控件坐標轉換到圖像坐標,并賦值給相應變量

              ZV_POSTOIMG(0, 1, 41, 91)

              d_meas_param2(0) = TABLE(91)

              d_meas_param2(1) = TABLE(92)

              d_meas_param2(2) = ZV_LENTOIMG(0, TABLE(43))

              d_meas_param2(3) = ZV_LENTOIMG(0, TABLE(44))

              d_meas_param2(4) = TABLE(45)

              

              set_base_roi()'設置基準Roi數據

              SET_REDRAW'全區域繪制

         endif

    endif    

END SUB

image.png


6.在“main.bas”文件中添加“Set_Select”窗口界面按下【測試】按鈕時響應的函數并關聯動作函數名。


'液位設置界面按下測試按鈕時響應的函數

GLOBAL SUB btn_mea_test()

  

    '選擇補正源時先執行定位檢測

    if(TABLE(110) = 1) then

        btn_loc_test()

    endif

    

    ZVOBJECT mr1,mr2,mr3,mr4,rst1,rst2,rst3,rst4,colorImg

    ZVOBJECT contlist, tsContlist, mat_rigid

    LOCAL    show_rst

  

    '測量區域roi補正

    if(TABLE(110) = 1 AND d_is_creModel = 1) then      '如果使用補正源已經開啟且模板已經創建

       

        '計算剛性變換矩陣

        ZV_GETRIGIDVECTOR(mat_rigid1,d_match_base_rst(1),d_match_base_rst(2),d_match_base_rst(3), d_match_rst(1), d_match_rst(2), d_match_rst(3))

        

        '使用變換矩陣mat_rigid對輸入Roi1基準向量進行補正,補正后的向量存入開始索引為0的TABLE中

        ZV_VECTORCORRECT(mat_rigid1, d_meas_base_v1(0), d_meas_base_v1(1),d_meas_base_v1(2), 0)

        '將補正后的坐標數據賦值給測量器區域變量

        d_meas_param1(0) = TABLE(0)

        d_meas_param1(1) = TABLE(1)

        d_meas_param1(4) = TABLE(2)

        

        '使用變換矩陣mat_rigid對輸入Roi2基準向量進行補正,補正后的向量存入開始索引為0的TABLE中

        ZV_VECTORCORRECT(mat_rigid1, d_meas_base_v2(0), d_meas_base_v2(1),d_meas_base_v2(2), 0)

        '將補正后的坐標數據賦值給測量器區域變量

        d_meas_param2(0) = TABLE(0)

        d_meas_param2(1) = TABLE(1)

        d_meas_param2(4) = TABLE(2)

      

    endif  

    

    '生成直線1測量的旋轉區域

    ZV_MRGENLINE(mr1, d_meas_param1(0), d_meas_param1(1), d_meas_param1(2), d_meas_param1(3), d_meas_param1(4), 1, d_meas_param1(6), d_meas_param1(7))   

    '設置直線1的檢測參數,包括濾波器尺寸,閾值,邊緣極性,邊緣位置

    ZV_MRSETADV(mr1, d_meas_param1(8), d_meas_param1(9), d_meas_param1(10), d_meas_param1(11)) 

    '生成直線2測量的旋轉區域

    ZV_MRGENLINE(mr2, d_meas_param2(0), d_meas_param2(1), d_meas_param2(2), d_meas_param2(3), d_meas_param2(4), 1, d_meas_param2(6), d_meas_param2(7))

    '設置直線2的檢測參數,包括濾波器尺寸,閾值,邊緣極性,邊緣位置

    ZV_MRSETADV(mr2, d_meas_param2(8), d_meas_param2(9), d_meas_param2(10), d_meas_param2(11))

    

    '將矩形測量區域測量到的目標直線1端點存儲到起始索引為61的TABLE

    ZV_MRLINE(mr1, grabImg, rst1, 61)

    '將直線1結果賦值給直線1結果變量

    d_meas_rst1(0) = TABLE(61)

    d_meas_rst1(1) = TABLE(62)

    d_meas_rst1(2) = TABLE(63)

    d_meas_rst1(3) = TABLE(64)

    

    '將矩形測量區域測量到的目標直線2端點存儲到起始索引為71的TABLE

    ZV_MRLINE(mr2, grabImg, rst2, 71)

    '將直線1結果賦值給直線2結果變量

    d_meas_rst2(0) = TABLE(71)

    d_meas_rst2(1) = TABLE(72)

    d_meas_rst2(2) = TABLE(73)

    d_meas_rst2(3) = TABLE(74)

    

    '計算兩條直線的距離寬度

    length1()

  

    '將灰度圖轉換成RGB圖像,用于繪制檢測結果圖像

    ZV_GRAYTORGB(grabImg, colorImg)

    

    '繪制液位檢測和瓶底檢測的測量器

    ZV_MEASURER(colorImg,mr1,ZV_COLOR(0,0,255),ZV_COLOR (0,255,0)) 

    ZV_MEASURER(colorImg,mr2,ZV_COLOR(0,0,255),ZV_COLOR (0,255,0))

     

    '繪制直線結果

    ZV_LINE(colorImg, TABLE(61), TABLE(62), TABLE(63), TABLE(64), C_BLUE)

    ZV_LINE(colorImg, TABLE(71), TABLE(72), TABLE(73), TABLE(74), C_BLUE) 

    if(TABLE(110) = 1) then'如果使用補正源

        ZV_MARKER(colorImg,TABLE(4),TABLE(5),0,10,C_GREEN)'繪制匹配中心標志點

    endif

  

    ZV_LATCH(colorImg,0)'顯示結果圖像

  

END SUB

image.png


7.在“main.bas”文件中添加“Set_Select”窗口界面按下【返回主界面】按鈕時響應的函數并關聯動作函數名。


'按下返回主界面按鈕時響應的函數

GLOBAL SUB Goto_Main()


    '設置鎖存通道0的大小,以適應圖片元件大小

    ZV_LATCHSETSIZE(0, HMI_ConTROLSIZEX(10,2), HMI_ConTROLSIZEY(10,2)) 

    ZV_LATCHCLEAR(0)'清空鎖存通道0

    ZV_LATCH(grabImg,0)'將圖片顯示到鎖存通道0中

    HMI_CLOSEWINDOW(13)'關閉測量參數設置窗口

  

END SUB

image.png


8.在“main.bas”文件中修改主界面按下【單次執行】按鈕時響應的函數并關聯動作函數名。


'主界面按下單次執行按鈕時響應的函數

GLOBAL SUB btn_test()


   '采集一幀圖像

   btn_grab

   '執行測量測試部分代碼

   btn_mea_test()


END SUB


檢測原理


(一)操作步驟


查看運行效果:將項目下載到仿真器中→運行程序,測試程序運行效果。→使用本地圖片→單次采集→學習模板→液位設置→使用補正源→單次執行→結束


完整代碼獲取地址

image.png


本次,正運動技術機器視覺運動控制一體機應用例程(六)液位檢測,就分享到這里。


更多精彩內容請關注“正運動小助手”公眾號,需要相關開發環境與例程代碼,請咨詢正運動技術銷售工程師:400-089-8936。


本文由正運動技術原創,歡迎大家轉載,共同學習,一起提高中國智能制造水平。文章版權歸正運動技術所有,如有轉載請注明文章來源。


關于正運動技術


正運動技術專注于運動控制技術研究和通用運動控制軟硬件產品的研發,是國家級高新技術企業,主要產品有運動控制器、運動控制卡、視覺運動控制一體機、人機界面以及擴展模塊等。


正運動技術匯集了來自華為、中興等公司的優秀人才,在堅持自主創新的同時,積極聯合各大高校協同運動控制基礎技術的研究,是國內工控領域發展最快的企業之一,也是國內少有、完整掌握運動控制核心技術和實時工控軟件平臺技術的企業。 



下一篇: PLC、DCS、FCS三大控

上一篇: ZMC運動控制器SCARA機

推薦產品

更多
美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区


        日韩女优av电影在线观看| 99久久久免费精品国产一区二区| 亚洲人成精品久久久久久| 国产精品麻豆欧美日韩ww| 国产精品欧美一区二区三区| 日韩一区有码在线| 亚洲欧美日韩电影| 爽好多水快深点欧美视频| 日韩中文欧美在线| 国产麻豆精品在线观看| 大陆成人av片| 国产欧美一区二区在线播放| 欧美三级华人主播| 91国在线观看| 精品久久久久久久人人人人传媒| www久久久久| 亚洲精品乱码久久久久久黑人| 五月天亚洲精品| 国产精品66部| 九色综合日本| 日本伦理一区二区| 日韩欧美国产综合在线一区二区三区| 国产三级精品三级| 亚洲资源中文字幕| 国产伦精品一区二区三区免费迷| 成人欧美一区二区三区视频xxx| 欧美日韩国产精品一卡| 欧美亚洲动漫制服丝袜| 久久亚洲精品小早川怜子| 自拍偷拍亚洲激情| 久久国产福利国产秒拍| 99中文字幕| 在线视频不卡一区二区| 久久久噜噜噜久噜久久综合| 一区二区三区日韩在线观看| 国产精品资源站在线| 久久精品日产第一区二区三区精品版 | 日本v片在线高清不卡在线观看| 国产v综合v亚洲欧| 欧美激情专区| 欧美一区二区三区四区久久| 亚洲精品伦理在线| 成人妖精视频yjsp地址| 日韩欧美一区二区在线观看 | 99久久免费国产| 亚洲一区二区在| 久久亚洲精华国产精华液| 亚洲成在人线免费| 97久久天天综合色天天综合色hd| 欧美日韩大片一区二区三区 | 久久综合一区二区| 青青草成人在线观看| 国产精品久久久久久久小唯西川 | 粉嫩欧美一区二区三区高清影视| 欧美日韩中文国产一区发布| 久久亚洲精华国产精华液 | 久久免费视频色| 麻豆国产欧美日韩综合精品二区| 91在线短视频| 91麻豆精品国产91久久久使用方法| 亚洲精品久久久蜜桃| 99久久精品免费看| 欧美日韩黄色一区二区| 亚洲综合丁香婷婷六月香| 99九九99九九九视频精品| 欧洲国产伦久久久久久久| 亚洲欧洲精品成人久久奇米网| 成人自拍视频在线| 日本乱人伦aⅴ精品| 亚洲男人天堂一区| 国产高清精品一区二区三区| 欧美一级黄色大片| 美国毛片一区二区| 在线不卡视频一区二区| 玉米视频成人免费看| 成人xxxxx色| 精品粉嫩aⅴ一区二区三区四区| 另类小说视频一区二区| 亚洲精品自在在线观看| 亚洲欧美欧美一区二区三区| 国产麻豆日韩| 欧美国产精品劲爆| 91首页免费视频| 久久亚洲二区三区| 99精品视频中文字幕| 日韩视频永久免费| 国产美女视频91| 欧美久久久久久久久| 久久99国产精品尤物| 欧美三级电影在线看| 麻豆91免费观看| 欧美午夜精品一区| 精品一区二区三区的国产在线播放| 91国模大尺度私拍在线视频| 蜜桃视频第一区免费观看| 欧美亚一区二区| 久久66热偷产精品| 91精品国产综合久久久久久久| 国产美女一区二区三区| 欧美一区二区视频免费观看| 国产精品99久久久久久久女警| 777奇米成人网| 成人午夜碰碰视频| 欧美精品一区二区三区高清aⅴ | 国产成人a级片| 日韩一区二区三区精品视频| jizz一区二区| 国产亚洲成年网址在线观看| 国产伦精品一区二区三区视频免费 | 午夜精品福利久久久| 色综合久久久久网| 久久精品噜噜噜成人av农村| 欧美美女一区二区三区| 成人激情黄色小说| 精品国产乱码久久久久久夜甘婷婷 | 久精品国产欧美| 亚洲综合一区二区三区| 色综合色综合色综合色综合色综合 | 亚洲无玛一区| 精品一二三四区| 欧美mv和日韩mv国产网站| 91久久久一线二线三线品牌| 亚洲视频电影在线| 亚洲欧洲一区二区在线观看| 精品一区二区三区不卡| 久久综合国产精品| 欧美高清一区二区| 美日韩黄色大片| 欧美成人一级视频| 精品日产一区2区三区黄免费 | 精品国产第一区二区三区观看体验| 99在线观看视频| 亚洲成人综合视频| 777欧美精品| 国内精品视频免费| 日本91福利区| 久久这里都是精品| 色综合视频二区偷拍在线| 国产一区二区三区四区五区入口 | 亚洲二区三区四区| 国产激情精品久久久第一区二区 | 日韩专区在线视频| 日韩美女一区二区三区| 久久精品成人一区二区三区蜜臀 | 亚洲一区二区三区四区在线免费观看| 色婷婷亚洲综合| 91手机在线视频| 日韩黄色免费电影| 久久精品一区二区三区不卡 | 亚洲最大色综合成人av| 成人激情免费电影网址| 亚洲精品欧美二区三区中文字幕| 一区二区不卡视频| **亚洲第一综合导航网站| 午夜伦欧美伦电影理论片| 91精品国产91久久久久久一区二区| 韩日午夜在线资源一区二区 | 亚洲三级在线观看| 91精品视频网| 五月天婷亚洲天综合网鲁鲁鲁| 国产91精品一区二区麻豆网站| 亚洲三级视频在线观看| 欧美一区二区视频在线观看| 日韩妆和欧美的一区二区| a级精品国产片在线观看| 午夜精品一区二区三区三上悠亚| 久久影音资源网| 色综合久久综合网97色综合| av色综合网| 国产精品主播直播| 亚洲va欧美va人人爽| 欧美激情一区二区三区四区| 欧美三级视频在线观看| 蜜桃免费一区二区三区| 99热在这里有精品免费| 久久99国产精品免费网站| 亚洲一区中文日韩| 亚洲国产精品t66y| 日韩欧美国产一区二区三区| 91黄色激情网站| 水蜜桃一区二区| 国外成人在线视频网站| 成人国产精品免费网站| 另类综合日韩欧美亚洲| 午夜伦理一区二区| 亚洲免费观看高清完整版在线观看 | 一区二区三区精品| 久久综合久久鬼色| 日韩视频一区二区| 色婷婷久久一区二区三区麻豆| 精品久久精品久久| 99久久99久久| 99re视频精品| caoporn国产精品| 成人蜜臀av电影| 国产91精品露脸国语对白| 国产一区二区在线观看免费| 久久国产精品99久久人人澡| 日韩av成人高清| 天天影视网天天综合色在线播放|