国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【VisionMaster SDK開發(fā)】第三講 C#二次開發(fā)介紹及應用案例

這篇具有很好參考價值的文章主要介紹了【VisionMaster SDK開發(fā)】第三講 C#二次開發(fā)介紹及應用案例。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

VisionMaster(后簡稱VM)作為一款功能強大的工業(yè)圖像算法平臺,可對工業(yè)中遇到的各種圖像進行處理,同時擁有性能強大的算子以及豐富的教學例程,作為圖像處理的通用平臺是非常不錯的選擇。但Vision Master軟件依舊有不足,就是難以配置復雜或定制化的圖形界面,故需要結合其他軟件聯(lián)合編程開發(fā)。因此,VM同步推出面向對象編程的平臺SDK(Software Development Kit)開發(fā)。VM SDK開發(fā)理念是以極少的代碼實現(xiàn)視覺軟件的集成開發(fā),從而降低視覺開發(fā)人員對視覺處理邏輯代碼的維護成本。本文將詳細介紹如何使用VM SDK聯(lián)合C#二次開發(fā)。

一、VM SDK(4.2版本)介紹

VM算法平臺和VM SDK的區(qū)別
VM算法平臺是??禉C器人自主開發(fā)的機器視覺軟件,致力于為客戶提供快速搭建視覺應用、解決視覺檢測難題的算法工具,能滿足視覺定位、尺寸測量、缺陷檢測以及信息識別等機器視覺應用。
【VisionMaster SDK開發(fā)】第三講 C#二次開發(fā)介紹及應用案例
VM SDK是基于VM算法平臺中的方案、流程和模塊工具等進行對象級封裝的二次開發(fā)工具包,用戶可通過VM SDK提供的方案、流程和模塊工具中各個對象的功能接口進行相應的數(shù)據(jù)交互與運行控制。同時提供相應的流程配置控件、參數(shù)配置控件、渲染控件、全局工具控件以及前端運行界面控件等,方便進行方案編輯、參數(shù)配置以及渲染展示,便于靈活進行開發(fā),并擴展機器視覺應用。VM SDK在安裝VM軟件后會同步安裝在安裝路徑下的Development文件夾下,并提供了開發(fā)文檔及豐富的二次開發(fā)示例。
【VisionMaster SDK開發(fā)】第三講 C#二次開發(fā)介紹及應用案例

二、開發(fā)步驟

VM SDK開發(fā)的載體是方案(VmSolution),且同一臺電腦同一時刻只支持一個二次開發(fā)進程運行,因此其二次開發(fā)是都是圍繞VmSolution這個單例開發(fā)的,大概開發(fā)思路如下圖(參考VM二次開發(fā)文檔)所示:
【VisionMaster SDK開發(fā)】第三講 C#二次開發(fā)介紹及應用案例

2.1 方案加載

VM二次開發(fā)方案加載: 方案后綴為sol(一般建議在VM軟件中創(chuàng)建好算法方案,在二次開發(fā)中調用),路徑為絕對路徑。

VmSolution.Load(“方案路徑”);

加載完成后就可以對方案進行操作了,當然VM SDK也提供了用來顯示方案的控件(VmProcedureConfigControl 流程配置控件和VmMainViewCongfigControl 主界面控件),無需綁定,只要界面中有這兩個中任意控件,加載完方案后會自動綁定顯示,如圖所示為實際加載效果。
【VisionMaster SDK開發(fā)】第三講 C#二次開發(fā)介紹及應用案例

2.2 參數(shù)修改

VM二次開發(fā)為修改算法參數(shù)提供了兩種方式:
2.2.1 方式1: 用自帶的參數(shù)配置控件( VmParamsConfigControl 參數(shù)配置控件、VmParamsConfigWithRenderControl 參數(shù)配置帶渲染控件)調參。
控件綁定模塊代碼示例:

IMVSCircleFindModuCs.IMVSCircleFindModuTool circleFindTool = (IMVSCircleFindModuCs.IMVSCircleFindModuTool)VmSolution.Instance["流程1.圓查找1"];
vmParamsConfigWithRenderControl1.ModuleSource = circleFindTool;

綁定完成后,控件就會自動填充當前模塊的參數(shù)配置信息,然后進行修改即可(注意這里修改的參數(shù)并不會實時保存到方案文件里,需要調用方案保存接口才會保存)。
【VisionMaster SDK開發(fā)】第三講 C#二次開發(fā)介紹及應用案例
2.2.2 方式2: 調用工具類的模塊參數(shù)對象(ModuParams)提供的接口或Public屬性(可以在開發(fā)文檔中查閱、也可以在VS中進入相關參數(shù)類的定義中進行查閱)來修改。示例代碼如下:

IMVSCircleFindModuCs.IMVSCircleFindModuTool circleFindTool = (IMVSCircleFindModuCs.IMVSCircleFindModuTool)VmSolution.Instance["流程1.圓查找1"];
circleFindTool.ModuParams.RadNum = 10;

2.3 流程執(zhí)行

VM算法執(zhí)行方式有多種:二次開發(fā)仍然支持VM中配置的硬觸發(fā)和通訊觸發(fā),同時提供了Run接口來支持軟觸發(fā)。軟觸發(fā)示例代碼如下:

VmSolution.Instance.Run();

上述的方案Run接口會觸發(fā)所有流程同時執(zhí)行一次,當然也提供了單個控制流程/模塊執(zhí)行的方式,需要先實例化需要Run的流程/模塊對象,然后調用該對象的Run接口即可觸發(fā)流程/模塊執(zhí)行,示例代碼如下:

VmProcedure vmProcess1 = (VmProcedure)VmSolution.Instance["流程1"];
vmProcess1.Run();
var circleFind = (IMVSCirrleFindModuTool)VmSolution.Instance["流程1.圓查找1"];
circleFind.Run();

2.4 結果獲取

2.4.1 渲染結果獲?。?/strong>
方式1: VM SDK提供了渲染控件(vmRemderControl),可以通過給該控件直接綁定流程/模塊對象資源來實現(xiàn)相應對象顯示設置配置的渲染。示例代碼如下:

VmProcedure vmProcess1 = (VmProcedure)VmSolution.Instance["流程1"];
vmRenderControl1.ModuleSource = vmProcess1;
//綁定模塊渲染結果
Var circleFind = (IMVSCircleFindModuTool) VmSolution.Instance["流程1.圓查找1"];
vmRenderControl1.ModuleSource = circleFind;

需要注意的是:這里的渲染綁定是動態(tài)綁定,只需在流程/方案執(zhí)行前綁定一次即可,后續(xù)流程/方案運行時渲染界面會實時更新對應綁定對象的渲染結果(對應的是模塊/流程的顯示設置信息:圖像、形狀信息和文字信息)。
【VisionMaster SDK開發(fā)】第三講 C#二次開發(fā)介紹及應用案例
方式2: 自己獲取圖形或文字數(shù)據(jù)在VM SDK提供的渲染控件上繪制。示例代碼如下:

//設置圖像
var imageSource = (ImageSourceModuleCs.ImageSourceModuleTool)VmSolution.Instance["流程1.圖像源1"];
vmRenderControl1.ModuleSource = imageSource;
//自定義圖形
VMControls.WPF.LineEx line = new VMControls.WPF.LineEx();
line.StartPointX = 100;
line.StartPointY = 100;
line.EndPointX = 300;
line.EndPointY = 300;
line.StrokeThickness = 10;
vmRenderControl1.DrawShape(line);
//自定義文本
VMControls.WPF.TextEx text = new VMControls.WPF.TextEx();
text.Content = "歡迎使用VM4.2二次開發(fā)!";
text.FontSize = 30;
text.Position = new System.Windows.Point(100, 100);
text.Height = 100;
text.Width = 100;
text.Stroke = "#FF0000";//設置顏色
text.StrokeThickness = 10;
vmRenderControl1.DrawShape(text);

2.4.2 數(shù)據(jù)結果獲?。?/strong> 需要通過對應工具類的結果對象類獲取。
方式1: 可以在搭建流程時將流程內的模塊結果都綁定到流程的輸出設置里,然后統(tǒng)一使用流程對象提供的結果獲取接口進行獲取。部分接口示例如下:

//通過流程獲取結果
VmProcedure vmProcess1 = (VmProcedure)VmSolution.Instance["流程1"];
string ocrResult = vmProcess1.ModuResult.GetOutputString("out").astStringVal[0].strValue;
string ocrNum = vmProcess1.ModuResult.GetOutputInt("out0").pIntVal[0].ToString();

方式2: 通過每個工具類的模塊結果對象(ModuResult)獲取,示例代碼如下:

//通過模塊獲取結果
IMVSOcrModuCs.IMVSOcrModuTool ocrTool = (IMVSOcrModuCs.IMVSOcrModuTool)VmSolution.Instance["流程1.字符識別1"];
string ocrScore1 = ocrTool.ModuResult.CharNum.ToString();

總結

本文遞進式地介紹VM SDK的使用,同時VM SDK安裝包里提供了大量能使我們快速上手的開發(fā)文檔及示例Demo,用戶也可以參考官方提供的開發(fā)資源,利用好這些資源基本能實現(xiàn)大部分的開發(fā)需求。
附開發(fā)資源路徑:

  • 開發(fā)手冊:VisionMaster4.2.0\Development\V4.x\Documentations
  • 開發(fā)案例:VisionMaster4.2.0\Development\V4.x\Samples(…\C#\ApplicationDemo為新增的應用案例,包含定位引導、OCR識別和深度學習分類案例)
  • V社區(qū)(VM開發(fā)者技術園地)鏈接:https://www.v-club.com/home
  • 資料薈萃鏈接:https://one.hikvision.com/#/link/XcwZ3QdfwYzO8f6TqlI3 提取密碼:kGHn(包含開發(fā)教程、軟件Demo、講解視頻和問答集FAQ,無需注冊,直接下載)
    最后附上一張VM二次開發(fā)的案例效果圖:
    【VisionMaster SDK開發(fā)】第三講 C#二次開發(fā)介紹及應用案例

?文章來源地址http://www.zghlxwxcb.cn/news/detail-453269.html

到了這里,關于【VisionMaster SDK開發(fā)】第三講 C#二次開發(fā)介紹及應用案例的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Dalsa線掃相機SDK二次開發(fā)

    要用回調函數(shù)取圖:

    2024年02月12日
    瀏覽(25)
  • ??低曄鄼CSDK二次開發(fā)(JAVA語言)

    ??低曄鄼CSDK二次開發(fā)(JAVA語言)

    前言 有個項目需要使用java程序讀取??低暤南鄼C圖片。相機通過以太網(wǎng)連接服務器,部署在服務器上的java程序將相機拍攝的畫面保存在指定路徑下。 海康威視提供了sdk開發(fā)包,可以在官網(wǎng)中下載,windows和linux系統(tǒng)都有。但是開發(fā)包中給出的示例代碼,無法滿足實際需要,

    2024年04月29日
    瀏覽(25)
  • 基于??低暤腟DK實現(xiàn)二次開發(fā)

    基于海康威視的SDK實現(xiàn)二次開發(fā)

    因為網(wǎng)上關于??低昐DK這塊的開發(fā)資源比較少,自己也是一步一步摸索過來,知道那種痛苦, 所以把自己的一些過來人的經(jīng)驗寫出來供大家學習參考 進入??低暪倬W(wǎng) 下載你所需要的SDK開發(fā)包(這里我就用windows來作為案列) 下載完SDK解壓 里面有開發(fā)文檔和SDK的動態(tài)庫文

    2024年04月10日
    瀏覽(17)
  • WPS二次開發(fā)系列:WPS SDK初始化

    本文將詳細介紹WPS SDK初始化,幫您能夠更好的在項目中接入WPS SDK實現(xiàn)自己的應用和WPS應用進行通信交互。 向WPS官方發(fā)送郵件申請,郵件格式如下 郵件模板: 發(fā)起人 :有需要申請接入WPS移動端的企業(yè)或者個人 郵件主題: XXX公司XXX項目---WPS Android端 SDK二次開發(fā)集成申請 郵件

    2024年04月16日
    瀏覽(24)
  • Linux下??低暪I(yè)相機的SDK二次開發(fā)

    Linux下??低暪I(yè)相機的SDK二次開發(fā)

    1.1安裝包的下載和解壓 去 官網(wǎng) 下載兩個軟件安裝,分別是客戶端和開發(fā)環(huán)境。 (這里我們下載V2.1.1(Linux)和Runtime組件包(Linux)): 工業(yè)相機文檔/安裝包中的不同安裝版本安裝包里有各個系統(tǒng)及arm開發(fā)板使用的安裝包,選擇相應的安裝包進行安裝 (這里我們選擇最后一

    2024年02月09日
    瀏覽(23)
  • 【記錄】??迪鄼C(SDK)二次開發(fā)時的錯誤碼

    在進行??祍dk二次開發(fā)的時候,經(jīng)常碰到各種錯誤,遂結合官方文檔和廣大網(wǎng)友的一些經(jīng)驗,把這些錯誤碼記錄一下,方便查找。筆者使用的SDK版本是HCNetSDKV6.1.9.4。 錯誤類型 錯誤碼 錯誤信息 NET_DVR_NOERROR 0 沒有錯誤。 NET_DVR_PASSWORD_ERROR 1 用戶名密碼錯誤。注冊時輸入的用戶名

    2024年04月08日
    瀏覽(23)
  • 巴斯勒相機基于SDK 二次開發(fā)C++程序

    巴斯勒相機在VS中如何進行連接調用呢(軟觸發(fā)調用) 1.查找巴斯勒相機網(wǎng)口; 2.調用巴斯勒相機提供的接口,連接巴斯勒相機; 3.初始化相機; (安裝巴斯勒相機軟件) 其他引用第三方庫以及對應頭文件 鏈接:https://pan.quark.cn/s/71bb1b3e0dad 提取碼:JfM9

    2024年04月14日
    瀏覽(20)
  • 【HIKROBOT】海康機器人:工業(yè)相機SDK二次開發(fā)

    【HIKROBOT】??禉C器人:工業(yè)相機SDK二次開發(fā)

    ??禉C器人官網(wǎng)鏈接:https://www.hikrobotics.com/cn 根據(jù)購買設備的型號下載用戶說明書 筆者實驗室購買了兩款,一款GigE網(wǎng)口接口的,一款USB接口 GigE網(wǎng)口接口 USB接口:MV-CA050-20UC 服務支持”“下載中心”“機器視覺”中下載MVS客戶端安裝包及SDK開發(fā)包。 1.1.1 Ubuntu18.04系統(tǒng)安裝 下

    2024年02月05日
    瀏覽(64)
  • 網(wǎng)頁CAD二次開發(fā)(在線CAD SDK)用到的數(shù)學庫

    網(wǎng)頁CAD二次開發(fā)(在線CAD SDK)用到的數(shù)學庫

    在CAD二次開發(fā)中, 正確的使用數(shù)學庫是十分重要的, 我們不需要會很多數(shù)學知識, 只要會普通的四則運算和調用mxcad提供的api即可,通過[快速入門]了解了打開圖紙后,如果要對圖形進行處理,就需要各種計算, mxcad提供了一些類來參與計算或者表示一些數(shù)據(jù)結構,相關的API查詢

    2024年02月20日
    瀏覽(23)
  • 大華SDK+JAVA+4g網(wǎng)絡攝像頭進行二次開發(fā)

    大華SDK+JAVA+4g網(wǎng)絡攝像頭進行二次開發(fā)

    監(jiān)控,相信大家都不陌生?,F(xiàn)在的監(jiān)控技術發(fā)展迅速,國內以??低暈槭椎闹悄芤曨l監(jiān)控提供商也層出不窮?,F(xiàn)在,這些提供商都已經(jīng)提供了相應的SDK以及API接口,能夠很好的支撐我們進行攝像機的二次開發(fā)工作。相信大家都有接觸過這么一個需求:利用手機可以自己進行

    2024年01月20日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包