衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

OpenVINO開發配置應必備哪些基礎知識?

英特爾物聯網 ? 來源:英特爾物聯網 ? 作者:英特爾物聯網 ? 2021-05-18 09:10 ? 次閱讀

通過第一篇文章我們已經了解什么是OpenVINO,它的諸多功能與全應用場景支持人工智能落地的能力。本篇我們將重點介紹OpenVINO開發流程與開發必備的基礎知識與相關API函數對象。

環境配置

在具體介紹OpenVINO開發流程與開發必備基礎知識之前,我們首先需要配置好OpenVINO的開發環境,這里我們以Win10系統下OpenVINO C++/Python SDK開發與應用集成為例來完成整個教程的配置與代碼演示?;赩S2017+OpenVINO2021.02版本的環境配置可以總結為如下幾個步驟:

1. 打開VS2017,新建一個控制臺應用,圖示如下:

圖1

2. 打開屬性管理器

打開屬性管理器,選擇x64/release然后配置包含路徑,庫路徑、通過鏈接器添加lib文件,這部分的配置圖示如下:

包含目錄配置

482a70a8-b4ff-11eb-bf61-12bb97331649.png

庫路徑配置

48500e26-b4ff-11eb-bf61-12bb97331649.png

鏈接器:

487150e0-b4ff-11eb-bf61-12bb97331649.png

圖2

opencv_calib3d451.lib

opencv_core451.lib

opencv_dnn451.lib

opencv_features2d451.lib

opencv_flann451.lib

opencv_gapi451.lib

opencv_highgui451.lib

opencv_imgcodecs451.lib

opencv_imgproc451.lib

opencv_ml451.lib

opencv_objdetect451.lib

opencv_photo451.lib

opencv_stitching451.lib

opencv_video451.lib

opencv_videoio451.lib

inference_engine.lib

inference_engine_c_api.lib

inference_engine_ir_reader.lib

inference_engine_legacy.lib

inference_engine_lp_transformations.lib

inference_engine_onnx_reader.lib

inference_engine_preproc.lib

inference_engine_transformations.lib

最后配置環境變量,添加以下環境變量到系統的path中去,圖示如下:

489749a8-b4ff-11eb-bf61-12bb97331649.png

對于開發環境配置環節,如果還有不清楚的,可以參考OpenVINO中文社區的技術自愿者分享的視頻,地址如下:

https://www.bilibili.com/video/BV1Hz4y1U7g6

設備查詢與開發基礎知識

完成上述配置以后,重啟VS2017,創建一個新的cpp文件,添加下面的代碼到cpp文件中

48cb44f6-b4ff-11eb-bf61-12bb97331649.png

運行結果如下:

圖3

上述控制臺輸出來自InferenceEngine::Core的設備查詢函數GetAvailableDevices,它可以查詢當前系統支持IE推理的硬件支持,該函數如下:

std::vector<:string style="font-size: inherit;color: inherit;line-height: inherit;">InferenceEngine::GetAvailableDevices() const

參數: 無

返回的支持設備的列表vector

下面的就是加載圖像與顯示圖像,使用的兩個函數來自OpenVINO中的OpenCV組件支持,兩個相關函數如下:

讀取圖像

Mat cv::imread(
const String & filename,
int flags = IMREAD_COLOR
)

參數 filename表示文件路徑(包含文件名)

第二個參數為默認參數

加載成功返回的圖像像素的矩陣數據結構Mat,默認讀取加載為彩色圖像,三個通道順序為BGR。

顯示圖像

void cv::imshow(
const String & winname,
InputArray mat
)

參數 winname表示窗口名稱,本例中為“輸入窗口”

參數 mat表示圖像矩陣Mat(顯示圖像的內存表示)

最終執行結果圖上圖3所示。對上述代碼,我們可以通過進一筆的簡化,要知道在C++11中,聲明類型可以自動識別,通過auto來表示可以避免代碼過長,同時支持for循環的時候通過auto自動識別每個item的類型,所以上述查詢設備與打印部分的代碼:

nferenceEngine::Core ie;
std::vector<:string style="font-size: inherit;color: inherit;line-height: inherit;">devices = ie.GetAvailableDevices();
for (std::string name : devices) {
std::cout << "device name: " << name << std::endl;
}

改寫為如下的代碼:

InferenceEngine::Core ie;
auto devices = ie.GetAvailableDevices();
for (auto name : devices) {
std::cout << "device name: " << name << std::endl;
}

這樣看上去代碼就會比之前的整潔更加直觀一點。在OpenVINO SDK C++的開發中,有很多類別的聲明都很長,我們可以通過使用C++11支持的自動類型識別關鍵字auto來減少不必要的代碼書寫,提高編碼效率。此外類InferenceEngine::Core類是表示整個IE引擎的實例,支持從模型加載、輸入與輸出格式獲取與設置、模型的推理與后處理等一系列的操作。關于如何使用InferenceEngine::Core實現模型推理的流程與相關API方法函數解釋。

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C++
    C++
    +關注

    關注

    22

    文章

    2114

    瀏覽量

    73859
  • 代碼
    +關注

    關注

    30

    文章

    4828

    瀏覽量

    69059
  • SDK
    SDK
    +關注

    關注

    3

    文章

    1045

    瀏覽量

    46281

原文標題:OpenVINO開發配置與必備基礎知識

文章出處:【微信號:英特爾物聯網,微信公眾號:英特爾物聯網】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    功率器件熱設計基礎知識

    功率器件熱設計是實現IGBT、碳化硅SiC等高功率密度器件可靠運行的基礎。掌握功率半導體的熱設計基礎知識,不僅有助于提高功率器件的利用率和系統可靠性,還能有效降低系統成本。本文將從熱設計的基本概念、散熱形式、熱阻與導熱系數、功率模塊的結構和熱阻分析等方面,對功率器件熱設計基礎知識
    的頭像 發表于 02-03 14:17 ?112次閱讀

    PCB繪制基礎知識

    電子發燒友網站提供《PCB繪制基礎知識.pdf》資料免費下載
    發表于 01-21 15:20 ?3次下載
    PCB繪制<b class='flag-5'>基礎知識</b>

    EMC基礎知識-華為

    EMC基礎知識-華為
    發表于 01-06 14:09 ?0次下載

    玩轉FPGA必備基礎知識

    FPGA已成為現今的技術熱點之一,無論學生還是工程師都希望跨進FPGA的大門。那么我們要玩轉FPGA必須具備哪些基礎知識呢?下面我們慢慢道來。 (一) 要了解什么是FPGA 既 然要玩轉FPGA
    的頭像 發表于 11-28 10:24 ?425次閱讀

    品質管理基礎知識

    品質管理基礎知識
    的頭像 發表于 11-01 11:08 ?411次閱讀
    品質管理<b class='flag-5'>基礎知識</b>

    TWL6030氣體監測基礎知識

    電子發燒友網站提供《TWL6030氣體監測基礎知識.pdf》資料免費下載
    發表于 10-29 10:02 ?0次下載
    TWL6030氣體監測<b class='flag-5'>基礎知識</b>

    Verilog HDL的基礎知識

    本文繼續介紹Verilog HDL基礎知識,重點介紹賦值語句、阻塞與非阻塞、循環語句、同步與異步、函數與任務語法知識。
    的頭像 發表于 10-24 15:00 ?593次閱讀
    Verilog HDL的<b class='flag-5'>基礎知識</b>

    負載開關基礎知識

    電子發燒友網站提供《負載開關基礎知識.pdf》資料免費下載
    發表于 10-08 09:56 ?1次下載
    負載開關<b class='flag-5'>基礎知識</b>

    全新的半導體基礎知識

    《全新的半導體基礎知識》首先對流行于電子書刊上數十年之久的經典半導體基礎知識中存在的謬誤進行了全方位的討論,然后以半導體內部結構為抓手,以G型半導體(客供電子型半導體)、H型半導體(主供電子型半導體
    的頭像 發表于 09-20 11:30 ?1374次閱讀
    全新的半導體<b class='flag-5'>基礎知識</b>

    超聲波傳感基礎知識

    電子發燒友網站提供《超聲波傳感基礎知識.pdf》資料免費下載
    發表于 09-04 10:21 ?0次下載
    超聲波傳感<b class='flag-5'>基礎知識</b>

    C++語言基礎知識

    電子發燒友網站提供《C++語言基礎知識.pdf》資料免費下載
    發表于 07-19 10:58 ?7次下載

    哪有FPGA的verilog編程基礎知識?

    沒接觸過FPGA開發,那個verilog編程有什么入門基礎知識學習的?
    發表于 04-29 23:09

    電子元件基礎知識介紹

    電子發燒友網站提供《電子元件基礎知識介紹.pptx》資料免費下載
    發表于 03-15 16:48 ?86次下載

    光纖通信技術基礎知識

    電子發燒友網站提供《光纖通信技術基礎知識.ppt》資料免費下載
    發表于 03-06 15:53 ?0次下載

    FPGA基礎知識介紹

    電子發燒友網站提供《FPGA基礎知識介紹.pdf》資料免費下載
    發表于 02-23 09:45 ?32次下載
    温州百家乐官网的玩法技巧和规则 | 玩百家乐官网澳门皇宫娱乐城| 百家乐官网出千的高科技| 蓝盾百家乐官网赌场娱乐网规则 | 百家乐赌场博彩赌场网| 怎么赢百家乐的玩法技巧和规则| 大发888官方zhuce| 皇星娱乐城| 百家乐官网椅子| 百家乐是骗人的| 免费百家乐分析工具| 百家乐赌博破解| 蜀都棋牌游戏| 波音网百家乐官网合作| 云鼎百家乐官网的玩法技巧和规则 | 百家乐作| 保山市| 百家乐在线游戏| 澳门百家乐官网下注最低| 百家乐官网娱乐平台代理佣金 | 百家乐官网是骗人的| 王子百家乐官网的玩法技巧和规则| 百家乐笑话| 在线娱乐城注册送彩金| 百家乐官网去哪里玩最好| 百家乐无敌直缆| 大发888 登陆不上| 百家乐官网代打是真的吗| 百家乐澳门路规则| 大发888任务| 百家乐官网怎样做弊| 澳门百家乐怎玩| 88娱乐城2| 乐天堂百家乐官网赌场娱乐网规则| 网上百家乐大转轮| 吉隆县| 汇丰百家乐官网娱乐城| 威尼斯人娱乐备用6222| 百家乐官网d博彩论坛| 百家乐游戏官网| 大发888官方 截图|