視頻教程:《 VPLC系列機器視覺運動控制一體機快速入門(一)》
今天,正運動技術為大家分享一下《VPLC系列機器視覺運動控制一體機快速入門(一)》。
近年來隨著科學技術的進步,作為21世紀三大尖端技術之一的人工智能得到飛速發展。而視覺技術作為人工智能領域的一個分支,也隨之發展,各行各業也漸漸開始進行技術變革。一些傳統的需要人工檢測的行業,開始逐漸采用自動化的智能檢測方式。比如,使用相機代替人眼去觀察檢測的對象;采用程序算法來模擬人的意識進行判斷,針對圖像信息進行分析推理,得到圖像處理結果。
正運動技術將攜帶自主研發的一款VPLC視覺運動控制器全力支持機器視覺自動化檢測行業的發展,為各行各業的專業人士提供機器視覺+運動控制的解決方案。
相機拍攝圖像時,圖像發射的光通過鏡頭在CCD 上成像,光到達 CCD 的某個像素時,將根據光的強度產生相應的電荷將該電荷的大小讀取為電信號,即可獲得各像素上光的強度(即像素濃度值,也可以叫灰度值)。
機器視覺的工作原理是使用光學系統和圖像處理設備來模擬人類視覺功能,從采集到的目標圖像中提取信息并進行處理,獲取所需的檢測對象信息,并加以分析和判斷,將最終結果告知給硬件設備進行機器設備,以指引機器設備的下一步動作。
一個完整的機器視覺系統由多個模塊組成,一般包括光學系統(光源、鏡頭、相機)、圖像處理系統, 交互界面等。
對于機器視覺項目來說,檢測實現的前提就是圖像輸入,而圖像輸入離不開工業相機。相機是一種將光信號轉化為數字信號或模擬信號的工具,是采集圖像的重要設備,是機器視覺系統中的核心部件。
相機廣泛應用于各個領域,尤其是用于生產監控、測量任務和質量控制等。工業數字相機通常比常規的標準數字相機更加堅固耐用。工業生產的環境決定了工業相機必須能夠應對各種復雜多變的外部影響,如應用于高溫、高濕、粉塵等惡劣環境。
1.分辨率
分辨率代表鏡頭記錄物體細節的能力,以每毫米能夠分辨黑白對線的數量為計量單位,“線對/毫米(lp/mm)”,分辨率越高的成像越清晰。我們常說的顯示分辨率是屏幕圖像的精密度,指圖形所能顯示像素有多少。分辨率高帶來的圖像數據量就大,一般分辨率大的相機,幀率一般都不會太高,常見相機像素分辨率如下:
640x480=307200(30萬)
1280×1024=1310720(130萬)
1600×1200=1920000(200萬)
2560×1920=4915200(500萬)
3672×2754=10112688(1000萬)
2.像素深度(Pixel Depth)
即每像素數據的位數,一般常用的是8Bit,一幅彩色圖像的每個像素用R,G,B三個分量表示,若每個分量用8位,那么一個像素共用24位表示,就說像素的深度為24,每個像素可以是224種顏色中的一種。在這個意義上,往往把像素深度說成是圖像深度。表示一個像素的位數越多,它能表達的顏色數目就越多,而它的像素深度就越深。
3. 最大幀率(Frame Rate)/行頻(Line Rate)
相機采集傳輸圖像的速率,對于面陣相機一般為每秒采集的幀數(Frames/Sec.),對于線陣相機為每秒采集的行數(Lines/Sec.)。
4. 曝光方式(Exposure)和快門速度(Shutter)
對于線陣相機都是逐行曝光的方式,可以選擇固定行頻和外觸發同步的采集方式,曝光時間可以與行周期一致,也可以設定一個固定的時間;面陣相機有幀曝光、場曝光和滾動行曝光等幾種常見方式,數字相機一般都提供外觸發采圖的功能。快門速度一般可到10微秒,高速相機還可以更快。
5. 光譜響應特性(Spectral Range)
是指該像元傳感器對不同光波的敏感特性,一般響應范圍是350nm-1000nm,一些相機在靶面前加了一個濾鏡,濾除紅外光線,如果系統需要對紅外感光時可去掉該濾鏡。
6.接口類型
有Camera Link接口,以太網接口,1394接口、USB接口等。
正運動技術的VPLC516E是一款內嵌開放式Linux系統的視覺運動控制器,是國內首款嵌入式運動控制+機器視覺于一身的一體機。圖片
ZDevelop是正運動技術自主開發的調試軟件,通過它用戶能夠很容易的對控制器進行配置快速開發應用程序以及對運動控制器正在運行的程序進行實時調試,ZDevelop軟件可通過使用串口或網口連接控制器,程序下載到控制器時可選ROM掉電保存下載或RAM掉電不保存下載方式,掉電保存的程序可以直接脫機運行。
支持四種編程方式,分別為Zvision、ZBasic、ZPLC梯形圖、ZHMI組態界面,使用ZDevelop軟件編寫的程序可以下載到正運動控制器里,也可以在PC平臺仿真運行。
ZVision Basic是正運動技術自主開發的視覺編程語言,通過視覺指令在ZDevelop軟件中進行視覺程序的開發,編寫完項目程序后可直接下載入VPLC控制器進行操作。
ZVision Basic語言具有標準的命名規則,簡單易懂,能夠用簡短的視覺指令就能完成視覺功能的實現,目前支持視覺定位,視覺測量,數據碼識別,Blob塊狀物檢測,缺陷檢測等多種視覺算子。
下面介紹一個簡單的圖像處理的例子。首先在ZDevelop中利用圖像采集接口,使用網口相機實時拍攝圖像。采集到圖像后對圖像進行簡單的閾值分割處理,將有物體的區域標記出來,進行對圖像中的區域統計零件數量
(1)首先在ZDevelop新建hmi界面,創建一個圖片元件窗口,設置相關的鎖存通道編號。
(2)采集圖像,如果需要連續地采集圖像,要建立圖像采集循環在循環中使用。
(3)簡單處理圖像。獲取到圖像保存到GrabImg變量中,接下來根據圖像進一步處理,接下來根據圖像進一步處理,如二值化處理、膨脹、腐蝕、開閉運算等處理,以獲取到清晰的圖像質量為主。本例中相機使用的是黑白相機,如果使用的是彩色相機則需要通過ZV_RGBTOGRAY將原始圖像改為單通道的灰度圖像,開始生成整個圖像的區域,對整個圖像的區域進行二值處理,將區域中黑色部分提取出來存放到區域變量中。
(4)接著使用ZV_RECONNECT指令計算生成連通區域列表,通過ZV_REFILTER指令將列表中面積合適的區域提取出來,排除干擾的小雜點,提取出每個區域并且進行繪制ZV_REGION將區域繪制出來。
(5)零件數量獲取使用ZV_LISTCOUNT,將區域列表中的數量獲取到寄存器TABLE 數組TABLE(0)中。
ZVOBJECT ShowImg,ColorGrabImg,Region,MASk,RegionConnecte,BinaryImage,Region_Id
DIM Count,ShowString(100),File_Name(100)
Count=0
while 1
if Count=6 then
Count=0
end if
File_Name=TOSTR(Count,1,0)+".bmp"
ZV_READIMAGE(ShowImg,File_Name,1) '讀取本地圖像
ZV_LATCH(ShowImg,0) '顯示圖像
ZV_REGENFULLIMG(ShowImg,Mask) '全圖像區域處理
ZV_RETHRESH(ShowImg,Mask,Region,0,128) '對Mask 指定區域內圖像進行二值化,生成二值化后的區域
ZV_REFILLUP(Region,Region) '孔洞填充,去除零件中的白色部分
ZV_RECONNECT(Region,RegionConnecte) '計算區域的連通區域
ZV_REFILTER(RegionConnecte,0,1500,15000,0) '對區域列表中的區域進行過濾,保留面積在1500到15000的區域,面積不在此范圍的區域將被過濾
ZV_LISTCOUNT(RegionConnecte,0)'獲取列表中的連通區域的數量
ZV_GRAYTORGB(ShowImg,ShowImg) '灰度圖像轉RGB圖像
DELAY(100)
PRINT "零件數量為:"tostr(TABLE(0),1,0) '打印輸出結果
for i=0 to TABLE(0)-1 '遍歷輸出圖像顯示
ZV_IMGCOPY(ShowImg,ColorGrabImg)
ShowString=TOSTR(i+1,1,0)
ZV_LISTGET(RegionConnecte,Region_Id,i)'獲取列表中序號為0的元素
ZV_REGION(ColorGrabImg,Region_Id,0,zv_color(0,0,255)) '對每個區域進行繪制紅色
ZV_TEXT(ColorGrabImg,"零件統計個數:"ShowString,10,10,120,ZV_COLOR(255,255,0))
ZV_LATCH(ColorGrabImg,1)
ZV_CLEAR(ColorGrabImg)
DELAY(50)
next
DELAY(100)
Count=Count+1
wend
本文由正運動技術原創,歡迎大家轉載,共同學習,一起提高中國智能制造水平。文章版權歸正運動技術所有,如有轉載請注明文章來源。
-
機器視覺
+關注
關注
162文章
4379瀏覽量
120402 -
正運動技術
+關注
關注
0文章
102瀏覽量
428
發布評論請先 登錄
相關推薦
評論