<style id="7i3y3"></style>

      <sub id="7i3y3"><i id="7i3y3"></i></sub>

        午夜精品一区二区三区成人,中文字幕av一区二区,亚洲AVAV天堂AV在线网阿V,肥臀浪妇太爽了快点再快点,国产网友愉拍精品视频手机,国产精品无码a∨麻豆,久久中文字幕一区二区,a级国产乱理伦片在线观看al
        首頁 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
        中華工控網(wǎng)首頁
          P L C | 變頻器與傳動(dòng) | 傳感器 | 現(xiàn)場(chǎng)檢測(cè)儀表 | 工控軟件 | 人機(jī)界面 | 運(yùn)動(dòng)控制
          D C S | 工業(yè)以太網(wǎng) | 現(xiàn)場(chǎng)總線 | 顯示調(diào)節(jié)儀表 | 數(shù)據(jù)采集 | 數(shù)傳測(cè)控 | 工業(yè)安全
          電 源 | 嵌入式系統(tǒng) | PC based | 機(jī)柜箱體殼體 | 低壓電器 | 機(jī)器視覺
        詳談機(jī)器視覺大師腳本編程
        深圳市精浦科技有限公司
        收藏本文     查看收藏

        機(jī)器視覺大師(MVS),一體式可編程機(jī)器視覺控制器(FVS), 可組態(tài)機(jī)器視覺控制器(EVS)都支持腳本編程。雖然機(jī)器視覺大師腳本編程最簡(jiǎn)單,但是很多用戶普遍感覺好像很難入門,筆者將詳細(xì)介紹一下這些機(jī)器視覺大師的腳本編程原理和過程。

        機(jī)器視覺大師在自動(dòng)檢測(cè)模式下,可以支持用戶腳本編程。為什么要這樣的功能呢?這需要簡(jiǎn)單介紹一下機(jī)器視覺大師提供自動(dòng)檢測(cè)功能的目的說起。

        機(jī)器視覺大師自動(dòng)檢測(cè)功能主要用于開發(fā)全自動(dòng)機(jī)器視覺自動(dòng)化系統(tǒng)的前期實(shí)驗(yàn)分析(圖形預(yù)處理,特征算法等)或桌面式半自動(dòng)機(jī)器視覺應(yīng)用。機(jī)器視覺在自動(dòng)化領(lǐng)域的應(yīng)用從軟件開發(fā)方面來講主要涉及圖像預(yù)處理,特征分析,模式識(shí)別算法等,實(shí)現(xiàn)工業(yè)領(lǐng)域常用的如定位,顏色區(qū)分,缺陷檢測(cè),生產(chǎn)日期檢測(cè)或識(shí)別,條碼識(shí)別等。如果一個(gè)新的需求全部從頭開始開發(fā)的話,工作量十分巨大,而且需要開發(fā)人員既具有圖像處理方面的知識(shí),也需要具備比較強(qiáng)的編程能力,一般來說,是非常困難的。

        機(jī)器視覺大師將圖像分析和常用的模式識(shí)別等算法完全封裝成檢測(cè)算子,采用可視化編輯的方式,用戶只需要?jiǎng)觿?dòng)鼠標(biāo)扒拉幾下, 不到幾分鐘,一個(gè)機(jī)器視覺應(yīng)用系統(tǒng)原型將很快建立起來。但是,由于應(yīng)用的復(fù)雜化,機(jī)器視覺大師提供的算子可能不能完全適用用戶的實(shí)際需求。這就需要用戶進(jìn)行最后的處理即腳本編程,來完成最終的目標(biāo)。打個(gè)比喻來說,機(jī)器視覺大師就好比一個(gè)城市建立的地鐵系統(tǒng),雖然方便快捷,但是最后一公里還需要一種交通工具如共享單車,才能使乘客很舒服地到達(dá)目的地。腳本編程好像是共享單車,雖然不是全自動(dòng)的,需要用點(diǎn)力,但是操作實(shí)在是很簡(jiǎn)單,只要掌握好方向盤,用力蹬就行了。

        機(jī)器視覺大師里面設(shè)計(jì)一個(gè)簡(jiǎn)單的機(jī)器視覺或影像自動(dòng)檢測(cè)應(yīng)用,基本過程如下:

        言歸正傳,在機(jī)器視覺大師里面進(jìn)行腳本編程其實(shí)也是很簡(jiǎn)單的一件事。不像一些高級(jí)編程語言如c/c++,java, 網(wǎng)頁腳本php,這些語言功能較強(qiáng),支持類,函數(shù),事件等,需要掌握的知識(shí)點(diǎn)較多,學(xué)習(xí)起來比較復(fù)雜,漫長(zhǎng)。機(jī)器視覺大師的腳本編程只需要掌握兩點(diǎn):1. 理解和掌握對(duì)象和屬性的概念; 2.  理解和應(yīng)用邏輯判斷和循環(huán)或順序執(zhí)行。完全不需要自定義什么類,函數(shù)什么的。這些概念是所有編程語言里面最基本的內(nèi)容。所以,別擔(dān)心,一切會(huì)是那么的簡(jiǎn)單。

        對(duì)象模型

        在機(jī)器視覺大師里面,編程的時(shí)候一定是以對(duì)象為主。 頂層對(duì)象只有兩種,即視場(chǎng)對(duì)象和整個(gè)應(yīng)用程序?qū)ο?/strong>。 視場(chǎng)對(duì)象下面有算子對(duì)象,算子對(duì)象有讀數(shù)屬性(復(fù)合型讀數(shù)如點(diǎn)(x,y)也可以理解成對(duì)象)。不同的算子對(duì)象具有不同的讀數(shù),有數(shù)據(jù)類,有文本類,或數(shù)組類。機(jī)器視覺大師里面的基本對(duì)象模型如下圖:

        應(yīng)用程序?qū)ο蟾鶕?jù)當(dāng)前的檢測(cè)任務(wù)的不同,具有不同的屬性(也稱變量)。視場(chǎng)對(duì)象即相機(jī)所能成像的范圍,表現(xiàn)為一個(gè)圖像,但實(shí)際編程時(shí)可能與圖像完全不搭邊,所以只要記住,當(dāng)前PC系統(tǒng)有幾個(gè)相機(jī),就可以理解有幾個(gè)視場(chǎng)對(duì)象。視場(chǎng)下面的算子的數(shù)量根據(jù)用戶自己實(shí)際添加的數(shù)量決定。

        在編程中,所有的對(duì)象均使用名稱標(biāo)識(shí),這些標(biāo)識(shí)均系統(tǒng)已經(jīng)自動(dòng)命名, 應(yīng)用程序?qū)ο蟮拿譃閙vs, 有且只有一個(gè)。視場(chǎng)對(duì)象的名字為sight, 后面緊接一個(gè)數(shù)字,表示不同的視場(chǎng)對(duì)象等等,如sight1。視場(chǎng)里面不同的算子分別有自己的名字,同類型的算子后面添加序號(hào)加以區(qū)分,與視場(chǎng)名字的命名規(guī)則差不多。

        使用的時(shí)候,對(duì)象一定是從最頂層對(duì)象開始,然后往下一層,再往下一層,直到屬性,不同的對(duì)象之間使用圓點(diǎn)”.”符號(hào)進(jìn)行連接。例如,如果要獲得視場(chǎng)一(sight1)里面的雙態(tài)識(shí)別算子(dual1)的“檢測(cè)結(jié)果”讀數(shù), 如:

        n = sight1.dual1.res

        算子對(duì)象的讀數(shù)在運(yùn)行一次檢測(cè)以后,系統(tǒng)會(huì)自動(dòng)給出結(jié)果,但是,應(yīng)用程序?qū)ο蟮膶傩院芏嗲闆r下,需要用戶在腳本里面進(jìn)行編程計(jì)算,如

        mvs.good = 1,

        這條語句將應(yīng)用程序?qū)ο蟮膅ood屬性設(shè)置為1.

        不同檢測(cè)算子可用讀數(shù)如下表(由于版本不斷變化,請(qǐng)使用實(shí)際名稱)

        檢測(cè)算子

        讀數(shù)名稱

        數(shù)據(jù)類型

        說明

        雙態(tài)檢測(cè)

        res-結(jié)果

        整數(shù)

        模板索引。如果為0表示第一個(gè)模板,如果為1表示第2個(gè)模板。

        定位

        count – 實(shí)例個(gè)數(shù)

        position –位置

        abspos –絕對(duì)位置

        offset – 偏移

        整數(shù)

        點(diǎn)

        點(diǎn)

        2D實(shí)數(shù)

        如果找到實(shí)例,返回1,否則返回0

        多態(tài)檢測(cè)

        result – 結(jié)果(最大分?jǐn)?shù)的模板索引)

        count –已經(jīng)學(xué)習(xí)的模板數(shù)

        pattname – 模板名稱或說明

        score – 當(dāng)前識(shí)別的每個(gè)模板分?jǐn)?shù)值

        整數(shù)

        整數(shù)

        文本

        實(shí)數(shù)

        多態(tài)檢測(cè)的識(shí)別結(jié)果為分?jǐn)?shù)最高的模板索引。除非進(jìn)行了實(shí)際的模板增或減操作,已經(jīng)學(xué)習(xí)的模板數(shù)每次識(shí)別以后都不會(huì)變換。

        模板識(shí)別

        count – 實(shí)例個(gè)數(shù)

        position –位置

        angle – 角度

        整數(shù)

        點(diǎn)

        實(shí)數(shù)

        一維碼

        count – 條碼個(gè)數(shù)

        content –條碼內(nèi)容

        整數(shù)

        文本

        二維碼

        count – 條碼個(gè)數(shù)

        content –條碼內(nèi)容

        整數(shù)

        文本

        BLOB分析

        count – blob個(gè)數(shù)

        offset – 偏移

        width – 寬度

        length – 長(zhǎng)度

        centroid – 質(zhì)心

        dens – 密度

        pixsum – 像素和

        pixavg – 像素平均

        pixvar—像素方差

        strength – 強(qiáng)度

        perim – 周長(zhǎng)

        area – 面積

        circu --  圓度

        slant – 斜率

        rect – 外接矩形

        整數(shù)

        2D實(shí)數(shù)

        整數(shù)

        整數(shù)

        點(diǎn)

        實(shí)數(shù)

        實(shí)數(shù)

        實(shí)數(shù)

        實(shí)數(shù)

        實(shí)數(shù)

        整數(shù)

        整數(shù)

        實(shí)數(shù)

        實(shí)數(shù)

        矩形

        文字識(shí)別

        content –字符內(nèi)容

        文本

        顏色識(shí)別

        result – 結(jié)果

        整數(shù)

        返回顏色索引

        邊距測(cè)量

        result – 結(jié)果

        整數(shù)

        返回實(shí)際的長(zhǎng)度,以像素為單位

        如果結(jié)果有多組相同屬性,那么該屬性即為屬性數(shù)組,需要使用數(shù)組的方式進(jìn)行引用,如

          blob1.offset[1].x

        數(shù)組序號(hào)從1開始。 記住: 凡是有多組相同屬性的的算子,一般都會(huì)提供一個(gè)名稱類似“count”的讀數(shù)表示當(dāng)前有多少組屬性。如:

          n = blob1.count

          m = pmat1.count

        萬一忘記某個(gè)算子的讀數(shù),也可以在對(duì)應(yīng)算子的參數(shù)設(shè)置窗口里面的讀數(shù)頁中得到,如下圖:

        邏輯判斷和條件執(zhí)行

        機(jī)器視覺腳本編程機(jī)大部分上是對(duì)視場(chǎng)中算子的結(jié)果進(jìn)行邏輯運(yùn)行以后,然后對(duì)應(yīng)用程序?qū)ο蟮南嚓P(guān)屬性進(jìn)行賦值的一個(gè)過程。這樣的簡(jiǎn)單的方式,極大地增強(qiáng)軟件的功能,達(dá)到完全滿足用戶需求的目的。下面為腳本編輯的一般過程:

        出于簡(jiǎn)單易用的考慮,機(jī)器視覺大師支持最基本的邏輯判斷表達(dá)式和條件執(zhí)行語句。當(dāng)然,最基本的賦值語句和算術(shù)表達(dá)式是必須支持的。語句不需要結(jié)束符如c語言中的”;”,但是需要使用空格隔開,出于可讀性考慮,建議一個(gè)語句使用一行,最好采用縮進(jìn)結(jié)構(gòu)。

        下表是邏輯運(yùn)算表達(dá)式:

        邏輯運(yùn)算符或關(guān)系運(yùn)算符,算術(shù)運(yùn)算符,括號(hào)等構(gòu)成邏輯表達(dá)式,其結(jié)果只能為true(真)或false(假)。

        支持的邏輯或關(guān)系運(yùn)算符如下:

        算符或關(guān)鍵詞

        說明

        類型

        and

        與,左右兩邊的表達(dá)式為true,結(jié)果才為true,否則為false

        邏輯運(yùn)算符

        or

        或,左右兩邊的任意一個(gè)表達(dá)式為true,結(jié)果為true,否則為false

        邏輯運(yùn)算符

        not

        非,如果右邊的表達(dá)式為true,結(jié)果為false。反之如果右邊的表達(dá)式為false,結(jié)果為true。

        邏輯運(yùn)算符

        <

        小于,左邊的表達(dá)式值如果小于右邊的表達(dá)式值,結(jié)果為true,否則為false.

        關(guān)系運(yùn)算符

        >

        大于,左邊的表達(dá)式值如果大于右邊的表達(dá)式值,結(jié)果為true,否則為false.

        關(guān)系運(yùn)算符

        <=

        小于等于,左邊的表達(dá)式值如果小于等于右邊的表達(dá)式值,結(jié)果為true,否則為false.

        關(guān)系運(yùn)算符

        >=

        大于等于,左邊的表達(dá)式值如果大于等于右邊的表達(dá)式值,結(jié)果為true,否則為false.

        關(guān)系運(yùn)算符

        ==

        等于,左邊的表達(dá)式值如果等于右邊的表達(dá)式值,結(jié)果為true,否則為false.

        關(guān)系運(yùn)算符

        ~=

        不等于,左邊的表達(dá)式值如果不等于右邊的表達(dá)式值,結(jié)果為true,否則為false.

        關(guān)系運(yùn)算符

        算術(shù)表達(dá)式的算符如下:

        一個(gè)表達(dá)式可能由不同的類型的的表達(dá)式組成。這些表達(dá)式在計(jì)算的時(shí)候遵守一定的優(yōu)先順序。運(yùn)算符可以通過括號(hào)括起,括號(hào)里面的運(yùn)算符號(hào)具有最高的優(yōu)先級(jí)。當(dāng)無括號(hào)的情況下,這些運(yùn)算符的從高到低的優(yōu)先順序如下:

        ^

        not,-

        *, /, %

        +, -

        <,  > , <=, >=, ==, ~=

        and

        or

        在機(jī)器視覺大師腳本里面可以隨意定義變量,這些變量不需要申明數(shù)據(jù)類型,直接將算術(shù)表達(dá)式或邏輯表達(dá)式賦值即可。變量的類型根據(jù)表達(dá)式的結(jié)果決定,可以是邏輯類,數(shù)值類或文本類。

        邏輯類的變量只能為true或 false, 文本類的內(nèi)容需要用雙引號(hào)括起。如

        label = “hello, world”

             

               result = sight1.dual1.res == 0

               if  result == true then

                  //do something

               end

        機(jī)器視覺大師可以運(yùn)行不同種類的自動(dòng)檢測(cè)任務(wù)。很多情況下,需要進(jìn)行控制執(zhí)行,對(duì)不同的屬性進(jìn)行賦值,以獲得最終結(jié)果。機(jī)器視覺大師提供基本的控制關(guān)鍵詞如if, while, for等

        if then else

        if語句先測(cè)試其條件,然后根據(jù)測(cè)試結(jié)果執(zhí)行then部分或者else部分,else部分是可選的。如果要編寫嵌套的if,可以使用elseif。如:

        示例一

        if a < 0 then

           a = 0

        end

        示例二

        if a < b then

           a =b

        else

           a = a+1

        end

        示例三

        if op == "+" then

            r = a + b

        elseif op == "-" then

            r = a – b

        end

        while

        while語句評(píng)估邏輯表達(dá)式的值,當(dāng)結(jié)果為true的時(shí)候,執(zhí)行程序塊。如:

        local a = 10
        while a > 0 do
              a = a - 1
        end

        for

        for語句將指定的變量進(jìn)行遞增計(jì)算,循環(huán)一定次數(shù)。如:

        for i= 1, 100, 1 do

          # Do something
        end

        該段語句將反復(fù)執(zhí)行程序段100次。在for語句里面,第一個(gè)數(shù)字為初始值,第二個(gè)數(shù)字為終止值,第三個(gè)數(shù)字為步長(zhǎng),通常情況下為1,如果為1的話,第三個(gè)數(shù)字可以省略。

        如果需要返回不再往下執(zhí)行,可以使用return關(guān)鍵詞進(jìn)行返回。跳出一些循環(huán)塊,可以使用break關(guān)鍵詞。如:

        for i= 1, 100, 1 do

                 if i==50 then

                      break

                 end

        end

        n = 100

        上面的語句段基本算法為當(dāng)i等于50的時(shí)候,跳出循環(huán),然后運(yùn)行n=100語句。

        機(jī)器視覺大師支持不同的檢測(cè)任務(wù)類型,不同的檢測(cè)類型下,可用的應(yīng)用程序?qū)傩詳?shù)量和含義是不一樣的。這些屬性如合格數(shù),在檢測(cè)運(yùn)行過程中將在結(jié)果顯示面板中被顯示出來。下表為支持的所有屬性(全局變量):

        名稱

        說明

        適用的檢測(cè)類型

        數(shù)據(jù)類型

        rd1

        讀數(shù)1

        常規(guī)檢測(cè)(默認(rèn))

        實(shí)數(shù)

        rd2

        讀數(shù)2

        常規(guī)檢測(cè)(默認(rèn))

        實(shí)數(shù)

        rd3

        讀數(shù)3

        常規(guī)檢測(cè)(默認(rèn))

        實(shí)數(shù)

        rd4

        讀數(shù)4

        常規(guī)檢測(cè)(默認(rèn))

        實(shí)數(shù)

        rd5

        讀數(shù)5

        常規(guī)檢測(cè)(默認(rèn))

        實(shí)數(shù)

        rd6

        讀數(shù)6

        常規(guī)檢測(cè)(默認(rèn))

        實(shí)數(shù)

        rd7

        讀數(shù)7

        常規(guī)檢測(cè)(默認(rèn))

        實(shí)數(shù)

        rd8

        讀數(shù)8

        常規(guī)檢測(cè)(默認(rèn))

        實(shí)數(shù)

        good

        合格品

        質(zhì)量檢測(cè)

        布爾類整數(shù),僅為1或0

        ng

        缺陷品

        質(zhì)量檢測(cè)

        布爾類整數(shù),僅為1或0

        count

        當(dāng)前數(shù)

        產(chǎn)品計(jì)數(shù)

        整數(shù)(無小數(shù)部分)

        diff

        差數(shù)

        產(chǎn)品計(jì)數(shù)

        整數(shù)(無小數(shù)部分

        want

        目標(biāo)數(shù)

        產(chǎn)品計(jì)數(shù)

        整數(shù)(無小數(shù)部分

        ms1

        測(cè)量到的實(shí)際值1

        尺寸測(cè)量

        實(shí)數(shù)

        ws1

        目標(biāo)尺寸的標(biāo)準(zhǔn)值1

        尺寸測(cè)量

        實(shí)數(shù)

        dif1

        誤差1

        尺寸測(cè)量

        實(shí)數(shù)

        ms2

        測(cè)量到的實(shí)際值2

        尺寸測(cè)量

        實(shí)數(shù)

        ws2

        目標(biāo)尺寸的標(biāo)準(zhǔn)值2

        尺寸測(cè)量

        實(shí)數(shù)

        dif2

        誤差2

        尺寸測(cè)量

        實(shí)數(shù)

        ms3

        測(cè)量到的實(shí)際值3

        尺寸測(cè)量

        實(shí)數(shù)

        ws3

        目標(biāo)尺寸的標(biāo)準(zhǔn)值3

        尺寸測(cè)量

        實(shí)數(shù)

        dif3

        誤差3

        尺寸測(cè)量

        實(shí)數(shù)

        ms4

        測(cè)量到的實(shí)際值4

        尺寸測(cè)量

        實(shí)數(shù)

        ws4

        目標(biāo)尺寸的標(biāo)準(zhǔn)值4

        尺寸測(cè)量

        實(shí)數(shù)

        dif4

        誤差4

        尺寸測(cè)量

        實(shí)數(shù)

        最后,以一個(gè)實(shí)際檢測(cè)的一個(gè)腳本結(jié)束本文。如下:

        cnt =  sight2.blob1.cnt

        if  cnt  ~= 5 then

            mvs.good = 0

            mvs.ng =1

            return

        end

        for i=1,5 do

           if sight2.blob1.w[i] <25 then

                   mvs.good = 0

                   mvs.ng =1

                   return

          end

            if sight2.blob1.h[i] <12 then

                   mvs.good = 0

                   mvs.ng =1

                   return

          end

        end

        mvs.good =1

        mvs.ng =0

        這個(gè)腳本算法解釋如下:如果sight2中的blob1的個(gè)數(shù)不是5個(gè),那么將good設(shè)置為0,ng屬性設(shè)置為1后,直接返回。否則,逐個(gè)判斷其高度或?qū)挾龋绻缓细駝t進(jìn)行相應(yīng)處理,然后返回。當(dāng)所有的blob寬度和高度完全合格以后,將good設(shè)為1,ng設(shè)為0,然后返回。


         

        狀 態(tài): 離線

        公司簡(jiǎn)介
        產(chǎn)品目錄

        公司名稱: 深圳市精浦科技有限公司
        聯(lián) 系 人: 陳依貝
        電  話: 0755-18820464628
        傳  真: 0755—86062046
        地  址: 深圳市南山區(qū)桃園路193號(hào)
        郵  編: 518057
        主  頁:
         
        該廠商相關(guān)技術(shù)文摘:
        視頻監(jiān)控工件螺絲是否正確鎖住
        更多文摘...
        立即發(fā)送詢問信息在線聯(lián)系該技術(shù)文摘廠商:
        用戶名: 密碼: 免費(fèi)注冊(cè)為中華工控網(wǎng)會(huì)員
        請(qǐng)留下您的有效聯(lián)系方式,以方便我們及時(shí)與您聯(lián)絡(luò)

        關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 本站動(dòng)態(tài) | 友情鏈接 | 法律聲明 | 不良信息舉報(bào)
        工控網(wǎng)客服熱線:0755-86369299
        版權(quán)所有 中華工控網(wǎng) Copyright©2022 Gkong.com, All Rights Reserved

        主站蜘蛛池模板: 欧美肥老太交视频免费 | 成人无码视频| 久久道精品一区二区三区| 国产成人午夜福利院| 四虎影视4hu4虎成人| 亚洲熟女乱色一区二区三区| 欧美成人免费全部观看国产| 色老头在线一区二区三区| 日本一道本高清一区二区| 日韩精品人妻系列无码专区免费| 日韩无矿砖一线二线卡乱| 高潮毛片无遮挡高清视频播放| 国产极品AV嫩模| 成人av天堂网在线观看| 国产精品天干天干综合网| 国产妇女馒头高清泬20p多毛| 日本免费最新高清不卡视频| 亚洲第一福利网站在线观看| 武装少女在线观看高清完整版免费| 亚洲精品无码人妻无码| 在线观看精品自拍视频| 四虎在线播放亚洲成人| 亚洲美女又黄又爽在线观看| 99久久无色码中文字幕| 女性裸体啪啪拍无遮挡的网站 | 精品 日韩 国产 欧美 视频| 国产成人拍精品免费视频| 国产丰满乱子伦无码专区| 91麻豆国产精品91久久久| 国产精品中文字幕第一区| 操操操综合网| 亚洲精品美女久久久久9999| 美女内射无套日韩免费播放| 女人的天堂av在线播放| 亚洲一本二区偷拍精品| 国产麻豆精品福利在线| 久久精品亚洲国产成人av| 免费无码黄十八禁网站| 国内免费视频成人精品| 国产成人一区二区三区视频免费| 成年午夜无码av片在线观看|