亚洲av成人精品日韩一区,97久久久精品综合88久久,玩弄japan白嫩少妇hd,亚洲av片不卡无码久久,玩弄人妻少妇500系列

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

VPLC系列機(jī)器視覺運(yùn)動控制一體機(jī)快速入門(十)

正運(yùn)動技術(shù) ? 2021-11-08 17:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

此前,我們依次講解了軟硬件介紹及計數(shù)實(shí)例、相機(jī)的基本使用、基于形狀匹配的視覺定位、BLOB有無檢測、測量尺寸、機(jī)器視覺方案中使用到的標(biāo)定功能、ZDevelop軟件實(shí)現(xiàn)識別條形碼和二維碼,測量點(diǎn)/直線/圓以及劃痕檢測功能。

本期課程我們和大家一起使用ZDevelop軟件實(shí)現(xiàn)機(jī)器視覺中使用到的OCR功能。

一、 OCR 檢測原理

什么是OCR?

OCR全稱是Optical Character Recognition,即光學(xué)字符識別。在機(jī)器視覺中OCR是指使用圖像處理方法將獲取到的圖像上的黑白字符進(jìn)行分割訓(xùn)練后,識別并輸出對應(yīng)的字符。

2.png

OCR的檢測原理?

在機(jī)器視覺中進(jìn)行OCR檢測時,首先根據(jù)字符(前景)和背景的對比度以及字符的寬度和高度等參數(shù)將字符進(jìn)行分割后提取字符圖像,然后對提取的字符逐一進(jìn)行訓(xùn)練學(xué)習(xí),將所有可能出現(xiàn)的字符進(jìn)行訓(xùn)練學(xué)習(xí)后存儲到訓(xùn)練庫中,在執(zhí)行識別檢測時,將當(dāng)前提取到的字符和訓(xùn)練庫中的字符進(jìn)行對比,輸出相似度滿足條件的字符結(jié)果。

3.png

二 、OCR 應(yīng)用場景

1.驗(yàn)證字符準(zhǔn)確性

可以驗(yàn)證待測產(chǎn)品上印刷字符的準(zhǔn)確性。

2.獲取產(chǎn)品字符信息

可以獲取待測產(chǎn)品上的字符信息上傳數(shù)據(jù)庫或錄入系統(tǒng)。

3.信息對比

可以將待測產(chǎn)品識別出的字符和條碼輸出的信息進(jìn)行對比,判斷字符印刷和條碼信息是否一致。

三、 軟件實(shí)現(xiàn)

(一)流程圖

4.png

(二)實(shí)例演示

1.打開ZDevelop軟件:新建項(xiàng)目→新建HMI文件→新建main.bas文件,用于編寫界面響應(yīng)函數(shù)→新建global_variable.bas文件用于存放全局變量并開啟HMI自動運(yùn)行任務(wù)→新建InitParam.bas文件用于初始化測量參數(shù)→新建camera.bas文件用于實(shí)現(xiàn)相機(jī)采集功能→新建draw.bas文件用于更新繪制圖形刷新界面→文件添加到項(xiàng)目。

5.png

2.設(shè)計HMI界面。

6.png

3.在global_variable.bas文件中定義全局變量,定義完成后運(yùn)行Hmi.hmi文件。

'''''全局變量大部分使用數(shù)組結(jié)構(gòu)'''''

''注:basic編程中很多函數(shù)會以TABLE(系統(tǒng)的數(shù)據(jù)結(jié)構(gòu))做為參數(shù)

''在這里table均是做為中間變量

''table 21-22,鼠標(biāo)按鍵,控件坐標(biāo)系

''table 31-35,旋轉(zhuǎn)矩ROI參數(shù),cx、cy、width、height、angle,控件坐標(biāo)系

''table 41-45,旋轉(zhuǎn)矩形控件坐標(biāo)轉(zhuǎn)換后對應(yīng)的圖像坐標(biāo),圖像坐標(biāo)系

'主任務(wù)狀態(tài)

'0 - 未初始化

'1 - 停止

'2 - 運(yùn)行中

'3 - 正在停止

GLOBAL DIM main_task_state

main_task_state = 1

'采集開關(guān)

'0 - 停止采集

'1 - 請求采集

GLOBAL DIM grab_switch

grab_switch = 0

'相機(jī)個數(shù)

GLOBAL cam_num

cam_num = 0

'相機(jī)種類,"zmotion;mvision;basler;mindvision;huaray"

GLOBAL DIM CAMERA_TYPE(16)

CAMERA_TYPE = "mvision"

' 定義主任務(wù)id - 10

GLOBAL DIM main_task_id

main_task_id = 10

'定義連續(xù)采集任務(wù)id - 9

GLOBAL DIM grab_task_id

grab_task_id = 9

'定義全局圖像變量

GLOBAL ZVOBJECT grabImg '采集圖像

'定義常用顏色變量

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)

'訓(xùn)練的字符庫、輸出的字符結(jié)果

GLOBAL DIM nameSample(32),result(32)

'旋轉(zhuǎn)矩形ROI參數(shù):cx、cy、width、height、angle

GLOBAL DIM d_roi_rect2(5)

'檢測參數(shù):閾值模式、閾值參數(shù)、最小字符面積、最大字符面積、最小字符寬度、最大字符寬度、最小字符高度、最大字符高度、字符極性、形態(tài)學(xué)類型、結(jié)構(gòu)元寬、結(jié)構(gòu)元高、字符最小間距

GLOBAL DIM d_detect_param(13)

'***********定義讀取本地文件功能相關(guān)變量**************

''注意,該功能只在使用仿真器時有效

'定義是否使用本地圖片標(biāo)志

GLOBAL DIM d_use_imgfile

d_use_imgfile=1

'定義本地圖片索引

GLOBAL DIM d_index

d_index=0

'定義讀取圖片的路徑

GLOBAL DIM File_Name(100)

'***********結(jié)束定義讀取本地文件功能相關(guān)變量**********

'運(yùn)行HMI文件

RUN "Hmi1.hmi",1

4.在InitParam.bas文件中初始化測量參數(shù)。

end

GLOBAL SUB init_detect_param()'初始化測量參數(shù)

'初始化roi參數(shù)

d_roi_rect2(0) = 160.0 'roi中心x

d_roi_rect2(1) = 120.0 'roi中心y

d_roi_rect2(2) = 80.0 'roi寬

d_roi_rect2(3) = 60.0 'roi高

d_roi_rect2(4) = 0.0 'roi角度

TABLE(31) = d_roi_rect2(0) '將roi變量賦值給起始地址為31的table數(shù)組

TABLE(32) = d_roi_rect2(1)

TABLE(33) = d_roi_rect2(2)

TABLE(34) = d_roi_rect2(3)

TABLE(35) = d_roi_rect2(4)

'初始化檢測參數(shù):閾值模式、閾值參數(shù)、最小字符面積、最大字符面積、最小字符寬度、最大字符寬度、最小字符高度、最大字符高度、字符極性、形態(tài)學(xué)類型、結(jié)構(gòu)元寬、結(jié)構(gòu)元高、字符最小間距

d_detect_param(0) = 0 '手動閾值

d_detect_param(1) = 187 '低閾值

d_detect_param(2) = 500 '最小字符面積

d_detect_param(3) = 80000 '最大字符面積

d_detect_param(4) = 10 '最小字符寬度

d_detect_param(5) = 500 '最大字符寬度

d_detect_param(6) = 10 '最小字符高度

d_detect_param(7) = 500 '最大字符高度

d_detect_param(8) = 1 '白底黑字

d_detect_param(9) = 1 '開運(yùn)算

d_detect_param(10) = 1 '結(jié)構(gòu)元寬,正奇數(shù)

d_detect_param(11) = 10 '結(jié)構(gòu)元高,正奇數(shù)

d_detect_param(12) = 1 '字符最小間距

nameSample="" '初始化訓(xùn)練字符樣本為空字符串

result=" " '初始化字符結(jié)果變量為空字符串

END SUB

5.關(guān)聯(lián)HMI界面值顯示控件變量。

7.png

具體變量關(guān)聯(lián)操作可參考視頻中相關(guān)內(nèi)容或獲取程序代碼進(jìn)行參考。

6.在main.bas文件中添加HMI界面初始化函數(shù)并在Hmi系統(tǒng)設(shè)置中關(guān)聯(lián)初始化函數(shù)。

'HMI界面初始化函數(shù)

GLOBAL SUB hmi_init()

grab_switch = 0 '初始化采集開關(guān)為停止采集

main_task_state = 1 '初始化主任務(wù)狀態(tài)為停止?fàn)顟B(tài)

'初始化時依據(jù)圖像分辨率設(shè)置區(qū)域的裁剪尺寸,此處圖像分辨率為1280x960

ZV_RESETCLIPSIZE(1280, 960)

'設(shè)置鎖存通道0的大小,以適應(yīng)圖片元件控件大小

ZV_LATCHSETSIZE(0, HMI_CONTROLSIZEX(10, 1), HMI_CONTROLSIZEY(10, 1))

ZV_SETSYSINT("LineWidth",5) '設(shè)置繪制畫筆寬度為5個像素

init_detect_param() '初始化測量參數(shù)

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

END SUB

8.png

7.在camera.bas文件中添加HMI界面中采集相關(guān)按鈕響應(yīng)的函數(shù)并關(guān)聯(lián)動作函數(shù)。

9.png

end


'主界面按下掃描相機(jī)按鈕時響應(yīng)的函數(shù)

GLOBAL SUB cam_scan_all()

if(d_use_imgfile=1)then

?"請先按下使用本地圖片按鈕關(guān)閉該功能"

return

endif

ZV_SETSYSINT("LogLevel", 7) '設(shè)置控制器信息

ZV_SETSYSSTR("DataDir","")

CAM_SCAN(CAMERA_TYPE) '掃描相機(jī),CAMERA_TYPE="mvision"

cam_num = CAM_COUNT() '獲取掃描到的相機(jī)數(shù)量

if (0 = cam_num) then '如果相機(jī)數(shù)量=0,打印提示信息

? "未找到相機(jī)"

return '退出子函數(shù),不往下執(zhí)行

endif

?"cam_num = " cam_num '如果掃描到相機(jī),打印相機(jī)數(shù)量

CAM_SEL(0) '選擇掃描到的第一個相機(jī)進(jìn)行操作

CAM_SETEXPOSURE(5000) '設(shè)置相機(jī)曝光時間為5000us

CAM_SETMODE(0) '設(shè)置軟件觸發(fā)模式

CAM_START(0) '開啟相機(jī)

END SUB

'主界面按下單次采集按鈕執(zhí)行的函數(shù)

GLOBAL SUB btn_grab()

'如果d_use_imgfile=1時使用讀取本地圖片功能,使用控制器時請將此部分代碼注釋掉

if (d_use_imgfile=1) then

if(d_index=3) then

d_index=0

endif

File_Name="\10"+TOSTR(d_index,1,0)+".bmp" '.../flash/10/目錄下的圖片所在的路徑名稱

ZV_IMGREAD(grabImg,File_Name,1)

ZV_LATCH(grabImg, 0)

d_index=d_index+1

return

endif

''讀取本地圖片功能結(jié)束

'如果相機(jī)數(shù)量為0,提示先掃描相機(jī),并退出子函數(shù)不往下執(zhí)行

if cam_num = 0 then

?"請先掃描相機(jī)!"

return

endif

CAM_SETPARAM("TriggerSoftware", 0) '發(fā)送觸發(fā)指令

CAM_GET(grabImg, 0) '獲取一幀圖像存放到grabImg變量中

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

END SUB

'主界面按下連續(xù)采集按鈕響應(yīng)的函數(shù)

GLOBAL SUB btn_cgrab()

if grab_switch =1 then '如果已經(jīng)處于連續(xù)執(zhí)行狀態(tài),打印提示信息并退出函數(shù)

?"正在連續(xù)運(yùn)行中,請勿重復(fù)操作!"

return

endif

if( d_use_imgfile =0) then '如果使用相機(jī)采集功能

if cam_num = 0 then '判斷如果相機(jī)數(shù)量=0,打印提示信息并退出函數(shù)

?"請先掃描相機(jī)!"

return

endif

endif

grab_switch = 1 '采集任務(wù)開關(guān)置1

if (1 = grab_switch) then

if (0 = PROC_STATUS(grab_task_id)) then

RUNTASK grab_task_id, grab_task '開啟連續(xù)采集任務(wù)

endif

endif

END SUB

'采集任務(wù)實(shí)現(xiàn)函數(shù)

grab_task:

while(1)

if (0 = grab_switch) then '如果采集任務(wù)開關(guān)=0即停止采集按鈕按下時

exit while '退出循環(huán)

endif

'grab_switch=1時重復(fù)執(zhí)行以下操作

btn_grab()'單次采集按鈕響應(yīng)的函數(shù)

wend

END

'主界面按下停止采集按鈕響應(yīng)的函數(shù)

GLOBAL SUB btn_stopCgrab()

if grab_switch =0 then '如果已經(jīng)處于停止采集狀態(tài),打印提示信息并退出函數(shù)

?"未開啟連續(xù)采集!"

return

endif

grab_switch = 0 '將采集任務(wù)開關(guān)置0

END SUB

8.在draw.bas文件中添加檢測ROI更新繪制函數(shù),并在自定義元件屬性窗口中關(guān)聯(lián)刷新函數(shù)和繪制函數(shù)。

end

'和繪制(即選擇ROI)有關(guān)的界面的刷新繪制函數(shù)放在這個bas文件里

DIM is_redraw '繪圖標(biāo)志,0表示未進(jìn)行繪制,1表示正在進(jìn)行繪制

is_redraw = 0

DIM hit_pos '定義調(diào)整操作標(biāo)志

'根據(jù)鼠標(biāo)操作更新ROI位置區(qū)域函數(shù)

GLOBAL SUB update_roi()

if mouse_scan(21) = 1 then '掃描鼠標(biāo)按下操作

'只有按下時可以改變擊中位置,獲取鼠標(biāo)點(diǎn)擊位置對應(yīng)的擊中區(qū)域編號

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

is_redraw = 1 '繪圖標(biāo)志置1

endif

if mouse_scan(21) = -1 then '掃描鼠標(biāo)松開操作

'根據(jù)區(qū)域編號調(diào)整roi區(qū)域位置

ZV_HMIADJRECT2(table(21), table(22), 31, hit_pos)

is_redraw = 1 '繪圖標(biāo)志置1

endif

if (MOUSE_state(21)) then '鼠標(biāo)按下時

'根據(jù)區(qū)域編號調(diào)整roi區(qū)域位置

ZV_HMIADJRECT2(table(21), table(22), 31, hit_pos)

is_redraw = 1 '繪圖標(biāo)志置1

endif

if (1 = is_redraw) then '如果繪制標(biāo)志=1

is_redraw = 0 '繪圖標(biāo)志置0

'控件roi坐標(biāo)轉(zhuǎn)圖像roi坐標(biāo),控件坐標(biāo)存放在起始地址為111的數(shù)組,圖像坐標(biāo)存放在起始地址為50的數(shù)組

ZV_POSTOIMG(0, 1, 31, 41)

d_roi_rect2(0) = TABLE(41)'將圖像坐標(biāo)的數(shù)據(jù)賦值給ROI變量

d_roi_rect2(1) = TABLE(42)

d_roi_rect2(2) = ZV_LENTOIMG(0, TABLE(33))

d_roi_rect2(3) = ZV_LENTOIMG(0, TABLE(34))

d_roi_rect2(4) = TABLE(35)

SET_REDRAW '重新繪制全部區(qū)域

endif

END SUB

'ROI區(qū)域更新后實(shí)時繪制ROI區(qū)域

GLOBAL SUB draw_roi()

SET_COLOR(C_BLUE) '設(shè)置畫筆顏色為藍(lán)色

ZV_HMIRECT2(31, 300) '將旋轉(zhuǎn)矩形roi分解為HMI支持的繪圖圖元并添加控制參數(shù),便于HMI繪圖顯示

DRAWLINE(TABLE(300), TABLE(301), TABLE(302), TABLE(303)) '繪制外矩形

DRAWLINE(TABLE(302), TABLE(303), TABLE(304), TABLE(305))

DRAWLINE(TABLE(304), TABLE(305), TABLE(306), TABLE(307))

DRAWLINE(TABLE(306), TABLE(307), TABLE(300), TABLE(301))

DRAWLINE(TABLE(308), TABLE(309), TABLE(310), TABLE(311)) '繪制方向箭頭

DRAWLINE(TABLE(312), TABLE(313), TABLE(310), TABLE(311))

DRAWLINE(TABLE(314), TABLE(315), TABLE(310), TABLE(311))

END SUB

10.png

9.在main.bas文件中添加HMI界面按下【提取訓(xùn)練】按鈕時響應(yīng)的函數(shù)并關(guān)聯(lián)動作函數(shù)名。

'HMI界面按下提取字符按鈕時響應(yīng)的函數(shù)

GLOBAL SUB btn_segment()

'定義檢測需要用到的變量:分割參數(shù)、樣本圖片庫、訓(xùn)練樣本庫、OCR分類器、結(jié)果圖片

GLOBAL ZVOBJECT param,sample,trainSample,ocr,colorImg

'根據(jù)界面輸入?yún)?shù)生成分割參數(shù)

ZV_OCRSEGSETPARAM_(param,d_detect_param(0),d_detect_param(1),d_detect_param(2),d_detect_param(3),d_detect_param(4),d_detect_param(5),d_detect_param(6),d_detect_param(7),d_detect_param(8),d_detect_param(9),d_detect_param(10),d_detect_param(11),d_detect_param(12))

'根據(jù)分割參數(shù)和檢測區(qū)域進(jìn)行字符分割,分割的字符樣本圖片存放到sample變量中

ZV_OCRSEGCHAR_(grabImg,param,sample,d_roi_rect2(0),d_roi_rect2(1),d_roi_rect2(2),d_roi_rect2(3),d_roi_rect2(4))

'獲取樣本數(shù)量,存放到table(100)中

ZV_OCRSAMPLECNT_(sample,100)

'灰度圖轉(zhuǎn)換到RGB圖,作為結(jié)果圖像

ZV_GRAYTORGB(grabImg, colorImg)

if(TABLE(100)>0) then '如果識別到的字符數(shù)量大于0

for i=0 to TABLE(100)-1'根據(jù)識別到的字符次數(shù)進(jìn)行循環(huán)

ZV_OCRSAMPLERECT2_(sample,i,150)'獲取每個樣本字符的最小外接矩陣,用于顯示分割結(jié)果

'將樣本的最小外接矩陣?yán)L制到界面中

ZV_RECT2(colorImg,table(150),table(151),table(152),table(153),table(154),C_GREEN)

next

elseif (TABLE(100)=0) then '如果未分割提取到字符

?"未成功分割提取出字符!" '打印提示并退出執(zhí)行

return

endif

ZV_LATCH(colorImg,0)'在鎖存通道0中顯示結(jié)果圖像

if (STRCOMP(nameSample, "")=0)then '如果輸入的訓(xùn)練字符樣本是空的

?"請先輸入訓(xùn)練字符樣本再重新分割訓(xùn)練!" '打印提示

return '返回子函數(shù),不往下執(zhí)行

endif

'清空OCR分類器

ZV_CLEAR(ocr)

if(ZV_ISEMPTY(trainSample)=0) then '如果訓(xùn)練樣本庫不為空

ZV_OCRSAMPLECLR_(trainSample)'在訓(xùn)練字符之前先清空樣本庫

endif

'根據(jù)輸入的訓(xùn)練庫字符生成訓(xùn)練樣本庫

ZV_OCRSAMPLEAPP_(sample,trainSample,nameSample)

'使用訓(xùn)練樣本庫訓(xùn)練分類器,0.8為優(yōu)化參數(shù)(懲罰系數(shù)),表示分類器的預(yù)測能力, 越小預(yù)測能力越強(qiáng)但越容易出錯,范圍[0,1],建議 0.8;

'0.15為徑向基核參數(shù),表示非線性映射能力,值越大非線 性映射能力就越強(qiáng),范圍[0,1],建議 0.15

ZV_OCRTRAINSVM_(trainSample,ocr,0.8,0.15)

if(ZV_ISEMPTY(ocr)=0) then '如果分類器訓(xùn)練成功

?"字符分割訓(xùn)練已完成!" '打印成功提示

else

?"訓(xùn)練字符和分割提取的字符不匹配!"

endif

END SUB

11.png

10.在main.bas文件中添加HMI界面按下【識別】按鈕時響應(yīng)的函數(shù)并關(guān)聯(lián)動作函數(shù)名。

'HMI界面按下識別按鈕時響應(yīng)的函數(shù)

GLOBAL SUB btn_test()

result=" " '清空字符結(jié)果變量

'根據(jù)界面輸入?yún)?shù)生成分割參數(shù)

ZV_OCRSEGSETPARAM_(param,d_detect_param(0),d_detect_param(1),d_detect_param(2),d_detect_param(3),d_detect_param(4),d_detect_param(5),d_detect_param(6),d_detect_param(7),d_detect_param(8),d_detect_param(9),d_detect_param(10),d_detect_param(11),d_detect_param(12))

'根據(jù)分割參數(shù)和檢測區(qū)域進(jìn)行字符分割,分割的字符樣本存放到sample變量中

ZV_OCRSEGCHAR_(grabImg,param,sample,d_roi_rect2(0),d_roi_rect2(1),d_roi_rect2(2),d_roi_rect2(3),d_roi_rect2(4))

'獲取分割到的字符數(shù)量,存放到table(100)中

ZV_OCRSAMPLECNT_(sample,100)

if(TABLE(100)=0) then '如果未分割提取到字符

?"未成功分割提取出字符!" '打印提示并退出執(zhí)行

return

endif

'使用訓(xùn)練樣本和分類器識別字符并輸出字符結(jié)果到起始地址為50的變量中

ZV_OCRCLASSIFYSVM_(ocr,sample,32,50)

'獲取識別到的字符數(shù)量,存放到table(100)中

ZV_OCRSAMPLECNT_(sample,100)

'灰度圖轉(zhuǎn)換到RGB圖,作為結(jié)果圖像

ZV_GRAYTORGB(grabImg, colorImg)

if(TABLE(100)>0) then '如果識別到的字符數(shù)量大于0

for i=0 to TABLE(100)-1'將字符結(jié)果循環(huán)賦值給結(jié)果變量顯示到界面中

result(i)=TABLE(50+i)

ZV_OCRSAMPLERECT2_(sample,i,150)'獲取每個樣本字符的最小外接矩陣,用于顯示分割結(jié)果

'將樣本的最小外接矩陣?yán)L制到界面中

ZV_RECT2(colorImg,table(150),table(151),table(152),table(153),table(154),C_GREEN)

next

endif

ZV_LATCH(colorImg,0)'在鎖存通道0中顯示結(jié)果圖像

END SUB

12.png

11.在main.bas文件中添加【運(yùn)行】按鈕響應(yīng)的函數(shù)并關(guān)聯(lián)動作函數(shù)。

'HMI界面按下運(yùn)行按鈕時響應(yīng)的函數(shù)

GLOBAL SUB btn_run()

if(2 = main_task_state) then '如果主任務(wù)處于運(yùn)行中狀態(tài)

?"已經(jīng)開啟連續(xù)運(yùn)行任務(wù),請勿重復(fù)操作!" '打印提示

return

endif

if (1 = main_task_state) then '如果主任務(wù)處于停止?fàn)顟B(tài)

if (0 = PROC_STATUS(main_task_id)) then'如果程序中任務(wù)未開啟

main_task_state = 2 '將主任務(wù)狀態(tài)設(shè)置為運(yùn)行中狀態(tài)

RUNTASK main_task_id, main_task'開啟主任務(wù)

endif

endif

END SUB

'主任務(wù)執(zhí)行的函數(shù)

main_task:

while(1)

'如果主任務(wù)狀態(tài)處于正在停止?fàn)顟B(tài)即停止按鈕按下時

if (3 = main_task_state) then

main_task_state = 1'將主任務(wù)狀態(tài)設(shè)置為停止?fàn)顟B(tài)

exit while '退出循環(huán)

endif

'否則循環(huán)執(zhí)行采集和識別函數(shù)

btn_grab()

btn_test()

wend

END

13.png

12.在main.bas文件中添加【停止】按鈕響應(yīng)的函數(shù)并關(guān)聯(lián)動作函數(shù)。

'HMI界面按下停止按鈕時響應(yīng)的函數(shù)

GLOBAL SUB btn_stop()

if (2 = main_task_state) then '如果主任務(wù)狀態(tài)處于2即任務(wù)運(yùn)行中時

main_task_state = 3 '將主任務(wù)狀態(tài)置為3,退出循環(huán)

endif

END SUB

14.png

(三)仿真演示效果

15.png

16.png

17.png

本次,正運(yùn)動技術(shù)VPLC系列機(jī)器視覺運(yùn)動控制一體機(jī)快速入門(十)——OCR功能,就分享到這里。

更多精彩內(nèi)容請關(guān)注“正運(yùn)動小助手”公眾號,需要相關(guān)開發(fā)環(huán)境與例程代碼,請咨詢正運(yùn)動技術(shù)銷售工程師:400-089-8936。

本文由正運(yùn)動技術(shù)原創(chuàng),歡迎大家轉(zhuǎn)載,共同學(xué)習(xí),一起提高中國智能制造水平。文章版權(quán)歸正運(yùn)動技術(shù)所有,如有轉(zhuǎn)載請注明文章來源。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 機(jī)器視覺
    +關(guān)注

    關(guān)注

    163

    文章

    4596

    瀏覽量

    122888
  • 字符識別
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    8799
  • OCR
    OCR
    +關(guān)注

    關(guān)注

    0

    文章

    161

    瀏覽量

    16794
  • 正運(yùn)動技術(shù)

    關(guān)注

    0

    文章

    120

    瀏覽量

    645
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    工業(yè)一體機(jī)應(yīng)用在機(jī)器視覺領(lǐng)域上都有哪些常見性能優(yōu)勢?

    隨著工業(yè)化的進(jìn)程和技術(shù)的不斷發(fā)展,工業(yè)機(jī)器視覺成為現(xiàn)代工業(yè)生產(chǎn)中不可或缺的部分。作為工業(yè)機(jī)器視覺技術(shù)的核心組件之
    的頭像 發(fā)表于 05-06 11:50 ?176次閱讀

    機(jī)器視覺運(yùn)動控制一體機(jī)視覺點(diǎn)膠滴藥機(jī)上的應(yīng)用

    運(yùn)動視覺點(diǎn)膠滴藥機(jī)解決方案
    的頭像 發(fā)表于 04-10 10:04 ?289次閱讀
    <b class='flag-5'>機(jī)器</b><b class='flag-5'>視覺</b><b class='flag-5'>運(yùn)動</b><b class='flag-5'>控制</b><b class='flag-5'>一體機(jī)</b>在<b class='flag-5'>視覺</b>點(diǎn)膠滴藥機(jī)上的應(yīng)用

    DELTA并聯(lián)機(jī)械手視覺方案榮獲2024年度機(jī)器人應(yīng)用典型案例獎

    基于機(jī)器視覺運(yùn)動控制一體機(jī)在DELTA視覺柔振上下料領(lǐng)域的應(yīng)用
    的頭像 發(fā)表于 01-13 16:42 ?410次閱讀
    DELTA并聯(lián)機(jī)械手<b class='flag-5'>視覺</b>方案榮獲2024年度<b class='flag-5'>機(jī)器</b>人應(yīng)用典型案例獎

    工業(yè)一體機(jī)在工業(yè)視覺設(shè)備中的應(yīng)用

    工業(yè)一體機(jī)在工業(yè)視覺設(shè)備中的應(yīng)用分廣泛,以下是對其應(yīng)用的詳細(xì)分析:
    的頭像 發(fā)表于 01-08 16:40 ?326次閱讀

    高集成機(jī)器視覺運(yùn)動控制一體機(jī)VPLC712!

    緊湊型機(jī)器視覺運(yùn)動控制一體機(jī)!
    的頭像 發(fā)表于 12-20 09:55 ?728次閱讀
    高集成<b class='flag-5'>機(jī)器</b><b class='flag-5'>視覺</b><b class='flag-5'>運(yùn)動</b><b class='flag-5'>控制</b><b class='flag-5'>一體機(jī)</b><b class='flag-5'>VPLC</b>712!

    機(jī)器視覺運(yùn)動控制一體機(jī)在DELTA并聯(lián)機(jī)械手視覺上下料應(yīng)用

    機(jī)器視覺運(yùn)動控制一體機(jī)在DELTA并聯(lián)機(jī)械手視覺上下料的應(yīng)用
    的頭像 發(fā)表于 10-24 09:02 ?1050次閱讀
    <b class='flag-5'>機(jī)器</b><b class='flag-5'>視覺</b><b class='flag-5'>運(yùn)動</b><b class='flag-5'>控制</b><b class='flag-5'>一體機(jī)</b>在DELTA并聯(lián)機(jī)械手<b class='flag-5'>視覺</b>上下料應(yīng)用

    聚徽-工控一體機(jī)有什么創(chuàng)新

    工控一體機(jī)作為新代的工業(yè)控制設(shè)備,具有多項(xiàng)創(chuàng)新點(diǎn),這些創(chuàng)新使得工控一體機(jī)能夠更好地滿足工業(yè)控制的需求,提高自動化生產(chǎn)的效率和質(zhì)量。
    的頭像 發(fā)表于 09-14 09:34 ?680次閱讀

    藍(lán)海華騰參股公司頂控科技發(fā)布運(yùn)動控制一體機(jī)系列產(chǎn)品

    藍(lán)海華騰參股公司深圳市頂控科技有限公司運(yùn)動控制一體機(jī)系列產(chǎn)品上市!本次新品發(fā)布會發(fā)布三個系列產(chǎn)品,這三個
    的頭像 發(fā)表于 09-03 09:28 ?856次閱讀

    機(jī)器視覺運(yùn)動控制一體機(jī)VPLC532E在汽車膠帶纏繞的開放式CNC應(yīng)用

    機(jī)器視覺運(yùn)動控制一體機(jī)VPLC532E在汽車膠帶纏繞的開放式CNC應(yīng)用
    的頭像 發(fā)表于 08-19 10:03 ?700次閱讀
    <b class='flag-5'>機(jī)器</b><b class='flag-5'>視覺</b><b class='flag-5'>運(yùn)動</b><b class='flag-5'>控制</b><b class='flag-5'>一體機(jī)</b><b class='flag-5'>VPLC</b>532E在汽車膠帶纏繞的開放式CNC應(yīng)用

    VPLC系列機(jī)器視覺運(yùn)動控制一體機(jī)在五軸聯(lián)動點(diǎn)膠上的應(yīng)用

    技術(shù)針對現(xiàn)有市場需求,開發(fā)了種基于VPLC系列機(jī)器視覺運(yùn)動
    發(fā)表于 07-29 14:29