精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

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

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

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

環境配置

在具體介紹OpenVINO開發流程與開發必備基礎知識之前,我們首先需要配置好OpenVINO的開發環境,這里我們以Win10系統下OpenVINO C++/Python SDK開發與應用集成為例來完成整個教程的配置與代碼演示。基于VS2017+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++
    +關注

    關注

    21

    文章

    2084

    瀏覽量

    73297
  • 代碼
    +關注

    關注

    30

    文章

    4668

    瀏覽量

    67752
  • SDK
    SDK
    +關注

    關注

    3

    文章

    1004

    瀏覽量

    45406

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

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

收藏 人收藏

    評論

    相關推薦

    哪有FPGA的verilog編程基礎知識

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

    FPGA基礎知識介紹

    電子發燒友網站提供《FPGA基礎知識介紹.pdf》資料免費下載
    發表于 02-23 09:45 ?24次下載

    鴻蒙開發【設備開發基礎知識

    鴻蒙開發基礎知識講解
    的頭像 發表于 01-29 18:44 ?766次閱讀
    鴻蒙<b class='flag-5'>開發</b>【設備<b class='flag-5'>開發</b><b class='flag-5'>基礎知識</b>】

    射頻與微波基礎知識

    射頻與微波基礎知識
    的頭像 發表于 01-16 10:05 ?668次閱讀
    射頻與微波<b class='flag-5'>基礎知識</b>

    電氣技術基礎知識

    電氣技術基礎知識
    的頭像 發表于 12-14 09:11 ?1343次閱讀
    電氣技術<b class='flag-5'>基礎知識</b>

    電子元器件的基礎知識

    電子元器件的基礎知識
    的頭像 發表于 12-04 10:42 ?4545次閱讀
    電子元器件的<b class='flag-5'>基礎知識</b>

    經典設計經驗筆記,電子工程師必備基礎知識

    電子發燒友網站提供《經典設計經驗筆記,電子工程師必備基礎知識.pdf》資料免費下載
    發表于 11-21 11:13 ?12次下載
    經典設計經驗筆記,電子工程師<b class='flag-5'>必備</b><b class='flag-5'>基礎知識</b>

    電子工程師必備基礎知識

    電子發燒友網站提供《電子工程師必備基礎知識.pdf》資料免費下載
    發表于 11-20 11:29 ?33次下載
    電子工程師<b class='flag-5'>必備</b><b class='flag-5'>基礎知識</b>

    嵌入式開發系統基礎知識

    電子發燒友網站提供《嵌入式開發系統基礎知識.pdf》資料免費下載
    發表于 11-17 10:59 ?1次下載
    嵌入式<b class='flag-5'>開發</b>系統<b class='flag-5'>基礎知識</b>

    SPI協議基礎知識

    電子發燒友網站提供《SPI協議基礎知識.pdf》資料免費下載
    發表于 11-16 10:32 ?1次下載
    SPI協議<b class='flag-5'>基礎知識</b>

    電池的基礎知識

    電子發燒友網站提供《電池的基礎知識.doc》資料免費下載
    發表于 11-15 11:29 ?1次下載
    電池的<b class='flag-5'>基礎知識</b>

    紅外熱成像基礎知識

    電子發燒友網站提供《紅外熱成像基礎知識.pdf》資料免費下載
    發表于 11-01 09:44 ?5次下載
    紅外熱成像<b class='flag-5'>基礎知識</b>

    如何學習FPGA?FPGA學習必備基礎知識

    FPGA已成為現今的技術熱點之一,無論學生還是工程師都希望跨進FPGA的大門。網絡上各種開發板、培訓班更是多如牛毛,仿佛在告訴你不懂FPGA你就OUT啦。那么我們要玩轉FPGA必須具備哪些基礎知識呢?下面我們慢慢道來。 (一) 要了解什么是FPGA 既然要玩轉FPGA
    的頭像 發表于 10-27 17:43 ?682次閱讀

    TTL與BJT的基礎知識

    教科書上面在講述TTL工作原理時候,運用到了BJT雙極性三極管的基礎知識,比如:倒置,鉗位,深飽和,飽和壓降。這些基礎知識在教材上并沒有特別明晰的說明。這里對此做了一些自己的思考和整理,歡迎指正。
    的頭像 發表于 10-21 11:01 ?3140次閱讀
    TTL與BJT的<b class='flag-5'>基礎知識</b>

    汽車電子基礎知識

    電子發燒友網站提供《汽車電子基礎知識.doc》資料免費下載
    發表于 10-10 09:48 ?4次下載
    汽車電子<b class='flag-5'>基礎知識</b>