導航:首頁 > 器材知識 > halcon如何控制外接設備

halcon如何控制外接設備

發布時間:2022-03-08 08:08:59

Ⅰ halcon如何設置一個循環,來非同步採集圖像,介面是大恆相機,求代碼,初學者,見諒!

用助手---打開新的Image Acquisition---圖像獲取介面(選擇對應的)---代碼生成---插入代碼
下面是DirectShow介面的代碼
* Code generated by Image Acquisition 02
open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', 'Integrated Camera', 0, -1, AcqHandle)
grab_image_start (AcqHandle, -1)
while (true)
grab_image_async (Image, AcqHandle, -1)
* Do something
endwhile
close_framegrabber (AcqHandle)

Ⅱ Halcon加密狗運行狗驅動如何安裝

Halcon10、11、12安裝位置:
安裝目錄D:Program FilesMVTecHALCON-xx.0FLEXlmx86sse2-win32flexid9(xx為10、11、12)

Ⅲ halcon連接電腦自帶相機失敗,顯示device cannot be initialized

摘要 親愛的---UG NX12.0提示Package mole cannot be initialized是設置錯誤造成的,解決方法為:

Ⅳ halcon中怎麼獲取多邊形的外接橢圓

外接橢圓不唯一哦,外接圓還差不多

Ⅳ 能介紹下怎麼用halcon編程嗎! 謝謝!

你如果安裝了Halcon的話,裡面會附有程序員文檔,說明了在各種編程語言如何操作Halocn提供的函數或者使用導出的類,並且在Example中提供有關具體應用的例子。常用的方法是先在Halocn提供的集成開發環境中做實驗,然後導出成某種編程語言,再應用到自己的程序中。PS:居然沒有懸賞分。

Ⅵ HALCON機器視覺軟體的HALCON選擇

近年來,由於Machine Vision技術的發展,這種可以取代人眼,對重復工作不會疲勞,精度高且穩定的特質,促成了高科技業,例如電子業產能的大幅提升。而MVTec公司更是不斷的與學術界合作,並且將最新的學術研究成果納入其中,不但使自己的技術處於業界領導地位,同時也將machine vision技術推向更高的境界。讓您選擇HALCON出於以下3點理由:
1.為了讓使用者能在最短的時間里開發出視覺系統,HALCON包含了一套互動式的程序設計界面HDevelop,可在其中以HALCON程序代碼直接撰寫,修 改,執行程序,並且可以查看計算過程中的所有變數,設計完成後,可以直接輸出C、C++、VB、C#、vb等程序代碼,套入您的程序中。 HDevelop同時和數百個范常式序鏈接,除了個別計算功能的說明,您也可以隨時依據不同的類別找到應用的範例,方便參考。此外,以問題為導向的手冊, 可以讓您找到最適切的使用說明以及作業觀念。
2.HALCON不限製取像設備,可以自行挑選合適的設備。原廠已提供了60 余種相機的驅動鏈接,即使是尚未支持的相機,除了可以透過指標(pointer)輕易的抓取影像,還可以利用HALOCN開放性的架構,自行撰寫DLL文件和系統連接。
3.使用HALOCN,在設計人機介面時沒有特別的限制,也不必特別的可視化組件,您可以完全使用開發環境下的程序語言,例如visual studio、.NET、Mono等等,架構自己的介面,end user看不到您的開發工具,而且在執行作業的機器上,只需要很小的資源套件。

Ⅶ halcon中如何將自己封裝的運算元放到哪個文件夾

安裝VMware-workstation10.0,並創建最小硬體系統的虛擬機環境。注意虛擬機硬碟介面為IDE。具體操作:創建新的虛擬機→經典→稍後安裝操作系統→選擇windows 7→在可用空間超過20G的磁碟分區新建一個文件夾,並選中它作為虛擬機的位置→下一步,下一步,完成→編輯虛擬機設置→刪除(SCSI硬碟,網卡,音效卡,USB,列印機)→添加IDE硬碟→下一步……完成。如下圖:

給虛擬機硬碟分區。(1)雙擊虛擬機硬碟→選擇「使用ISO鏡像文件」→選中U盤裝機助理→確定。(2)開啟虛擬機,同時滑鼠點進虛擬機並按F2進虛擬機BIOS→在Boot項將CD-ROM調為第一啟動項(用上下鍵配合減號鍵操作),保存,重啟→進win7 PE→打開DiskGenius→按F6快速分區(主分區+邏輯分區),如下圖→分完關閉虛擬機。

給虛擬機安裝win7原版系統。(1)雙擊虛擬機硬碟→選擇「使用ISO鏡像文件」→選中win7原版ISO→確定。(2)開啟虛擬機→滑鼠點進虛擬機,按任意鍵讀取ISO文件→接下來就和真機安裝win7一樣了……安裝類型選擇自定義,然後選擇安裝在主分區……→經過一段時間,系統來到如下圖的一步→此時不要點下一步;
為什麼不要點下一步呢?→因為我們封裝的系統最好開啟Administrator用戶,以後獲得高級許可權。而此時有種簡易的操作方法不會對系統生成任何殘留(這是S大提供的方法)。
此時按Ctrl+Shift+F3,虛擬機突然重啟,最後進入系統。進入系統後,桌面竟然冒出個「系統准備工具」,而且它是每次重啟都會出現,不用理會,取消或X掉。接著關閉虛擬機。

給虛擬機系統做備份。備份的目的是之後操作失誤還有得挽回,所以不是最終結果,只要快速壓縮就可以了。(1)雙擊虛擬機硬碟→選擇「使用ISO鏡像文件」→選中U盤裝機助理ISO文件→確定。(2)開啟虛擬機→選擇win7PE進去→打開手動GHO來備份,如下圖操作:

文件導入。打開DiskGenius→硬碟→打開虛擬機硬碟→選擇我們創建的虛擬機文件位置→選中windows 7—0打開→接下來跟隨下圖接著操作

系統設置。系統幾處主要設置:(1)滑鼠右擊桌面→個性化→更改桌面圖標→在「計算機」,「用戶的文件」,「網路」前面的小方格打鉤→應用→確定。(2)計算機右鍵→屬性→系統保護→關閉C盤系統保護。(3)計算機右鍵→屬性→操作中心→更改用戶帳戶控制設置→手動滾動條到最下面選為從不通知,確定。(4)計算機右鍵→屬性→操作中心→更改操作中心設置→把問題報告設置→選擇所有用戶從不檢查解決方案。(5)指定程序C:/programfiles/Internet explorer/iexplore右鍵復制到桌面(假如您打算升級到IE9,或IE10,那麼您要在IE升級之後再操作這一步)(4)調出寬頻連接:單擊右下角網路圖標→打開網路和共享中心→設置新的連接或網路→連接到internet→在「顯示此計算機未設置使用的連接選項」前面打鉤→點「寬頻」→點「連接」,無須設置→等出現「跳過」選項,就點「跳過」→關閉,單擊打開「更改適配器設置」→右擊「寬頻連接」→取消默認連接,創建快捷方式到桌面,並重命名為寬頻連接即可。(6)打開控制面板→優化視頻顯示→拉到底部,關閉所有不必要的動畫。(7)設置IE:打開IE→工具→internet選項,常規選項設置如下圖,連接選項設置寬頻連接從不撥號連接。

Ⅷ 如何利用halcon進行手眼標定

初始參數是0.0195,注意halcon里單位是m k是畸變系數,可以初始為0 sx和sy是相鄰像元的水平和垂直距離,1/4"可以查得分別寬和高尺寸是3.2和2.4mm,用320×240去除,得到sx和sy分別是0.01mm,那麼應該初始為sx=1.0e-005和sy=1.0e-005,Cx和Cy分別是

Ⅸ 怎樣使用HALCON/.NET類

在HALCON/.NET,我們可以用過一個類的實例
(instances of class)來調用HALCON運算元。在HalconDotNet引用里,也就是動態鏈接庫里包許多實例化一個類方法,這些
方法可能是重載的,靜態的HALCON運算元我們可以直接通過類名來調用(這些方法包括HALCON里所有的運算元),而非靜態的方法必須要通過實例化一個類
後才可以使用,通常HALCON/.NET封裝了一個類的實例化方法以及類方法。

例如在C++中,可以使用以下兩種方法:

1. C++(運算元模式)

通過代碼導出,以C++為例,默認導出為運算元型的語法結構,而非面向對象的;在此模式下,全部函數聲明為全局類型,數據類型只需要用Hobject、HTuple兩類類型進行聲明;

2. C++(面向對象)

可以以面向對象的方式重寫代碼,也即利用類及類的成員函數;在這種模式下,控制變數的類型仍未HTuple,而圖形數據可以由多種類型,如HImage等;

HALCON手冊建議使用者使用第二種方法。

例如我們使用第二種方法實現抓取圖像序列(imagesequence)里第一張圖像,並且將他顯示在HWindowControl窗口中。代碼是:

[cpp] view plain
private HWindow Window;
private HFramegrabber Framegrabber;
private HImage Img;
Window= WindowControl.HalconWindow;
Framegrabber= new HFramegrabber("File", 1, 1, 0, 0, 0, 0, "default",
-1,"default", -1, "default",
"board/board.seq","default", 1, -1);
Img= Framegrabber.GrabImage();
Img.DispObj(Window);

GrabImage運算元是通過HFramegrabber的實例來調用的。如果你是一個有經驗的HALCON使用者,也許你已經看出來HFramegrabber的構造函數調用了OpenFramegraber運算元。

但是對於新手來說,可能剛剛接觸Halcon,對於Halcon運算元還處於熟悉階段,從Hdevelop中直接到出來的代碼也是直接使用靜態類。那麼建議先使用第一種方法,你只需要明白通過HOperatorSet這個類你可以調用任何一個HALCON運算元。

下面我們來看一下到底怎麼樣調用一個運算元。以GrabImage運算元為例:

[cpp] view plain
static void HOperatorSet.GrabImage (out HObject image, HTuple acqHandle)//靜態方法直接調用運算元,包含的參數和halcon運算元參數完全相同
void HImage.GrabImage (HFramegrabber acqHandle)//類中封裝的類方法,要先實例化類後才可以使用
HImage HFramegrabber.GrabImage ()//重載的方法
image(output_object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . image ; HImage
acqHandle(input_control) . . . . . . . . . . . . . . . . . . . . . . . . . .framegrabber ; HFramegrabber / HTuple

[cpp] view plain

我們可以看出,運算元可以通過三個類進行調
用:HOperatorSet, HImage,和HFramegrabber。其中第一種通過HOperatorSet調用主要是用在導出的
HDevelop中(如果你導出程序的話就會看到),也是建議新手使用的方法。而熟悉了之後一般我們在寫程序時建議使用另外兩種方式,就像下面這樣進行調
用:

[cpp] view plain
HImage Image1;
HImage Image4 = newHImage();
HFramegrabberFramegrabber =
newHFramegrabber("File", 1, 1, 0, 0, 0, 0, "default", -1,
"default",-1, "default", "board/board.seq", "default", -1,-1);
Image1 =Framegrabber.GrabImage();
HImage Image3 = null;

需要注意的是通過
HFramegrabber調用返回方法的值,而通過HImage調用沒有返回值而是調用的類實例被修改,也就是HImage對象被修改。通常,調用類實
例不會被一個運算元所修改,除了被上面所看到的「類構造器」(constructor-like)運算元調用。

一些運算元像CountSeconds可以當做類方法來使用,例如,你可以直接通過類名調用它們而不用生成一個實例:

[cpp] view plain
double S1, S2;
S1 =HSystem.CountSeconds();

這是因為這些運算元聲明前面都有static關鍵字:

[cpp] view plain
static void HOperatorSet.CountSeconds (outHTupleseconds)
static double HSystem.CountSeconds()<span style="font-family:'Times New Roman'; font-size:14px; line-height:21px"> </span>

下面我們看一下類的生命周期:從聲明(Declaration)到終結(Finalization)

下面的聲明僅僅聲明了一個類HImage的變數,而沒有指向任何的對象:

[cpp] view plain
HImage Image1;

在這個語句中,你不能只使用變數直接去調用運算元;有些語言裡面甚至不能夠將它用做一個輸出參數(例如VB 2005)。只有先給它一個圖像對象,例如:

[cpp] view plain
Image1 =Framegrabber.GrabImage();

你也可以在聲明的時候初始化一個變數:

[cpp] view plain
HImage Image2 =Framegrabber.GrabImage();

[cpp] view plain
<span style="font-family:Arial,Helvetica,sans-serif"></span><pre name="code" class="cpp">HImage Image3 = null;</pre>

你可以通過一個IsInitialized方法來檢驗一個類實例是否被初始化。

但是使用構造函數(Constructors)後的對象就可以了:

下面的式子是利用類HImage空的構造函數來初始化一個類變數

[cpp] view plain
HImage Image4 = new HImage(); <span style="font-family:'Times New Roman'; font-size:14px"> </span>

類實例可以用來調用「類似構造函數」運算元像GrabImage,用抓住的一張圖片初始化類變數:

[cpp] view plain
Image4.GrabImage(Framegrabber);

除了空的構造器,大部分HALCON/.NET類提供一個或者更多的構造器來初始化基於HALCON運算元的對象。例如,HImage提供了一個構造器:

[cpp] view plain
HImage Image5 = newHImage("fuse");<span style="font-family:'Times New Roman'; font-size:14px; line-height:21px"> </span>

reference manual和右鍵go to definition是很好的參考資料。

關於Finalizers

在.NET中程序員不需要考慮內存管理方面的事情,因為它有自動垃圾回收回收哪些不再使用的對象。HALCON/.NET完全遵循這種規則通過提供所有類的回收器,所以不需要管理資源,例如,一個圖像採集設備的連接會被自動正確的刪除。

對於大部分類,回收器自動調用合適的運算元像CloseFramegrabber來釋放資源。調用的運算元在一個參考手冊頁中列了出來(例如HFramegrabber)。這個運算元不可以通過類來調用,在相應的參考手冊條目中可以看到:

[cpp] view plain
static void HOperatorSet.CloseFramegrabber (HTupleacqHandle)

也就是說你沒有必要調用這樣一個運算元,如果你想用別的參數從新進行連接,它會自動執行。

注意當用HFramegrabber一般的類時不能使用HOperatorSet來關閉或者清除運算元。

但是對於像圖像這種數據變數,它們包含的只是引用,對於他們指向的內存垃圾回收機制也許不會直接清除,這些就需要手動清除:

有一種方法是在處理完事件後直接調用GC清除:

[cpp] view plain
private void Timer_Tick(object sender, System.EventArgs e)
{
Action();
GC.Collect();
GC.WaitForPendingFinalizers();
}

另一種方法是直接調用自帶的銷毀方法:

[cpp] view plain
HImage Image = new HImage("fuse");
...
Image.Dispose();

Ⅹ 怎麼向halcon中發送串口數據

關於串口設備,最好聯系廠家詢問是否提供API介面。

關於API介面一般是一個可供調用的DLL文件。

如果有可以直接在C#中引用,作為類庫來操作設備。

具體調用方式需要詢問廠家或參閱api的文檔說明。

不提供軟體介面的設備是無法進行開發的。

我大概搜了下這個設備,設備是提供配套軟體的,那麼這款設備是有相關通訊介面類庫的,也就是可以用C#進行開發。
如果找不到API文檔,
請嘗試用串口調試工具,跟蹤配套軟體的每一步操作,獲取串口通訊報文,用C#模擬操作報文自己封裝通訊類後進行開發。

閱讀全文

與halcon如何控制外接設備相關的資料

熱點內容
steam令牌換設備了怎麼辦 瀏覽:246
新生測聽力儀器怎麼看結果 瀏覽:224
化學試驗排水集氣法的實驗裝置 瀏覽:156
家用水泵軸承位置漏水怎麼回事 瀏覽:131
羊水鏡設備多少錢一台 瀏覽:125
機械制圖里型鋼如何表示 瀏覽:19
測定空氣中氧氣含量實驗裝置如圖所示 瀏覽:718
超聲波換能器等級怎麼分 瀏覽:800
3萬軸承是什麼意思 瀏覽:110
鑫旺五金製品廠 瀏覽:861
蘇州四通閥製冷配件一般加多少 瀏覽:153
江北全套健身器材哪裡有 瀏覽:106
水表閥門不開怎麼辦 瀏覽:109
花冠儀表盤怎麼顯示時速 瀏覽:106
洗砂機多少錢一台18沃力機械 瀏覽:489
超聲波碎石用什麼材料 瀏覽:607
組裝實驗室製取二氧化碳的簡易裝置的方法 瀏覽:165
怎麼知道天然氣充不了閥門關閉 瀏覽:902
公司賣舊設備掛什麼科目 瀏覽:544
尚葉五金機電 瀏覽:59