日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【机器视觉】 halcon中图像获取

發布時間:2024/4/24 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【机器视觉】 halcon中图像获取 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

00. 目錄

文章目錄

    • 00. 目錄
    • 01. 概述
    • 02. 相機接口
      • 2.1 USB接口
      • 2.2 IEEE1394接口
      • 2.3 CameraLink接口
      • 2.4 GigE千兆以太網接口
      • 2.5 CoaXPress接口
      • 2.6 Nbase-T接口
      • 2.7 光纖接口
    • 03. Halcon圖像采集過程
      • 3.1 打開設備
      • 3.2 設置相機參數
      • 3.3 獲取圖像
      • 3.4 結束采集圖像
    • 04. Halcon相機助手
    • 05. 文件讀取
      • 5.1 通過讀取圖像助手讀取圖像
      • 5.2 通過拖拽文件到主窗口
      • 5.3 通過圖像采集助手讀取圖片
      • 5.4 通過代碼讀取圖像
      • 5.5 通過代碼生成圖像
    • 06. 預留
    • 07. 附錄

01. 概述

Halcon是一款圖像處理軟件。在Halcon中獲取圖像有3種方式:

  • 使用硬件采集圖像
  • 直接讀取采集好的圖像
  • 通過某些方法生成一張圖像

02. 相機接口

2.1 USB接口

USB接口相機是數字相機,直接輸出數字圖像信號。USB全稱是UniversalSerialBus(通用串行總線),USB接口是4“針”,其中2根為電源線、2根為信號線。USB是串行接口,可熱拔插,連接方便。USB2.0,傳輸速度480Mbps,通訊距離5m,80%的帶寬用于圖像傳輸。USB3.0,傳輸速度4.8Gbps,通訊距離10m,80%的帶寬用于圖像傳輸。由于USB接口相機使用方便,接口廣泛,目前在顯微鏡、科研實驗、便攜式設備等行業大量應用。

2.2 IEEE1394接口

1394接口,又稱“火線”(FireWire),用于將數碼產品與計算機及其他機器之間的連接。IEEE1394總線是高速串行總線,1394a最高的傳輸速度為400Mbps,1394b最高的傳輸速度為800Mbps。IEEE1394支持熱插拔、數據傳輸實時性、采用總線結構、即插即用。1394接口分為4芯和6芯,4芯中有兩對數據線,6芯除數據線外還包括一組電源線以對外接設備進行供電。IEEE1394接口,不需要控制器,可以實現對等傳輸,1394a最大傳輸距離為4.5米,1394b傳輸距離通常為10米,在降數據率情況下可延伸到100米(100Mbps),采用中繼設備支持可進一步提高傳輸距離。

2.3 CameraLink接口

由AIA協會推出的數字圖像信號通訊接口協議,是一種串行通訊協議。采用LVDS接口標準,具有速度快、抗干擾能力強、功耗低。從Channellink技術上發展而來的,在Channellink技術基礎上增加了一些傳輸控制信號,并定義了一些相關傳輸標準。協議采用MDR-26針連接器或SDR-26針連接器,具有高速率,帶寬可達6400Mbps、抗干擾能力強、功耗低的特點。

2.4 GigE千兆以太網接口

由AIA(AutomatdeImagingAssociation)創建并推廣,是一種基于千兆以太網通信協議開發的相機接口標準。適用于工業成像應用,通過網絡傳輸無壓縮視頻信號。是一個使用價格低廉線纜長距離傳輸圖像的標準。

2.5 CoaXPress接口

CoaXPress是一種非對稱的高速點對點串行通信數字接口標準,傳輸速度高達6.25Gbps,傳輸距離超過100m。數據傳輸量大,傳輸距離長,可選擇傳輸距離和傳輸量:從50m@6.25Gbps到170m@1.25Gbps,價格低廉,易集成、支持熱插拔。

2.6 Nbase-T接口

Nbase-T接口技術是有Nbase-T聯盟引領的一種全新的網絡技術,它通過定義一種新的以太網信號方式,使得現有已安裝的雙絞線能夠在長達100m的范圍內突破線纜1Gb/s的限制。Nbase-T可以讓現有大量安裝的超5類和6類線的傳輸速度達到2.5Gb/s或5Gb/s。

Nbase-T接口特點如下:它是GigE接口的升級版,在傳輸距離不變,器材不變的情況下,傳輸速度可以達到5Gb/s。

2.7 光纖接口

光纖接口是基于光纖通信的接口,其傳輸速度可達16.3Gb/s,單模光纖的連接距離可達10km,多模光纖的連接距離可達300m或者500m。一般情況下,光纖需要配備“特別”的采集卡,而且光纖線不能隨意從中間連接,而需要專業設備才能連接,在連接處會比較脆弱,易出現故障。

光纖接口特點包括光纖通道傳輸速度快,傳輸距離遠,但需要更新原有線纜設備。

03. Halcon圖像采集過程

3.1 打開設備

相關算子

open_framegrabber 算子

程序示例

* Select a suitable image acquisition interface name AcqName info_framegrabber(AcqName,'port',Information,Values) * Open image acquisition device using the default settings, see * documentation of the actually used interface for more details open_framegrabber(AcqName,1,1,0,0,0,0,'default',-1,'default',-1.0, \'default','default','default',-1,-1,AcqHandle) grab_image(Image,AcqHandle) close_framegrabber(AcqHandle)

3.2 設置相機參數

相關算子

set_framegrabber_param

get_framegrabber_param

不同相機可以設置的參數有所不同。

3.3 獲取圖像

相關算子

從指定的圖像采集設備啟動異步采集

grab_image_start

從指定的圖像采集設備異步采集一幅圖像

grab_image_async

從指定的圖像采集設備同步抓取圖像

grab_image

異步采集示例

* Select a suitable image acquisition interface named AcqName. open_framegrabber('AcqName', 1, 1, 0, 0, 0, 0, 'default', -1, 'default', \-1.0, 'default', 'default', 'default', -1, -1, AcqHandle) * Start asynchronous grabbing. grab_image_start(AcqHandle, -1) * Run acquisition loop. while (true)* Get image, start next grab.grab_image_async(Image, AcqHandle, -1.0)* Next: Do something with the grabbed image. endwhile close_framegrabber(AcqHandle)

同步采集圖像示例

* Select a suitable image acquisition interface name AcqName info_framegrabber(AcqName,'port',Information,Values) * Open image acquisition device using the default settings, see * documentation of the actually used interface for more details open_framegrabber(AcqName,1,1,0,0,0,0,'default',-1,'default',-1.0, \'default','default','default',-1,-1,AcqHandle) grab_image(Image,AcqHandle) close_framegrabber(AcqHandle)

3.4 結束采集圖像

相關算子

關閉指定的圖像采集設備

close_framegrabber

04. Halcon相機助手

通過Halcon相機助手采集圖像,然后生成代碼。

05. 文件讀取

在不能通過硬件獲取圖像的時候,就需要將拍攝好的圖像加載到程序中,HALCON提供了幾種讀取圖像的方法。

5.1 通過讀取圖像助手讀取圖像

選擇“文件”菜單中的“讀取圖像”的選項

選擇圖像,然后選擇確定

生成代碼如下:

read_image (Image, 'E:/蘋果.jpg')

5.2 通過拖拽文件到主窗口

拖拽圖片文件到Halcon主窗口,出現如下對話框

選擇確定,自動插入如下代碼

read_image (Image2, 'E:/蘋果2.jpg')

5.3 通過圖像采集助手讀取圖片

最后生成代碼如下

* Image Acquisition 01: Code generated by Image Acquisition 01 list_files ('E:', ['files','follow_links'], ImageFiles) tuple_regexp_select (ImageFiles, ['\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima|hobj)$','ignore_case'], ImageFiles) for Index := 0 to |ImageFiles| - 1 by 1read_image (Image, ImageFiles[Index])* Image Acquisition 01: Do something endfor

5.4 通過代碼讀取圖像

通過代碼的方式批量讀取文件夾圖像

* Image Acquisition 01: Code generated by Image Acquisition 01* 文件路徑 list_files ('E:/IMG', ['files','follow_links'], ImageFiles)* 篩選圖片格式 tuple_regexp_select (ImageFiles, ['\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima|hobj)$','ignore_case'], ImageFiles)* 循環讀取文件夾圖像 for Index := 0 to |ImageFiles| - 1 by 1read_image (Image, ImageFiles[Index])* Image Acquisition 01: Do something endfor

5.5 通過代碼生成圖像

示例代碼如下

* 生成一張無灰度的圖像 gen_image_const (Image, 'byte', 32, 32)* 生成一種灰度漸變的圖像 gen_image_gray_ramp (ImageGrayRamp, 1, 1, 128, 256, 256, 512, 512)* 生成一張有灰度的圖像 gen_image_proto (ImageGrayRamp, ImageCleared, 128)* 設置圖像某點灰度值 set_grayval (ImageCleared, 10, 10, 255)

06. 預留

07. 附錄

7.1 機器視覺博客匯總
網址:https://dengjin.blog.csdn.net/article/details/116837497

總結

以上是生活随笔為你收集整理的【机器视觉】 halcon中图像获取的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。