ProgrammersGuide for Visual Basic 在此章節您將學習如何快速地使用 Microsoft Visual Basic 和 HALCON/COM 的介面, 來發展 HALCON 的應用程式, 我們將會用簡單的步驟來告訴您如何完成 而這個小程式本身就是一個 GUI 的介面 此

Similar documents
VB程序设计教程

Microsoft Word - 小心翼翼的二十一點N.doc

TPM BIOS Infineon TPM Smart TPM Infineon TPM Smart TPM TPM Smart TPM TPM Advanced Mode...8

ActiveX Control

2

投影片 1

epub83-1

Microsoft PowerPoint - OPVB1基本VB.ppt

Microsoft PowerPoint - VB14.ppt

Visual Basic AD/DA Visual Basic 2

CC213

投影片 1

MVB-1001.DOC

<4D F736F F D D342DA57CA7DEA447B14D2DA475B57BBB50BADEB27AC3FEB14DA447B8D5C344>

Sophos Central 快速安裝手冊

ebook140-8

ansoft_setup21.doc

mvc

VB控件教程大全

untitled

1 1 Excel VBA 說明 ( ) (_) STEP4 Excel 2 STEP5 A1 1 B2 2 C3 3 STEP6 A1 STEP7 > > 1-11

Excel VBA Excel Visual Basic for Application

AL-M200 Series

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e

多層次傳銷與獎金系統

穨文件1

TwinCAT 1. TwinCAT TwinCAT PLC PLC IEC TwinCAT TwinCAT Masc

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4

Microsoft Word - template.doc

Visual Basic D 3D

邀請大陸專業人士來臺從事文教相關活動參考手冊(修訂二版)

3 Driver do Microsoft Access (*.mdb) hisdata IFIX 1.4

Outline USB Application Requirements Variable Definition Communications Code for VB Code for Keil C Practice

ThreeDtunnel.doc

PowerPoint Presentation


0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

範本檔

The golden pins of the PCI card can be oxidized after months or years


Chapter 2 GIGA-BYTE TECHNOLOGY CO., LTD. ("GBT") GBT GBT GBT

AutoCAD 用戶如何使用 ArchiCAD

Microsoft PowerPoint - SAGE 2010

壹 前 言 解 開 2048 的 謎 一 研 究 動 機 最 近 我 們 都 很 熱 衷 於 2048 這 款 遊 戲, 遊 戲 方 法 非 常 簡 單, 但 是 想 要 達 成 2048 卻 很 難, 每 次 只 差 臨 門 一 腳 就 能 達 到 2048, 因 此 都 沒 有 成 功 過 於

Oxford iSolution下載及安裝指南

ebook140-9

Chapter 9: Objects and Classes

INTRODUCTION TO COM.DOC

Microsoft Word - 專題製作研究報告書.doc

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

User Group SMTP

untitled

1

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

Chapter 16 集合

2/14 Buffer I12, /* x=2, buffer = I 1 2 */ Buffer I243, /* x=34, buffer = I 2 43 */ x=56, buffer = I243 Buffer I243I265 code_int(int x, char *buffer)

前言 人類的歷史, 因 一個簡單的思維 而改變! 1776 Thomas Paine COMMON SENSE

0SQL SQL SQL SQL SQL 3 SQL DBMS Oracle DBMS DBMS DBMS DBMS RDBMS R DBMS 2 DBMS RDBMS R SQL SQL SQL SQL SELECT au_fname,au_ lname FROM authors ORDER BY

Microsoft PowerPoint - 城市国际化的典范──日本福冈

68369 (ppp quickstart guide)

1.ai

第一章.FIT)

大 綱 最 有 利 標 目 的 及 類 型 最 有 利 標 之 辦 理 方 式 準 用 最 有 利 標 取 最 有 利 標 精 神 最 有 利 標 之 類 型 及 其 相 關 規 定 適 用 最 有 利 標 準 用 最 有 利 標 及 取 最 有 利 標 精 神 作 業 程 序 及 實 務 分 析

Photoshop CS3 影像創造力 基礎講堂 8 學習流程 學習重要性 學習難度 必學指令工具 實作應用範例 創造舞台燈光的漸層繪圖 延伸學習 雜訊與半透明漸層 8-1 Photoshop Photoshop 8 136

Microsoft PowerPoint - Chapter5

Learning Java

附录J:Eclipse教程

Chapter 2

(Pattern Recognition) 1 1. CCD

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

2/80 2

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

一 专 业 名 称 专 业 名 称 : 会 计 二 入 学 要 求 与 基 本 学 制 入 学 要 求 : 初 中 毕 业 生 基 本 学 制 : 三 年 ; 其 中 前 二 年 为 在 校 学 习 时 间, 最 后 一 年 为 企 业 实 习 时 间 层 次 : 中 职 三 培 养 目 标 本 专

计算机与信息工程系最终.FIT)

Inferno_english_manual01

Autodesk Product Design Suite Standard 系統統需求 典型使用用者和工作流程 Autodesk Product Design Suite Standard 版本為為負責建立非凡凡產品的設計師師和工程師, 提供基本概念設計計和製圖工具, 以取得令人驚驚嘆

第 一 节 认 识 自 我 的 意 义 一 个 人 只 有 认 识 自 我, 才 能 够 正 确 地 认 识 到 自 己 的 优 劣 势, 找 出 自 己 的 职 业 亮 点, 为 自 己 的 顺 利 求 职 推 波 助 澜 ; 一 个 人 只 有 认 识 自 我, 才 能 在 求 职 中 保 持

書面

untitled

USING MAYA ANIMATION Keyset set Maya sets partitions MEL MEL copykey cutkey pastekey scalekey snapkey keytangent bakeresults MEL Command Reference Edi

SDS 1.3

GIGA-BYTE TECHNOLOGY CO., LTD. ("GBT") GBT GBT GBT

epub 61-2

Measurement Studio Expands Your Test and Measurement Programming Power

epub 94-3

WinMDI 28

Cadence SPB 15.2 VOICE Cadence SPB 15.2 PC Cadence 3 (1) CD1 1of 2 (2) CD2 2of 2 (3) CD3 Concept HDL 1of 1

Chapter 2 GIGA-BYTE TECHNOLOGY CO., LTD. ("GBT") GBT GBT GBT

Chapter 2 GIGA-BYTE TECHNOLOGY CO., LTD. ("GBT") GBT GBT GBT

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

InstallShield InstallShield InstallShield Windows Installer ISWI ISWI InstallShield InstallShield InstallShield Windows Installer WI In

多媒體應用 13 新增專案並完成版面配置 <ExMusic01> <activity_main.xml> ImageView ID imgplay ImageView ID imgstop ImageView ID imgfront TextView ID txtsong TextView ID t


导 生 和 被 辅 导 成 员 在 辅 导 过 程 中 的 一 些 不 足 与 可 取 点, 经 过 25 分 钟 的 讨 论, 各 小 组 派 代 表 阐 述 了 各 方 观 点 和 改 进 方 法 然 后, 为 了 改 善 导 生 辅 导 方 法, 让 辅 导 变 得 更 有 效 率, 各 院

102buddhist


The Cochrane Library on Wiley InterScience User Guide Version 2.2 Listen to audio podcasts from The Cochrane Library for commentaries on selected Coch

李 老 他 自 己 却 老 是 自 称 科 员, 老 说 我 李 科 员 怎 样 怎 样, 倒 好 像 这 是 一 个 值 得 他 夸 耀 的 什 么 官 衔 一 样 他 是 我 们 这 个 衙 门 里 资 格 最 老 的 科 员, 他 自 己 却 说 是 这 个 衙 门 里 最 没 有 出 息 的

廉政课堂

Transcription:

Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004-2007 For Evaluation Only. 中文手冊 程式指引 for Visual Basic 1

ProgrammersGuide for Visual Basic 在此章節您將學習如何快速地使用 Microsoft Visual Basic 和 HALCON/COM 的介面, 來發展 HALCON 的應用程式, 我們將會用簡單的步驟來告訴您如何完成 而這個小程式本身就是一個 GUI 的介面 此外您也可以在其它的範例程式中得到其它的程式碼 ( 如 Visual Basic 以及 HALCON 的程式碼 ), 讓您獲得一些額外的資訊 在此章節中所撰寫的程式碼早已跟其它的範例, 一起放在目錄 % HALCONROOT%\examples\vb\Manual 中 然而我們還是希望您照著底下的步驟, 在程式中實際操作過一次, 如此你才能實際了解如何以 Visual Basic 來開發程式, 並可藉由這些步驟獲取一些額外的資訊 請注意, 當您使用 HALCON/COM 和 Visual Basic 時, 您需要在 Windows NT 4.0( Service Pack 4) 或 Windows 2000 Windows Xp 的作業環境下才可使用 ; 此外這些專案的案範例皆由 Visual Basic6.0 所產生 1 First Step: The GUI Go ahead and 1. 開啟 Visual Basic, 產生一個 New Project 的對話方塊, 您可以選擇所要的專案型態 : 選擇 New 標籤頁, 在此範例中我們選擇 Standard EXE 並開啟 2. 點選功能表 Project 項目中的 Components, 產生一個 Components 對話方塊, 這時對話方塊中會列出系統中已安裝之元件 : 選擇 Controls 標籤頁, 然後載入 Halcon/COM library 項目 3. 按下 F2 鍵, 會顯示物件瀏覽器, 你能在這裡找到 HImageX 並且瀏覽某些對應的 method 選取某個 method 後, 就能在物件瀏覽器底部的狀態區域, 顯示出它的參數, 這有如一個簡短的輔助文字 最後關閉這個物件瀏覽器 4. 現在查看螢幕的表單標題為 Form1, 另外在螢幕的右邊我們可以看到一個區域的標題叫 Properties - Form1, 你可以在這個屬性視窗裡改變 active GUI 物件的屬性 現在點選 Form1 的 Caption 並且改變其字串成為 HalconX example 你應該可以在表單標題上立即看到更改的結果 2

圖 10.1: 完成 10.1 的所有步驟之後, 你應該可以完成像圖中的設定 5. 將表單調整到適當的大小 6. 看到左邊的工具箱 : 你可以在這裡找到全部的控制項, 並且可以將它放置到表單裡面 每個控制項都是由一個小小的 icon 所顯示出, 若移動您的滑鼠在不同的 icon 上, 可看到每個 icon 的名稱 你應該會找到一個叫作 HwindowXCtrl 的 icon, 你猜對了! 這就是我們 HALCON 的 ActiveX 控制項 7. 產生一個 HWindowXCtrl 的 icon 在表單中畫出一個矩形區域 ( 大約近似於正方形 ), 放開滑鼠鍵時這個方形區域就會變成黑色的 8. 在左邊的工具箱選擇 CommandButton 的 icon, 在表單中 HALCON window 控制項底下畫出一個 button, 並在屬性盒中改變 button 的 caption 為 Next >> 9. 在工具箱中選擇 Label, 並且在表單中的 button 控制項下面, 畫出一個稍為長的方形區域 如果表單空間上的不足, 請視需要自行調整大小 10. 為了配合之前產生的控制項, 可重新調整表單的大小 最後螢幕上的表單看起來應該和圖 10.1 是一樣的 3

2 Second Step: Functionality 現在你已經完成 GUI 的部份了, 再來你應該開始某些的應用了 : 1. 在表單的任意一個地方按右鍵並選擇 View Code 這時會有一個程式碼視窗覆蓋在表單之上 在這個視窗中有二個 combo box 我們在左邊的 combo box 選擇 Form, 當我們執行程式時, 會先起始表單, 則這個區域的程式碼會先被執行到 2. 在副程式中插入一行程式如下 : Private Sub Form_Load() Label1.Caption = "Click Next to start" 當程式開始時, 將在 bottom 上改變 label 的文字 3. 接下來我們將宣告某些重要的變數 : 在 source code 視窗左邊的 combo box 選擇 General, 並在程式的最前端插入底下二行程式 Dim Monkey As New HImageX Dim Window As HWindowX online selection boxes 將會幫助您, 把所想要使用的物件類型顯示出來 在此處我們只要產生二個物件 :HImageX 和 HWindowX 在第一行中關鍵字 New 的原因是我們要 HImageX 物件被 instantiate( 即配置一塊記憶體給它 ) 第二行的 HWindowX 是不一定需要的, 因為它是一個 ActiveX 控制項, 當我們在表單中產生它時, 它已經是一個 instantiate 4. 當我們知道物件 Monkey 已經是一個 instantiate( 雖然它還沒初始一個影像 ), 但變數 Window 仍不知參照何處, 所以在 Form_Load() 插入另一行程式, 如下 : Private Sub Form_Load() Set Window = HWindowXCtrl1.HalconWindow Label1.Caption = "Click Next to start" 現在, 變數 Window 參照到 ActiveX 控制項的 HWindowX 5. 切換到 Command1 到另一個副程式中插入二行程式, 如下 : Private Sub Command1_Click() Call Monkey.ReadImage ("monkey") Call Window.DispObj(Monkey) 6. 按下 F5 開始執行並且查看其結果! 當我們在輸入程式碼時,Visual Basic 有一個非常便利的特點, 即 : 當它知道這個類別的方法時, 它就允許你從選單中選取你所要的方法 ( 見圖 10.2) 當你呼叫一個方法時, 你也可以透過它的幫助, 在右邊的選單中的提示, 取得正確的參數,( 見圖 10.3) 假如沒有任何的型 4

態顯示出來, 那麼就需要一個 VARIANT Figure 10.2: Visual Basic helping you to select a method. Figure 10.3: Visual Basic helping you with the correct parameters. 3 Final Step: More Functionality 到目前為止的程式只能作一些基本的應用, 不能作其它更多的應用, 但它只需要十行程式碼! 底下我們將延伸這些功能, 將我們的應用程式轉成較小影像的處理 : 1. 在變數宣告的起點擴充一些變數宣數, 如下 : Dim Monkey As New HImageX Dim Window As HWindowX Dim Region As HRegionX Dim Eyes As HRegionX Dim State As Integer 雖然這些宣告不是必需要的 (Visual Basic 會自動的宣告變數 ), 然而事先宣告卻是一很好的作法 5

2. 選取副程式 Command1_Click() 並改變如下 : Private Sub Command1_Click() If State = 3 Then End If State = 2 Then Set Eyes = Region.SelectShape("area", "and", 500, 50000) Set Eyes = Eyes.SelectShape("anisometry", "and", 1, 1.7) Call Window.DispObj(Monkey) Call Window.DispObj(Eyes) Label1.Caption = "click Finish to terminate" Command1.Caption = "Finish" State = 3 If State = 1 Then Set Region = Monkey.Threshold(128, 256) Set Region = Region.Connection() Call Window.SetColored(12) Call Window.DispObj(Region) Label1.Caption = "Next, the ape's eyes will be selected" State = 2 If State = 0 Then Call Monkey.ReadImage("monkey") Call Window.DispObj(Monkey) Label1.Caption = "Next, the image will be segmented into several regions" State = 1 3. 透過一個共用的影像處理範例, 執行這個小程式並觀看它的結果 6

4 其它的範例 有更多的程式碼範例可以讓你學習如何使用 HALCON/COM 這些範例可以在底下的目錄中找到 : %HALCONROOT%\examples\\ 底下的例表中提供更多範例且簡短解譯它的功能 我們建議在你的工作目錄中另外建立新的練習範例, 去對這些範例進行試驗 1. %HALCONROOT%\examples\vb\Applications\FA\ 這個範例是在顯示如果使用 correlation-based pattern matching 2. %HALCONROOT%\examples\vb\Applications\Monitoring\ 這個範例是在顯示道路交通的路口監控 3. %HALCONROOT%\examples\vb\Online\Barcode\ 這個範例是在顯示條碼的閱讀 4. %HALCONROOT%\examples\vb\Online\Measure\ 如何使用測量工具的例子 5. %HALCONROOT%\examples\vb\Online\Movement\ 這個範例是使用不同的影像來找尋移動 6. %HALCONROOT%\examples\vb\Segmentation\ An example illustrating the possibilities for interactive image processing applications. 7. %HALCONROOT%\examples\vb\Tools\Calibration\ 這個範例是在顯示如何校正相機 8. %HALCONROOT%\examples\vb\Tools\Matching\ 這個範例是在顯示如何使用 shape-based matching 9. %HALCONROOT%\examples\vb\Tools\Measure\ 這個範例是在顯示如何量測 IC 的接腳 10. %HALCONROOT%\examples\vb\Manual\ 在此章節中介紹 我們也可以在 examples\vb.net examples\c# examples\delphi 和 examples\mfc 子目錄中找到其它的範例, 這些範例也說明了在 Visual Basic.NET C# Borland Delphi 或其它 Microsoft Visual C++ 的 MFC 中如何使用 HALCON/COM 7