博客專欄

EEPW首頁 > 博客 > Spinnaker SDK:專為機(jī)器視覺構(gòu)建的 API 庫

Spinnaker SDK:專為機(jī)器視覺構(gòu)建的 API 庫

發(fā)布人:12345zhi 時(shí)間:2023-09-22 來源:工程師 發(fā)布文章

圖片

借助廣泛的 Teledyne GigE 和 USB3 面陣掃描相機(jī)支持,工程師可以使用 Spinnaker 快速開發(fā)用于視覺應(yīng)用的軟件解決方案。通過提供完全控制相機(jī)的選項(xiàng),Spinnaker 允許用戶管理圖像處理管道的每一層。此外,Spinnaker 還提供了一種通過相機(jī)功能來保證系統(tǒng)不會過時(shí)的方法,這些功能可以通過動態(tài)加載到計(jì)算機(jī)中來添加,而無需重新編譯代碼。

SpinView GUI

圖片

Spinnakers SpinView GUI 具有直觀的界面,允許用戶訪問所有相機(jī)控件。通過 SpinView 演示應(yīng)用程序,用戶無需編寫任何代碼即可探索和評估所有相機(jī)功能。 這使得開發(fā)人員無需花費(fèi)時(shí)間就可以快速了解視覺系統(tǒng)的功能。

SpinView 提供的各種功能使 Teledyne 相機(jī)上的圖像采集成為一項(xiàng)簡單的任務(wù)。通過利用 Spinnaker 的簡單框架,用戶能夠在同一天內(nèi)編寫概念驗(yàn)證演示。為了確保無縫操作,用戶在渲染顯示時(shí)可以利用計(jì)算機(jī)處理器 (CPU) 或顯卡 (GPU)。這樣,Spinnaker 將適應(yīng)現(xiàn)有的硬件,并確保無論使用何種系統(tǒng),都能無縫運(yùn)行。

01 附加功能

■ 保存圖像到磁盤

■ 錄制視頻到磁盤

■ 顯示直方圖和十字標(biāo)線

■ 可定制的布局

■ 功能搜索

■ 可定制的日志

02 在現(xiàn)有項(xiàng)目基礎(chǔ)上構(gòu)建

通過 Spinnaker,Teledyne 提供了簡單直觀的 API,旨在讓開發(fā)變得更加輕松。提供對 C++、C#、C、VB.NET、Python 2.7、Python 3.10、ActiveX 和 DirectShow 的支持,開發(fā)人員可以使用他們最熟悉或最適合其應(yīng)用的編程語言來構(gòu)建應(yīng)用程序。使用易于學(xué)習(xí)的 API 可輕松排除故障和調(diào)試代碼。

剛接觸 SDK 的開發(fā)人員可利用示例代碼獲得有關(guān)如何使用其各種功能的指導(dǎo)。這些示例通過演示在不同場景下如何使用 SDK,幫助開發(fā)人員了解如何將 SDK 應(yīng)用到其自己的項(xiàng)目中。

03 多種相機(jī)選項(xiàng)

圖片

隨著視覺系統(tǒng)的發(fā)展或新相機(jī)的推出,Spinnaker 還將繼續(xù)支持各種成像解決方案,這一點(diǎn)請放心。受支持相機(jī)上的接口包括 USB3、1GigE、5GigE 和 10GigE。其中包括 Blackfly S、Firefly S、Genie Nano、Lt Series、Forge 和 Oryx 等型號,未來還會支持更多型號。

這種對我們機(jī)器視覺相機(jī)產(chǎn)品組合的持續(xù)支持,使開發(fā)人員能夠創(chuàng)建一個(gè)應(yīng)用程序并在未來的升級中繼續(xù)重用其應(yīng)用程序。該系統(tǒng)還可靈活擴(kuò)展不同的相機(jī),允許開發(fā)人員在隨時(shí)間推移升級或更換視覺系統(tǒng)中的相機(jī)時(shí)創(chuàng)建涉及多個(gè)相機(jī)型號的復(fù)雜項(xiàng)目。這確保了應(yīng)用程序在未來幾年內(nèi)能夠與新硬件兼容。因此,當(dāng)工程師開發(fā)視覺解決方案時(shí),他們可以進(jìn)行一次性投資來確保自己的未來,而無需擔(dān)心浪費(fèi)開發(fā)資源。

04 應(yīng)用工具

圖片

借助 Spinnaker 廣泛的可視化和調(diào)試工具,開發(fā)人員可以針對各種視覺應(yīng)用對其系統(tǒng)進(jìn)行故障排除和優(yōu)化。通過最新版本的 AdapterConfig 工具,Teledyne 支持跨 Teledyne 各種產(chǎn)品線輕松設(shè)置 GigE 相機(jī),包括 5GigE 和 10GigE 相機(jī)。這是一個(gè)自動化過程,可為每臺 GigE 相機(jī)提供即插即用體驗(yàn),并且可以優(yōu)化每臺相機(jī)以降低出現(xiàn)不可預(yù)測計(jì)算機(jī)行為的可能性。

DriverInstaller 工具允許用戶切換 Teledyne 驅(qū)動程序和第三方驅(qū)動程序,從而提供簡單的靈活性。這樣可以輕松訪問 Teledyne 軟件,同時(shí)還允許系統(tǒng)集成商使用許多第三方支持的軟件解決方案。借助此工具,依賴于特定軟件的系統(tǒng)可以更新其系統(tǒng)以與 Spinnaker 配合使用,同時(shí)仍保持現(xiàn)有工具的協(xié)同工作。

其他工具包括用于糾正缺陷像素的 SpinPixelCorrection、幫助節(jié)省調(diào)試時(shí)間的日志記錄工具,以及用于優(yōu)化 Linux 系統(tǒng)的套接字參數(shù)的 GigE Network Tweaking 工具。

05 操作系統(tǒng)支持

Teledyne 非常重視對各種操作系統(tǒng)的支持,以確保輕松集成 Spinnaker。支持的操作系統(tǒng)包括 Ubuntu 22.04、Windows 10、MacOS 和 Linux ARM。由于 Teledyne 視覺系統(tǒng)的許多用戶擁有多種多樣的應(yīng)用程序,跨多個(gè)平臺的支持使開發(fā)人員能夠靈活地構(gòu)建其應(yīng)用程序并廣泛兼容各種行業(yè)標(biāo)準(zhǔn)。

由于用戶可能擁有使用不同操作系統(tǒng)的各種系統(tǒng),Teledyne 開發(fā) Spinnaker 時(shí)將其設(shè)計(jì)為可在最適合應(yīng)用程序需求的操作系統(tǒng)上運(yùn)行。這也讓用戶相信,如果他們在應(yīng)用程序中使用多個(gè)系統(tǒng),Spinnaker 專為跨網(wǎng)絡(luò)協(xié)作而設(shè)計(jì),并支持在多臺機(jī)器上應(yīng)用其 Teledyne 視覺解決方案。

06 幾分鐘內(nèi)開始編碼

視覺系統(tǒng)有很多部分。某些系統(tǒng)增加的復(fù)雜性可能會導(dǎo)致需要額外的集成時(shí)間。Spinnaker 的一個(gè)主要目標(biāo)是創(chuàng)建高效的工作環(huán)境,以減少開發(fā)過程中花費(fèi)的時(shí)間。

為了確保 Spinnaker 的無縫集成,Teledyne 使其能夠輕松接入熟悉的 Visual Studio 環(huán)境。無需記住相機(jī)設(shè)置或節(jié)點(diǎn)圖名稱即可開始 Visual Basic 開發(fā)。在編碼時(shí)利用智能功能來預(yù)測特征名稱。

07 T2IR 支持

觸發(fā)到圖像可靠性 (T2IR) 是一個(gè)結(jié)合軟件和硬件功能來構(gòu)建可靠檢測系統(tǒng)的框架。借助 T2IR,Teledyne 相機(jī)的用戶可以相信他們的系統(tǒng)在使用 Spinnaker 時(shí)能夠按預(yù)期運(yùn)行。通過優(yōu)化相機(jī)與計(jì)算機(jī)系統(tǒng)之間的連接,可以預(yù)防圖像采集過程中可能發(fā)生的許多典型錯誤。

隨著視覺系統(tǒng)變得越來越復(fù)雜,能夠監(jiān)控系統(tǒng)性能就變得非常重要。使用 T2IR 允許系統(tǒng)以受控方式管理異常。當(dāng)出現(xiàn)問題時(shí),Teledyne 提供調(diào)試和跟蹤工具,以確保快速排除故障。使用設(shè)備和流診斷來識別數(shù)據(jù)包丟失的位置是一種快速調(diào)試方法。Spinnaker 默認(rèn)包含易于配置的文件,可用于將調(diào)試消息直接記錄到指定目錄,從而安全存儲重要數(shù)據(jù)。

使用事件處理功能優(yōu)化代碼,該功能可向用戶發(fā)送事件通知并刪除占用大量資源的輪詢代碼。使用緩沖區(qū)管理功能避免主機(jī)設(shè)備過載。通過對相機(jī)和主機(jī)緩沖區(qū)的精確控制,可以妥善保存和發(fā)送圖像。還通過幀觸發(fā)等待功能優(yōu)化了圖像捕獲,每當(dāng)相機(jī)有機(jī)會捕獲新幀時(shí),該功能都會通過與主機(jī)進(jìn)行通信來防止幀丟失。  通過這些強(qiáng)大的工具,T2IR 有助于減少停機(jī)時(shí)間,同時(shí)提高整體應(yīng)用程序的響應(yīng)性。

08 GigE Multiplicity

Spinnaker 3.0 的發(fā)布包含了額外的更新,它位于一個(gè)稱為 GigE Multiplicity 的新 T2IR 層下。這組功能旨在優(yōu)化視覺系統(tǒng)中的多臺 GigE 相機(jī)。

主要功能之一是多核 GigE 優(yōu)化器。該功能可以將 GigE 網(wǎng)絡(luò)流量分布到多個(gè)處理器內(nèi)核上,從而使系統(tǒng)能夠更高效地處理流量。當(dāng)通過網(wǎng)絡(luò)發(fā)送大量數(shù)據(jù)時(shí),多核 GigE 優(yōu)化器可以幫助防止系統(tǒng)過載。

跨多個(gè) CPU 核心管理流量,能夠更好地利用主機(jī)設(shè)備的資源。每個(gè)核心可以處理流量數(shù)據(jù)流的不同部分。作為 T2IR 的一部分,記錄網(wǎng)絡(luò)流量何時(shí)減慢的文本和視覺指示有助于排查不可預(yù)測的行為,并防止出現(xiàn)更多瓶頸。

可擴(kuò)展性是許多機(jī)器視覺系統(tǒng)的重要因素。通過允許系統(tǒng)按需擴(kuò)展,多核 GigE 優(yōu)化器能夠保持流量負(fù)載,即使流量增加也不會變得不堪重負(fù)。這在向系統(tǒng)添加新相機(jī)以及保留未使用的核心來管理額外網(wǎng)絡(luò)流量等操作中發(fā)揮著重要作用。

*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: 機(jī)器視覺 API

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉