




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1.11.2機器視覺HALCON介紹 HALCON編程基礎(chǔ)與工程應(yīng)用第1章 機器視覺和HALCON機器視覺軟件1.1 機器視覺 1.1.1 機器視覺簡介HALCON編程基礎(chǔ)與工程應(yīng)用 機器視覺(Machine vision)是一項綜合技術(shù),包括圖像處理、機械工程技術(shù)、電氣控制技術(shù)、光源照明、光學成像、傳感器、模擬與數(shù)字視頻技術(shù)、計算機軟硬件技術(shù)(圖像增強和分析算法、圖像采集卡、I/O卡等)。一個典型的機器視覺應(yīng)用系統(tǒng)包括圖像捕捉、光源系統(tǒng)、圖像數(shù)字化模塊、數(shù)字圖像處理模塊、智能判斷決策模塊和機械控制執(zhí)行模塊。1.1 機器視覺 1.1.1 機器視覺簡介HALCON編程基礎(chǔ)與工程應(yīng)用1.1 機器視
2、覺 1.1.1 機器視覺簡介HALCON編程基礎(chǔ)與工程應(yīng)用1.1.2 機器視覺關(guān)鍵技術(shù)與發(fā)展HALCON編程基礎(chǔ)與工程應(yīng)用1.1 機器視覺1.機器視覺系統(tǒng)基本構(gòu)成 一個典型的工業(yè)機器視覺系統(tǒng)包括:光源、鏡頭(定焦鏡頭、變倍鏡頭、遠心鏡頭、顯微鏡頭)、相機(包括CCD相機或COMS相機)、圖像處理單元(或圖像采集卡)、圖像處理軟件、監(jiān)視器、通訊單元及輸入輸出單元等。1.1.2 機器視覺關(guān)鍵技術(shù)與發(fā)展HALCON編程基礎(chǔ)與工程應(yīng)用1.1 機器視覺2.機器視覺主要關(guān)鍵技術(shù) 機器視覺技術(shù),是一門涉及人工智能、神經(jīng)生物學、心理物理學、計算機科學、圖像處理、模式識別等諸多領(lǐng)域的交叉學科。機器視覺主要用計算
3、機來模擬人的視覺功能,從客觀事物的圖像中提取信息,進行處理并加以理解,最終用于實際檢測、測量和控制。機器視覺技術(shù)最大的特點是速度快、信息量大、功能多。1.1.2 機器視覺關(guān)鍵技術(shù)與發(fā)展HALCON編程基礎(chǔ)與工程應(yīng)用1.1 機器視覺3.機器視覺的發(fā)展 機器視覺技術(shù)是計算機學科的一個重要分支,自起步發(fā)展至今,其功能以及應(yīng)用范圍隨著工業(yè)自動化的發(fā)展逐漸完善和推廣。 20世紀50年代開始研究二維圖像的統(tǒng)計模式識別。 60年代Roberts開始進行三維機器視覺的研究。 70年代中,MIT人工智能實驗室正式開設(shè)“機器視覺”的課程。 80年代開始,開始了全球性的研究熱潮,機器視覺獲得了蓬勃發(fā)展,新概念、新理
4、論不斷涌現(xiàn)。1.2.1 HDevelop介紹HALCON編程基礎(chǔ)與工程應(yīng)用1.2 HALCON介紹1.集成開發(fā)環(huán)境-HDevelop HALCON提供交互式的編程環(huán)境HDevelop,可在Windows,Linux,Unix下使用,使用HDevelop可使用戶快速有效的解決圖像處理問題。1.2.1 HDevelop介紹HALCON編程基礎(chǔ)與工程應(yīng)用1.2 HALCON介紹1.2.1 HDevelop介紹HALCON編程基礎(chǔ)與工程應(yīng)用1.2 HALCON介紹 HDevelop能直接連接采集卡和相機,從采集卡、相機或者文件中載入圖像,檢查圖像數(shù)據(jù),進而開發(fā)一個視覺檢測方案,并能測試不同算子或者參數(shù)
5、值的計算效果,保存后的視覺檢測程序,可以導出以C+、C#、C、Visual Basic,或者VB.NET支持的程序,進行混合編程。 HDevelop編程方式具有的優(yōu)點是:(1)很好的支持所有HALCON 算子;(2)方便檢查可視數(shù)據(jù);(3)方便選擇、調(diào)試和編輯參數(shù);(4)方便技術(shù)支持。2.標準的開發(fā)流程HALCON編程基礎(chǔ)與工程應(yīng)用1.2 HALCON介紹3.交互式并行編程環(huán)境HALCON編程基礎(chǔ)與工程應(yīng)用1.2 HALCON介紹 HALCON提供支持多CPU處理器的交互式并行編程環(huán)境Paralell Develop, 其繼承了單處理器版HDevelop的所有特點,在多處理器計算機上會自動將數(shù)
6、據(jù)(比如圖像)分配給多個線程,每一個線程對應(yīng)一個處理器,用戶無需改動已有的HALCON程序,就立即獲得顯著的速度提升。 并行HALCON不僅是線程安全的,而且可以多次調(diào)用,因此,多個線程可在同一時刻同時調(diào)用HALCON操作。此特性使得機器視覺應(yīng)用軟件可以將一個任務(wù)分解,在不同的處理器上并行處理,并行HALCON可以使用戶使用最新的超級線程技術(shù)。1.2.2 HALCON功能及應(yīng)用簡介HALCON編程基礎(chǔ)與工程應(yīng)用1.2 HALCON介紹1BLOB分析 BLOB包括標準閾值分割,動態(tài)分割以及其他附加的圖像分割算子,HALCON可以快速實現(xiàn)BLOB分析。2形態(tài)學 HALCON可以基于任意結(jié)構(gòu)元素針對
7、Region和image的腐蝕、膨脹、開/閉運算。3圖像特征轉(zhuǎn)換為Region/XLD特性 HALCON獨特的數(shù)據(jù)結(jié)構(gòu)Region/XLD可以保證圖像處理的快速準確。4圖像的運算 HALCON為了實現(xiàn)圖像處理的各種目的可以進行圖像的代數(shù)運算,邏輯運算,幾何運算。1.2.2 HALCON功能及應(yīng)用簡介HALCON編程基礎(chǔ)與工程應(yīng)用1.2 HALCON介紹5傅立葉變換實現(xiàn)圖像的空間域和頻域之間的變換。6標定利用HALCON本身的標定板,通過幾個內(nèi)外攝像頭參數(shù)實現(xiàn)快速標定。7匹配基于相關(guān)性匹配,基于形狀匹配,基于灰度值匹配等等;即使目標發(fā)生旋轉(zhuǎn)、放縮、局部變形、部分遮擋或者光照有非線性變化,HALC
8、ON利用XLD匹配技術(shù)可實時地有效、準確地找到目標。8測量HALCON提供有1D測量、2D測量、3D測量,HALCON邊緣提取輸出正像素輪廓,達到最高精度,保證了測量的精準性。第2章 HALCON編程基礎(chǔ)HALCON軟件的編程環(huán)境Hdevelop是交互式的,它的操作窗口和編程界面簡潔、易操作。本章主要介紹Hdevelop的使用,并介紹HALCON的控制語句,以及編程環(huán)境下圖像的讀取、顯示和轉(zhuǎn)換。 HALCON編程基礎(chǔ)與工程應(yīng)用2.4HDevelop應(yīng)用界面介紹HALCON控制語句 HALCON算子 HALCON圖像讀取、顯示和轉(zhuǎn)換Blob分析第2章 HALCON編程基礎(chǔ)HAL
9、CON編程基礎(chǔ)與工程應(yīng)用2.1 HDevelop應(yīng)用界面介紹 HDevelop圖形組件是開始視覺處理算法的一個很好的工具,其類似于VC、VB、Delphi等編譯環(huán)境,它有自己的交互式界面,可以編譯和測試視覺處理算法,可以方便查看處理結(jié)果,也可以導出算法代碼。HALCON編程基礎(chǔ)與工程應(yīng)用1. HDevelop預(yù)覽HALCON安裝完成后,點擊圖標運行HALCON軟件,下面介紹其主要的界面。1.主界面整個界面分為標題欄、菜單欄、工具欄、狀態(tài)欄和四個活動界面窗口,四個活動界面窗口分別是圖像變量窗口、算子窗口、變量窗口和程序窗口,如圖2-1所示。如果窗口排列不整齊,可以選擇菜單欄窗口排列窗口,重新排列
10、窗口。圖 2-1 HALCON主界面HALCON編程基礎(chǔ)與工程應(yīng)用1. HDevelop預(yù)覽2.菜單欄菜單欄包含所有HDevelop的功能命令,單擊打開后有下拉菜單,如圖2-2所示。圖2-2 菜單欄4.狀態(tài)欄狀態(tài)欄顯示程序的執(zhí)行情況,如圖2-4所示。圖2-3 工具欄3.工具欄工具欄包含了一系列常用功能的快捷方式,如圖2-3所示。圖2-4 狀態(tài)欄HALCON編程基礎(chǔ)與工程應(yīng)用1. HDevelop預(yù)覽5.打開一個例程HALCON提供了大量基于應(yīng)用的示例程序,下面打開一個HALCON自帶例程,簡單了解一下HALCON程序的結(jié)構(gòu)。從菜單欄文件瀏覽程序打開一個例程,比如打開ball.hdev,如圖2-
11、5,2-6所示。點擊工具欄“運行”工具圖標,運行程序,結(jié)果如圖2-7所示。圖2-5 瀏覽例程HALCON編程基礎(chǔ)與工程應(yīng)用1. HDevelop預(yù)覽圖2-7 例程運行結(jié)果圖2-6 打開例程HALCON編程基礎(chǔ)與工程應(yīng)用 2. HDevelop窗口介紹1.HDevelop算子窗口算子窗口顯示的是算子的重要數(shù)據(jù),包含了所有的參數(shù),各個變量的型態(tài),以及參數(shù)數(shù)值,如圖2-8所示。這里會顯示參數(shù)的默認值,以及可以選用的數(shù)值。每一個算子都有聯(lián)機幫助。另一個常用的是算子名稱的查詢顯示功能,在一個combo box里,只要鍵入部分字符串甚至開頭的字母,即可顯示所有符合名稱的算子供選用,如圖2-9所示。圖2-8
12、 算子窗口HALCON編程基礎(chǔ)與工程應(yīng)用2. HDevelop窗口介紹2.HDevelop程序窗口 程序窗口是用來顯示一個HDevelop程序。它可以顯示整個程序或是某個運算符。窗口左側(cè)是一些控制程序執(zhí)行的指示符號。HDevelop剛啟動時,可以看到一個綠色箭頭的程序計數(shù)器(program counter,簡稱 PC),一個插入符號,還可以設(shè)一個斷點(breaking point),窗口右側(cè)顯示程序代碼,如圖2-10所示。圖2-9 算子查詢HALCON編程基礎(chǔ)與工程應(yīng)用2. HDevelop窗口介紹在程序編輯窗口點擊右鍵,在下拉菜單顯示程序運行調(diào)試中的一些設(shè)置,如圖2-11所示。圖2-10 程
13、序窗口圖2-11 程序調(diào)試設(shè)置HALCON編程基礎(chǔ)與工程應(yīng)用2. HDevelop窗口介紹HDevelop啟動以后,就可以開始從程序窗口輸入,逐步建立一個HDevelop 程序。要在程序中新增一行,比如加一個算子,有以下兩個步驟。(1)首先要將光標放在新增的地方,用鍵盤的Shift鍵加上的鼠標左 鍵,點在要加入的地方,然后從算子菜單中選擇,或是由算子窗口來選用想要加入的數(shù)據(jù)。(2)新的算子會出現(xiàn)在算子窗口中,包含它的參數(shù)等數(shù)據(jù),此時按 下“輸入”,就會將它加入程序代碼中,成為新增的一行;如果按下“確定”,除了程序代碼會新增以外,同時也會執(zhí)行程序。如果按的是“應(yīng)用”,算子不會新增到程序中,但是會
14、被執(zhí)行,這樣就可以方便又有效的測試修改參數(shù)的結(jié)果。如果只要執(zhí)行某一行,可以將程序計數(shù)器(PC)置于要執(zhí)行的那行前,再用鼠標左鍵在該行前單擊,然后按HDevelop工具欄的“單步跳過函數(shù)”,如果單擊“運行”,則程序代碼都會執(zhí)行,直到一個斷點或是按“停止”將其中止。HALCON編程基礎(chǔ)與工程應(yīng)用2. HDevelop窗口介紹3. HDevelop變量窗口變量窗口顯示了程序在執(zhí)行時產(chǎn)生的各種變量,包括圖像變量和控制變量,如圖2-12所示。在變量上用鼠標雙擊,即可顯示變量值,如圖2-13所示。如果變量值是圖像變量,鼠標雙擊,會顯示在圖形窗口里。圖2-12 變量窗口圖2-13 變量值HALCON編程基礎(chǔ)
15、與工程應(yīng)用2. HDevelop窗口介紹 4.HDevelop圖形窗口圖形窗口用來顯示圖像化變量數(shù)據(jù),如圖2-14所示。 圖2-14 圖形窗口圖2-15 可視化菜單(1)圖形窗口可視化圖形窗口可視化的方式可以依據(jù)需要來調(diào)整,相關(guān)功能位于“可視化”菜單下,如圖2-15所示。可以開啟數(shù)個圖形窗口,并且自行選用要用的窗口。HALCON編程基礎(chǔ)與工程應(yīng)用2. HDevelop窗口介紹圖2-16 圖形窗口的3D模式(2)圖形窗口的3D模式點擊圖2-14圖形窗口右上角“3D點圖模式”,可以將圖形窗口變?yōu)?D模式,如圖2-16所示。HALCON編程基礎(chǔ)與工程應(yīng)用2. HDevelop窗口介紹 圖2-17 灰
16、度直方圖(3)HDevelop灰度直方圖從菜單欄可視化菜單灰度直方圖,打開灰度直方圖功能窗口,進行設(shè)置,如圖2-17所示。HALCON編程基礎(chǔ)與工程應(yīng)用2. HDevelop窗口介紹 圖2-18 特征直方圖(4)HDevelop特征直方圖從菜單欄可視化菜單特征直方圖,打開特征直方圖功能窗口,進行設(shè)置和編輯,并可根據(jù)編輯的直觀結(jié)果,插入程序代碼。如圖2-18所示。HALCON編程基礎(chǔ)與工程應(yīng)用3. HDevelop菜單介紹 圖2-19 編輯菜單1.編輯菜單編輯菜單用于HDevelop編程時的編輯使用,如圖2-19所示。HALCON編程基礎(chǔ)與工程應(yīng)用3. HDevelop菜單介紹 圖2-20 執(zhí)行
17、菜單2.執(zhí)行菜單執(zhí)行菜單用于程序調(diào)試時的設(shè)置及運行,如圖2-20所示。HALCON編程基礎(chǔ)與工程應(yīng)用3. HDevelop菜單介紹 圖2-21 過程菜單3.過程菜單過程菜單用于HDevelop中創(chuàng)建一個過程或者開發(fā)新的算子,如圖2-21所示。HALCON編程基礎(chǔ)與工程應(yīng)用3. HDevelop菜單介紹 圖2-22 助手菜單4.助手菜單打開菜單欄助手,助手菜單是特有的快速原型化工具,具有直觀可視的特點,可以進行數(shù)據(jù)分析和特征檢測,包括圖像獲取助手、匹配助手、攝像機標定助手和測量助手。如圖2-22所示。HALCON編程基礎(chǔ)與工程應(yīng)用2.2 HALCON控制語句 HALCON提供的控制流與C/C+的
18、用法類似。一般成對存在,一個是開始的標志,一個是結(jié)束的標志。也就是說有if就有endif,有while就有end while。控制語句類型主要由以下幾種組成:(1)if條件語句 ;(2)switch多分支條件語句 ;(3)while循環(huán)語句;(4)for循環(huán)語句;(5)中斷語句。HALCON編程基礎(chǔ)與工程應(yīng)用1. 條件語句1if條件語句If條件語句有三種常用的表達形式,下面一一列出。(1)if(表達式) 語句組1 endif語義為:判斷表達式的值,如果表達式的值非零則執(zhí)行語句組1,否則直接轉(zhuǎn)到endif。【例2-1】if條件語句實例1*賦值cont:=2 *判斷變量cont的值是否大于等于1,
19、大于等于1就執(zhí)行語句cont:=cont-1if(cont=1)cont:=cont-1HALCON編程基礎(chǔ)與工程應(yīng)用1. 條件語句*if條件語句結(jié)束標志endif(2)if (表達式) 語句組1 else 語句組2 endif語義為:判斷表達式的值,如果表達式的值非零則執(zhí)行語句組1,否則執(zhí)行語句組2。【例2-2】if條件語句實例2cont:=2 *判斷變量cont的值是否大于等于1,大于等于1就執(zhí)行語句cont:=cont-1HALCON編程基礎(chǔ)與工程應(yīng)用1. 條件語句if(cont=1)cont:=cont-1*cont的值小于1就執(zhí)行語句cont:=cont+1elsecont:=con
20、t+1*if條件語句結(jié)束標志endif(3)if (表達式1) 語句組1 elseif (表達式2) 語句組2 else 語句組3 endif HALCON編程基礎(chǔ)與工程應(yīng)用1. 條件語句語義為:判斷表達式的值,表達式1的值非零則執(zhí)行語句組1。表達式1的值為零而表達式2的值非零則執(zhí)行語句組2,兩個表達式的值都為零則執(zhí)行語句組3。【例2-3】if條件語句實例3cont:=2 *判斷變量cont是否大于等于1,大于等于1就執(zhí)行語句cont:=cont-1if(cont=1)cont:=cont-1*判斷變量cont是否小于等于-1,小于等于-1就執(zhí)行語句cont:=cont+1elseif(con
21、t=-1)cont:=cont+1*如果cont大于-1小于1執(zhí)行語句 cont:=cont+2HALCON編程基礎(chǔ)與工程應(yīng)用1. 條件語句else cont:=cont+2*if條件語句結(jié)束標志endif 2switch多分支條件語句當if.else條件語句使用多層嵌套可以用switch多分支條件語句代替。格式:switch(條件) case 常量表達式1: 語句1 break . HALCON編程基礎(chǔ)與工程應(yīng)用1. 條件語句 case 常量表達式n: 語句n break default : 語句n+1 endswitch語義為:將條件值與其后的常量表達式的值逐個比較,當條件的值與其后的某個
22、常量表達式的值相等時就執(zhí)行常量表達式后面的所有語句。每個case語句只是一個入口標號,所以不能確定執(zhí)行的終止點,如果只想執(zhí)行一條case語句,則應(yīng)該在case語句的最后使用break語句結(jié)束switch條件語句。如果條件值與所有的常量表達式的值均不相等則執(zhí)行default后面的語句。switch語句中所有常量表達式的值應(yīng)該是不重復的常量。因為switch語句無法處理浮點數(shù)所以條件值必須是整數(shù)。如果條件選項涉及取值范圍、浮點數(shù)或兩個變量的比較則應(yīng)該使用if.else條件語句。 HALCON編程基礎(chǔ)與工程應(yīng)用1. 條件語句 【例2-4】switch條件語句實例I:=5*I的值與其后的常量表達式的值
23、逐個比較switch(I)case 1:I:=I-3*中斷語句,跳出switch語句break*I的值與常量表達式的值相等,執(zhí)行后面的語句case 5:I:=I+5break*I的值與其后所有常量表達式的值都不相等則執(zhí)行default語句default:I:=2*IHALCON編程基礎(chǔ)與工程應(yīng)用1. 條件語句*switch語句結(jié)束標志endswitchHALCON編程基礎(chǔ)與工程應(yīng)用2. 循環(huán)控制語句1while循環(huán)語句格式:while (條件) 循環(huán)體語句 endwhile語義為:首先對條件值進行判斷,若條件值非零則重復執(zhí)行循環(huán)語句,直到條件值為零時退出while循環(huán)。若條件值始終不為零,則w
24、hile循環(huán)容易成為死循環(huán),這時候需要使用break語句跳出循環(huán)。【例2-5】while循環(huán)語句實例In:=1 In_Sum:=0*判斷In是否小于等于100,小于等于100則執(zhí)行循環(huán)體while(In=100)HALCON編程基礎(chǔ)與工程應(yīng)用2. 循環(huán)控制語句*求和In_Sum:=In_Sum+In*自加10In:=In+10*while語句結(jié)束標志 endwhile2for循環(huán)語句格式:for (Index := start to end by step) 循環(huán)體 endforFor循環(huán)語句是HALCON最重要的循環(huán)結(jié)構(gòu),通過控制變量的開始值至結(jié)束值來進行循環(huán),start為Index變量的開
25、始值,end為結(jié)束值,step為步長值。首先判斷Index變量的開始值是否小于結(jié)束值,如果小于則執(zhí)行循環(huán)體,否則循環(huán)結(jié)束。執(zhí)行完循環(huán)體以后把Index的值加步長值HALCON編程基礎(chǔ)與工程應(yīng)用2. 循環(huán)控制語句作為Index的新值,判斷Index的新值是否小于結(jié)束值。如果小于則繼續(xù)執(zhí)行循環(huán)體,否則循環(huán)結(jié)束,依次執(zhí)行直到Index的新值大于結(jié)束值則循環(huán)結(jié)束。【例2-6】for循環(huán)語句實例I:=0*循環(huán)變量I從1到10,每次增加1for J:=1 to 10 by 1*每次循環(huán)判斷J是否小于5,小于5則跳過這次循環(huán)if(J5)breakendif*如果J=3跳過此次循環(huán)HALCON編程基礎(chǔ)與工程應(yīng)
26、用3. 中斷語句if(J=3)continue*if語句結(jié)束標志endif*求和I:=I+J*for語句結(jié)束標志endforHALCON編程基礎(chǔ)與工程應(yīng)用2.3 HALCON算子1 .HALCON算子及算子編輯窗口HALCON算子的基本結(jié)構(gòu)為:算子(圖像輸入:圖像輸出:控制輸入:控制輸出:)HALCON算子中的四種參數(shù)被三個冒號依次隔開,分別是:圖像輸入?yún)?shù),圖像輸出參數(shù),控制輸入?yún)?shù),控制輸出參數(shù)。一個算子中可能這四種參數(shù)不會都存在,但是參數(shù)的次序不會變化。HALCON中的輸入?yún)?shù)不會被算子更改,只被算子使用,算子只能更改輸出參數(shù)。算子舉例:threshold(Image:Region:Mi
27、nGray,MaxGray: )Threshold算子里面Image為圖像輸入?yún)?shù);Region為圖像輸出參數(shù);MinGray和MaxGray為控制輸入?yún)?shù)。由此看出調(diào)用這個算子必須輸入一個圖像參數(shù)和兩個控制參數(shù)才能輸出一個圖像參數(shù)。下面介紹一下HALCON算子的編輯窗口,編輯窗口如圖2-23和圖2-24所示。HALCON編程基礎(chǔ)與工程應(yīng)用1 .HALCON算子及算子編輯窗口圖2-23 算子編輯窗口1HALCON編程基礎(chǔ)與工程應(yīng)用1 .HALCON算子及算子編輯窗口圖2-24 算子編輯窗口2HALCON編程基礎(chǔ)與工程應(yīng)用1 .HALCON算子及算子編輯窗口通過算子編輯窗口我們看到每條算子都有特
28、定的顏色,我們可以通過打開參數(shù)用戶窗口看到編輯窗口中各算子對應(yīng)的顏色如圖2-25所示。通過菜單欄編輯參數(shù)選擇程序窗口打開程序窗口。一般情況下,語句的顏色分類: 1)褐色:控制和開發(fā)算子;2)藍色:圖像獲取和處理算子;3)淺藍色:外部函數(shù);4)綠色:注釋。HALCON編程基礎(chǔ)與工程應(yīng)用1 .HALCON算子及算子編輯窗口在參數(shù)用戶窗口可以通過對話框修改編輯窗口算子顯示的顏色、字體、HDevelop系統(tǒng)語言、布局。布局主要是指四個活動界面窗口排列的位置,布局說明如圖2-26所示。圖2-25 程序窗口參數(shù)HALCON編程基礎(chǔ)與工程應(yīng)用1 .HALCON算子及算子編輯窗口圖2-26 布局說明HALCO
29、N編程基礎(chǔ)與工程應(yīng)用2. 算子查詢2算子查詢 算子的幫助窗口包含了所有HALCON算子的詳細說明,可以通過按F1快捷鍵打開HALCON算子的幫助窗口,也可以通過下面的步驟打開幫助窗口:菜單欄幫助幫助。算子名稱具有查詢顯示作用,通過算子查找對話框鍵入全部或部分算子名稱,在彈出的列表里點擊想查找的算子,幫助窗口右側(cè)會顯示算子的具體說明,如圖2-27所示。具體說明包括:算子名稱:算子的英文名稱以及大致功能;算子簽名:帶有算子參數(shù)、分隔符的算子簽名;算子描述:描述算子功能和各參數(shù)意義;算子參數(shù):講解各參數(shù)類型和屬性;HDevelop例程:用到此算子的例程,點擊可查看例程。HALCON編程基礎(chǔ)與工程應(yīng)用
30、2. 算子查詢圖2-27 幫助窗口HALCON編程基礎(chǔ)與工程應(yīng)用3. 算子編輯3. 算子編輯 算子編輯過程常使用算子窗口來建立HDevelop程序,算子窗口包含了各算子的參數(shù)及參數(shù)取值。使用算子窗口能夠直接對算子參數(shù)的取值進行合理選擇。 下面以新建threshold程序為例,說明如何使用算子窗口建立某一行 HDevelop 程序。 使用算子窗口建立某一行 HDevelop 程序的步驟為:單擊鼠標使光標定位到要創(chuàng)建程序的位置,通過菜單欄算子窗口輸入算子和函數(shù)對話框中鍵入全部或部分算子名稱,找到需要編輯的算子回車確認打開算子窗口選擇合適的算子參數(shù)點擊確定。輸入算子和函數(shù)對話框如圖2-28所示。HA
31、LCON編程基礎(chǔ)與工程應(yīng)用3. 算子編輯圖2-28 輸入算子和函數(shù)對話框 一般來說打開算子窗口以后需要對算子的四個參數(shù)(圖像輸入?yún)?shù),圖像輸出參數(shù),控制輸入?yún)?shù),控制輸出參數(shù))進行選擇。此處threshold算子只需要對前3個參數(shù)進行選擇,各參數(shù)的描述如圖2-29所示。HALCON編程基礎(chǔ)與工程應(yīng)用3. 算子編輯圖2-29 算子窗口參數(shù)描述 使用下拉列表直接選擇threshold算子的圖像輸入?yún)?shù)與圖像輸出參數(shù)名稱,通過下拉列表對輸入?yún)?shù)的數(shù)值進行選擇,如圖2-30所示。HALCON編程基礎(chǔ)與工程應(yīng)用3. 算子編輯圖2-30 控制輸入?yún)?shù)數(shù)值選擇 算子編輯有關(guān)的快捷鍵:F3為激活所選程序行,F(xiàn)
32、4為注銷所選程序行。HALCON編程基礎(chǔ)與工程應(yīng)用4. 算子更改4算子更改HDevelop程序編寫過程中可以利用算子窗口對某一行的算子進行更改。算子更改步驟為:雙擊算子名稱選中需要更改的算子右鍵打開算子窗口,在彈出的算子窗口中修改參數(shù),算子更改如圖2-31所示。圖2-31 算子更改HALCON編程基礎(chǔ)與工程應(yīng)用5. 算子運行5 .算子運行執(zhí)行程序時如果只要執(zhí)行某一行需要選中執(zhí)行行的前一行,右鍵選擇程序計數(shù)器,將執(zhí)行標示定位到要執(zhí)行的前一行,通過菜單欄執(zhí)行單步跳過程序執(zhí)行某一行。多行的執(zhí)行可以通過菜單欄執(zhí)行運行執(zhí)行接下來的所有程序代碼,直到遇到斷點或是遇到Stop算子才會中止程序。算子運行有關(guān)的
33、快捷鍵:F2為重置程序執(zhí)行,F(xiàn)5為程序運行,F(xiàn)6為單步跳過函數(shù),F(xiàn)7為單步跳入函數(shù),F(xiàn)8為單步跳出函數(shù)。HALCON編程基礎(chǔ)與工程應(yīng)用2.4 HALCON圖像讀取、顯示和轉(zhuǎn)換1. HALCON圖像讀取下面介紹圖像讀取的三種方式。1利用read_image算子讀取圖像算子read_image(:Image:FileName:)中Image為讀取的圖像變量名稱,F(xiàn)ileName為圖像文件所在的路徑,HALCON支持多種圖像格式。利用read_image算子讀取圖像有下面三種方式:(1)利用快捷鍵調(diào)用read_image算子讀取圖像,讀取圖像的步驟為:按CTRL+R快捷鍵打開讀取圖像對話框選擇文件名
34、稱所在的路徑及變量名稱選擇語句插入位置點擊確定,快捷鍵讀取圖像如圖2-32所示。HALCON編程基礎(chǔ)與工程應(yīng)用1. HALCON圖像讀取圖2-32 快捷鍵讀取圖像HALCON編程基礎(chǔ)與工程應(yīng)用1. HALCON圖像讀取圖2-33 算子窗口讀取圖像(2)使用算子窗口調(diào)用read_image算子,選擇文件名稱所在的路徑及變量名稱,算子窗口讀取圖像如圖2-33所示。HALCON編程基礎(chǔ)與工程應(yīng)用1. HALCON圖像讀取(3)利用for循環(huán)讀取同一路徑下的多張圖。首先聲明一個Tuple數(shù)組保存文件名及路徑,然后利用for循環(huán)依次讀取Tuple數(shù)組保存路徑下的圖像。【例2-8】for循環(huán)讀取圖像實例*
35、聲明數(shù)組ImagePath:= *將文件名及路徑保存到數(shù)組ImagePath0:=fin1.png ImagePath1:=fin1.png ImagePath2:=fin1.png *循環(huán)讀取圖像for i:=0 to 2 by 1 read_image(Image,ImagePathi) *for循環(huán)結(jié)束標志endforHALCON編程基礎(chǔ)與工程應(yīng)用1. HALCON圖像讀取2利用采集助手批量讀取文件夾下所有圖像利用采集助手批量讀取文件夾下所有圖像的步驟為: 菜單欄助手打開新的Image Acquisition資源圖像文件選擇路徑代碼生成插入代碼,選擇文件夾路徑如圖2-34,生成批量讀取圖
36、像的代碼如圖2-35所示。圖2-34 選擇文件夾路徑HALCON編程基礎(chǔ)與工程應(yīng)用1. HALCON圖像讀取圖2-35 生成批量讀取圖像的代碼HALCON編程基礎(chǔ)與工程應(yīng)用1. HALCON圖像讀取【例2-9】利用采集助手讀取圖像實例 *遍歷文件夾 list_files (C:/Users/Public/Documents/MVTec/HALCON-13.0/examples/images/bicycle, files,follow_links, ImageFiles) *篩選指定格式的圖像tuple_regexp_select (ImageFiles, .(tif|tiff|gif|bmp|
37、jpg|jpeg|jp2|png)$,ignore_case, ImageFiles)* 依次讀取圖像for Index := 0 to |ImageFiles| - 1 by 1read_image (Image, ImageFilesIndex)*顯示圖像dev_display(Image)endforHALCON編程基礎(chǔ)與工程應(yīng)用1. HALCON圖像讀取算子講解:(1)list_image_files (:ImageDirectory,Extensions,Options: ImageFiles)作用:遍歷文件夾;ImageDirectory: 文件夾路徑;Extensions:文件擴
38、展名,如tif|tiff|gif|bmp|jpg|jpeg|jp2|png等;Options:搜索選項,如表2-1所示。 表2-1 搜索選項files指定搜索的格式為文件directories指定搜索格式為文件夾recursive指定可以遍歷文件夾下的文件max_depth 5指定遍歷的深度max_files 1000指定遍歷的最大文件數(shù)目表2-1 搜索選項ImageFiles: 文件名數(shù)組。HALCON編程基礎(chǔ)與工程應(yīng)用1. HALCON圖像讀取(2)tuple_regexp_select(:Data,Expression:Selection)作用:篩選指定格式的圖像;Data: 輸入的文件
39、名數(shù)組;Expression: 文件篩選規(guī)則表達式;Selection: 篩選出的文件名數(shù)組。HALCON編程基礎(chǔ)與工程應(yīng)用2. HALCON圖像顯示1圖形窗口默認的圖形窗口尺寸為512*512,因此當圖像尺寸不同時顯示在圖像窗口上會變形,要看到無變形的圖像的步驟為:菜單欄可視化圖像尺寸適應(yīng)窗口,即可自動調(diào)整窗口。通常使用HDevelop算子dev_open_window(:Row,Column,Width,Height,Background:WindowHandle)來新增一個圖形窗口。算子參數(shù)Row、Column為窗口起始坐標(默認值都為零),參數(shù)Width、Height是指窗口的寬度和高
40、度(默認值都為512),Background為窗口的背景顏色(默認為“black”),WindowHandle是指窗口句柄。新建窗口時如果不知道窗口的確定尺寸,可將窗口的高度和寬度都設(shè)置為-,設(shè)置為-表示窗口大小等于最近打開的圖像大小,具體算子為:dev_open_window( 0,0,-1,-1,black,WindowHandle)。HALCON編程基礎(chǔ)與工程應(yīng)用2. HALCON圖像顯示打開HDevelop的變量窗口,雙擊圖像變量目錄下已存在的圖像,圖像就會顯示在圖形窗口。圖形窗口顯示的圖像可以進行縮放,直接把鼠標放到要進行縮放的區(qū)域,滑動鼠標中間滾輪進行縮放操作,要恢復原有尺寸只需要
41、在圖形窗口點擊“適應(yīng)窗口”。我們也可以通過菜單欄可視化設(shè)置參數(shù)縮放,對顯示的圖像進行縮放,在想要放大的區(qū)域點擊放大或者縮小按鈕,要回復原有尺寸直接點擊“重置”按鈕。2圖像顯示HDevelop中顯示圖像通常使用dis_display算子,格式為:dev_display(Object:)。運行模式下運行算子時圖形窗口會實時更新,如果只想通過圖像顯示算子在圖形窗口顯示某些圖像(image,region或xld)就可以關(guān)閉窗口的更新。我們可以通過調(diào)用dev_update_window(off)語句關(guān)閉窗口的更新。也可以HALCON編程基礎(chǔ)與工程應(yīng)用2. HALCON圖像顯示通過菜單欄可視化更新窗口單步
42、模式清空并顯示命令,關(guān)閉窗口的更新。如果關(guān)閉了窗口的更新,則只能手動調(diào)用dev_display()操作來顯示圖像。3顯示文字顯示文字常用的disp_message算子與write_string 算子。(1)disp_message為外部算子,算子格式為:disp_message(:WindowHandle,String,CoordSystem,Row,Column,Color, Box:)。算子作用:在窗口中顯示字符串。WindowHandle為窗口句柄;String為要顯示的字符;CoordSystem為當前的操作系統(tǒng);Row、Column為窗口中顯示的起始坐標;HALCON編程基礎(chǔ)與工程應(yīng)
43、用2. HALCON圖像顯示Color為字體顏色;Box為是否顯示白色的底紋。(2)write_string算子格式為:write_string(:WindowHandle,String:)算子作用:在窗口已設(shè)定的光標位置顯示字符串。write_string一般與set_tposition配合使用,先使用set_tposition算子設(shè)置光標位置,然后使用write_string在光標位置處輸出字符串。顯示文字必須適合右側(cè)窗口邊界(字符串的寬度可由get_string_extents算子查詢)。HALCON編程基礎(chǔ)與工程應(yīng)用2. HALCON圖像顯示【例2-10】圖像顯示實例*關(guān)閉窗口dev_
44、close_window ()*打開新窗口dev_open_window (0, 0, 400, 400, white, WindowID)*設(shè)置顏色dev_set_color (red)*畫箭頭disp_arrow (WindowID, 255 - 20, 255 - 20, 255, 255, 1) *在窗口中顯示字符串disp_message (WindowID, 顯示文字1, window, 20, 20, black, true)dev_set_color (blue)*設(shè)置光標位置HALCON編程基礎(chǔ)與工程應(yīng)用2. HALCON圖像顯示set_tposition (WindowID
45、, 40, 40)*在窗口已設(shè)定光標位置顯示字符串write_string (WindowID, 顯示文字2)* 設(shè)置光標位置 set_tposition (WindowID, 255, 255) *讀取字符串 read_string (WindowID, Default, 32, OutString) 程序執(zhí)行,結(jié)果如圖2-36所示。圖2-36 顯示文字處理結(jié)果HALCON編程基礎(chǔ)與工程應(yīng)用3. HALCON圖像轉(zhuǎn)換1RGB圖像轉(zhuǎn)換成灰度圖RGB圖像轉(zhuǎn)換成灰度圖可以使用rgb1_to_gray算子,其格式為:rgb1_to_gray(RGBImage:GrayImage:)很明顯,RGBIm
46、age與GrayImage分別是輸入、輸出圖像參數(shù)。如果輸入圖像是三通道圖像,RGB圖像的三個通道可以根據(jù)以下公式轉(zhuǎn)化成灰度圖。灰色值=0.299*紅色值+0.587*綠色值+0.114*藍色值如果RGBImage中輸入圖像是單通道圖像,GrayImage灰度圖將直接復制RGBImage進行輸出。【例2-11】RGB圖轉(zhuǎn)灰度圖實例*讀取圖像read_image (Earth, earth.png)*RGB圖像轉(zhuǎn)換成灰度圖像rgb1_to_gray (Earth, GrayImage)程序執(zhí)行,圖像變量如圖2-37所示。HALCON編程基礎(chǔ)與工程應(yīng)用3. HALCON圖像轉(zhuǎn)換圖2-37 RGB圖
47、像轉(zhuǎn)換成灰度圖HALCON編程基礎(chǔ)與工程應(yīng)用3. HALCON圖像轉(zhuǎn)換2區(qū)域與圖像的平均灰度值求區(qū)域與圖像的平均灰度值可以使用算子region_to_mean,其格式為:region_to_mean(Regions,Image:ImageMean:)通過此算子繪制ImageMean圖像,將其灰度值設(shè)置為Regions和Image的平均灰度值。【例2-12】求區(qū)域與圖像平均灰度值實例*讀取圖像read_image(Image,fabrik)*區(qū)域生長regiongrowing(Image,Regions,3,3,6,100)*得到區(qū)域與圖像的平均灰度值region_to_mean(Regions
48、,Image,Disp)dev_open_window (0, 0, 400, 400, black, WindowHandle)*顯示圖像dev_display (Disp)程序執(zhí)行,結(jié)果如圖2-38所示。3. HALCON圖像轉(zhuǎn)換圖2-38 圖像與區(qū)域平均灰度圖HALCON編程基礎(chǔ)與工程應(yīng)用3. HALCON圖像轉(zhuǎn)換3將區(qū)域轉(zhuǎn)換為二進制圖像或label圖像(1)將區(qū)域轉(zhuǎn)換為二進制圖像 使用region_to_bin算子能夠?qū)^(qū)域轉(zhuǎn)換為二進制圖像,格式為:region_to_bin(Region:BinImage:ForegroundGray,BackgroundGray,Width, He
49、ight:)使用算子將區(qū)域轉(zhuǎn)換為“byte”圖像,如果輸入?yún)^(qū)域大于生成的圖像就會在圖像邊界處進行剪切。 (2)將區(qū)域轉(zhuǎn)換為Label圖像 使用算子region_to_label能夠 將區(qū)域轉(zhuǎn)換為Label圖像,格式為:region_to_label(Region:ImageLabel:Type,Width,Height:)算子可以根據(jù)索引(1.n)將輸入?yún)^(qū)域轉(zhuǎn)換為標簽圖像,即第一區(qū)域被繪制為灰度值1,第二區(qū)域被繪制為灰度值2等。對于比生成的圖像灰度值大的區(qū)域?qū)贿m當?shù)丶羟小ALCON編程基礎(chǔ)與工程應(yīng)用3. HALCON圖像轉(zhuǎn)換【例2-13】區(qū)域轉(zhuǎn)換為二進制圖或label圖實例*讀取圖像re
50、ad_image (Image, a01.png)*復制圖像copy_image (Image, DupImage)*區(qū)域生長regiongrowing (DupImage, Regions, 3, 3, 1, 100)*將區(qū)域轉(zhuǎn)化成二進制圖像region_to_bin (Regions, BinImage, 255, 0, 512, 512)*將區(qū)域轉(zhuǎn)化成label圖像region_to_label (Regions, ImageLabel, int4, 512, 512)程序執(zhí)行,圖像變量如圖2-39所示。HALCON編程基礎(chǔ)與工程應(yīng)用3. HALCON圖像轉(zhuǎn)換圖2-39 區(qū)域轉(zhuǎn)換的圖像變
51、量HALCON編程基礎(chǔ)與工程應(yīng)用本章小結(jié)本章首先介紹了HALCON軟件交互式的編程環(huán)境Hdevelop及其界面和窗口,然后對HALCON的控制語句進行介紹,主要介紹了HALCON算子的基本操作,HALCON所有算子(函數(shù))的參數(shù)均以相同的方式來排列:輸入圖像,輸出圖像,輸入控制,輸出控制。最后在HALCON編程環(huán)境下進行了圖像讀取,圖像顯示,圖像轉(zhuǎn)換的實例分析。HALCON編程基礎(chǔ)與工程應(yīng)用3.4HALCON Image圖像 HALCON Region區(qū)域 HALCON XLD輪廓 Handle句柄第3章HALCON數(shù)據(jù)結(jié)構(gòu)HALCON編程基礎(chǔ)與工程應(yīng)用3.1HALCON I
52、mage圖像3.1.1 Image的分類 根據(jù)每個像素信息不同,通常將圖像分為:二值圖像,灰度圖像,RGB圖像。這部分已經(jīng)在2.2節(jié)進行了詳細地介紹。3.1.2 Image的通道(1)append_channel(MultiChannelImage,Image:ImageExtended:)作用:將Image圖像的通道與MultiChannelImage圖像的通道疊加得到新圖像。MultiChannelImage:多通道圖像;Image:要疊加的圖像;ImageExtended:疊加后得到的圖像。HALCON編程基礎(chǔ)與工程應(yīng)用 (2)decompose3(MultiChannelImage:I
53、mage1,Image2,Image3:)作用:轉(zhuǎn)換三通道彩色圖像為三個單通道灰度圖像;MultiChannelImage:要進行轉(zhuǎn)換的三通道彩色圖像;Image1:轉(zhuǎn)換得到第一個通道的灰度圖像,對應(yīng)Red通道;Image2:轉(zhuǎn)換得到第二個通道的灰度圖像,對應(yīng)Green通道;Image3:轉(zhuǎn)換得到第三個通道的灰度圖像,對應(yīng)Blue通道。讀取一幅紅色的三通道彩色圖像后利用decompose3算子分解成三個單通道圖像,其中得到的紅色通道是一幅白色圖像,得到的綠色和藍色通道是黑色圖像。所以我們能夠知道紅色在R通道中比較明顯,同理綠色和藍色分別在G和B通道中比較明顯。3.1HALCON Image圖像
54、HALCON編程基礎(chǔ)與工程應(yīng)用3.2HALCON Region區(qū)域 Region的特征可以使用特征檢測對話框查看region的特征。通過工具欄特征檢測彈出的對話框選擇region,可以看到Region的不同特征屬性及相對應(yīng)的數(shù)值,如圖所示。Region特征主要有以下三個部分:(1)基礎(chǔ)特征:region的面積、中心、寬高、左上角與右下角坐標、長半軸、短半軸、橢圓方向、粗糙度、連通數(shù)、最大半徑、方向等;(2)形狀特征:外接圓半徑、內(nèi)接圓半徑、圓度、緊密度、矩形度、凸性、偏心率、外接矩形的方向等;(3)幾何矩特征:二階矩、三階矩、主慣性軸等。HALCON編程基礎(chǔ)與工程應(yīng)用3.2HALCON Reg
55、ion區(qū)域 HALCON編程基礎(chǔ)與工程應(yīng)用Region的點線1生成點線區(qū)域圖像最基本的構(gòu)成元素是像素點,在HALCON里面點可以用坐標(Row,Column)表示,圖像窗口左上角為坐標原點,向下為行(Row)增加,向右為列(Column)增加。首先生成一個點區(qū)域,生成點區(qū)域的算子為:gen_region_points(:Region:Rows,Columns:)3.2HALCON Region區(qū)域 2區(qū)域的方向方向是區(qū)域的基本特征,下面幾個算子與區(qū)域方向有關(guān)。 (1)line_orientation(:RowBegin,ColBegin,RowEnd,ColEnd:Phi)(2)orienta
56、tion_region(Regions:Phi)HALCON編程基礎(chǔ)與工程應(yīng)用(3)angle_ll(:RowA1,ColumnA1,RowA2,ColumnA2,RowB1,ColumnB1,RowB2,ColumnB2:Angle)(4)line_position(:RowBegin,ColBegin,RowEnd,ColEnd:RowCenter,ColCenter,Length,Phi)作用:計算線段的中心、長度、方向。3.2HALCON Region區(qū)域 Region的行程1區(qū)域行程的理論基礎(chǔ)行程編碼(又稱游程編碼)是相對簡單的編碼技術(shù)。行程編碼的主要思路是將一個相同值的連續(xù)串用一個
57、代表值和串長來代替。例如,有一個字符串“aaabccddddd”,行程編碼可以用“3a1b2c5d”來表示。圖4-19是區(qū)域,表4-2是根據(jù)圖4-19的區(qū)域得到的行程編碼表。HALCON編程基礎(chǔ)與工程應(yīng)用3.2HALCON Region區(qū)域 3.2.4 Region的區(qū)域特征1區(qū)域的面積與中心特征1)區(qū)域的面積2)區(qū)域的中心區(qū)域的中心坐標是計算區(qū)域內(nèi)所有像素點坐標的平均值。中心點行坐標等于區(qū)域內(nèi)所有像素點行坐標相加的和除以面積,中心點列坐標等于區(qū)域內(nèi)所有像素點列坐標相加的和除以面積。2區(qū)域特征距特征矩特征主要表征圖像區(qū)域的幾何特征,又稱為幾何距。由于其具有旋轉(zhuǎn)、平移、尺度等不變特征又稱為不變距
58、。在圖像處理中不變距可以作為一個重要的特征來表示區(qū)域。HALCON編程基礎(chǔ)與工程應(yīng)用3.2HALCON Region區(qū)域 3區(qū)域等效橢圓特征 二階中心距的一個重要應(yīng)用就是可以定義一個區(qū)域的方向與范圍,而區(qū)域的方向和范圍可以用等效橢圓來表示。4區(qū)域凸性特征區(qū)域內(nèi)任意兩點進行連線,連線上的所有點都在區(qū)域內(nèi)就稱這個區(qū)域為凸集。凸包則是包含區(qū)域內(nèi)所有點構(gòu)成的最小凸集。5區(qū)域輪廓長度特征區(qū)域輪廓長度是區(qū)域的另一個特征,區(qū)域輪廓是跟蹤區(qū)域邊界獲得一個輪廓,然后將區(qū)域邊界上的全部點連接到一起。輪廓長度是歐幾里德長度,平行于坐標軸與垂直坐標軸的兩個相鄰輪廓點之間的距離為1。HALCON編程基礎(chǔ)與工程應(yīng)用3.3
59、HALCON XLD輪廓 3.3.1 XLD的初步介紹1XLD定義圖像中Image和區(qū)域Region這些數(shù)據(jù)結(jié)構(gòu)是像素精度的,在實際工業(yè)應(yīng)用中,需要比圖像像素分辨率更高的精度,這時就需要提取亞像素精度數(shù)據(jù),亞像素精度數(shù)據(jù)可以通過亞像素閾值分割或者亞像素邊緣提取來獲得。3.3.2 XLD的數(shù)據(jù)結(jié)構(gòu)分析1XLD數(shù)據(jù)結(jié)構(gòu)介紹XLD輪廓的很多屬性存儲在XLD的數(shù)據(jù)結(jié)構(gòu)中,為了描述不同的邊緣輪廓,HALCON規(guī)定了幾種不同的XLD數(shù)據(jù)結(jié)構(gòu),對于不同的數(shù)據(jù)結(jié)構(gòu)一般是通過不同的算子獲得的。區(qū)域或多邊形轉(zhuǎn)換成亞像素輪廓的算子(1)gen_contour_region_xld(Regions:Contours:
60、Mode:)HALCON編程基礎(chǔ)與工程應(yīng)用3.3HALCON XLD輪廓 (3)gen_contour_polygon_xld(:Contour:Row,Col:)(2)get_contour_xld(Contour:Row,Col)(4)gen_polygons_xld(Contours:Polygons:Type,Alpha:)(5)gen_ellipse_contour_xld(:ContEllipse:Row,Column,Phi,Radius1,Radius2,StartPhi,EndPhi,PointOrder,Resolution:)(6)gen_circle_contour_x
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒情緒表達與溝通技巧培訓
- 公司分成的協(xié)議書范本
- 公司組織采摘節(jié)活動方案
- 提升制作的邏輯思維訓練
- 教育信息化提升教學效率的策略
- 提升醫(yī)務(wù)人員防護意識與技能的培訓課程
- 2020-2025年中國消費電子電主軸行業(yè)市場運營現(xiàn)狀及投資方向研究報告
- 提高員工工作激情的管理方法
- 加強鄉(xiāng)村振興人才培養(yǎng)的黨性教育與實踐導向
- 循環(huán)經(jīng)濟與綠色產(chǎn)業(yè)推進
- 醫(yī)療機構(gòu)重大事故隱患判定清單解讀課件
- 初中地理核心考點速記(中國地理一)-2025年中考地理復習知識清單(題綱)
- 康復器具租賃協(xié)議書
- 印章刻制工序的質(zhì)量控制流程
- 幼兒園獲獎公開課:中班語言美術(shù)《有趣的西瓜皮》課件
- 室內(nèi)零星維修工程施工方案
- 2025年02月海口市龍華區(qū)事業(yè)編制人員79人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 科技引領(lǐng)冰雪旅游智能設(shè)施與游客體驗的融合
- 2025年湖南金葉煙草薄片有限責任公司招聘筆試參考題庫含答案解析
- I-MR(單值-移動極差)控制圖
- 《鄒忌諷齊王納諫》比較閱讀82篇(歷年中考語文文言文閱讀試題匯編)(含答案與翻譯)(截至2024年)
評論
0/150
提交評論