在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

OpenCV中YAML配置文件讀寫使用演示

OpenCV學堂 ? 來源:OpenCV學堂 ? 2023-08-01 11:14 ? 次閱讀

前言

我們在做OpenCV開發的時候經常需要把算法在一些場景下的調試好的參數作為默認值保存然后自動加載,然后在默認值的基礎上根據需要適度調整。OpenCV中支持把參數保存為TXT格式的YAML文件,實現類似XML與JSON的參數文件讀寫,主要是基于FileStorage這個類完成。

FileStorage類介紹

FileStorage類是OpenCV封裝的支持讀寫XML、JSON、YAML文件的工具類。有多個構造函數支持創建實例,最常用的創建方式如下:

cv::FileStorage(
const String & filename,
int flags,
constString&encoding=String()
)

各個參數的解釋意義如下:

filename 表示讀寫的文件名稱

flags表示文件類型cv::Mode,當前支持的模式包含:

7ce7830c-3019-11ee-9e74-dac502259ad0.png

寫入

寫入文本內容的函數是write,支持不同類型函數的重載,支持的數據類型包含int、double、string等,OpenCV C++支持直接通過操作符<<重載實現寫入。

讀出

FileStroage通過操作符重載實現讀出各種數據類型,通過在Python SDK支持通過getNode方式完成參數數據讀出。OpenCV C++ 支持通過操作符>>重載實現讀出。

釋放文件

FileStorage讀寫完成之后,必須通過release方法實現文件資源釋放。

C++代碼演示

從YAML文件中讀出數據

// 加載參數
cv::FileStorage fs(fileName, cv::READ);
if (!fs.isOpened()) {
    std::cout<< "could not find the parameters config file..." <> this->onnxModelPath;
fs["labelmapPath"] >> this->labelmapPath;
fs["score"] >> this->score;
fs["confidence"] >> this->conf;
fs["nms"] >> this->nms;
fs["mode"] >> this->mode;
fs["showFPS"] >> this->showFPS;
fs["showLabel"] >> this->showLabel;
fs["showBox"] >> this->showBox;
fs["showMask"]>> this->showMask;
fs.release();
把數據保存為YAML文件
// 保存參數
cv::FileStorage fs(fileName, cv::WRITE);
fs << "onnxModelPath" << this->onnxModelPath;
fs << "labelmapPath" << this->labelmapPath;
fs << "score" << this->score;
fs << "confidence" << this->conf;
fs << "nms" << this->nms;
fs << "mode" << this->mode;
fs << "showFPS" << this->showFPS;
fs << "showMask" << this->showMask;
fs << "showLabel" << this->showLabel;
fs << "showBox" << this->showBox;
fs.release();

Python代碼演示

OpenCV-Python SDK實現YAML文件讀寫的示例如下:

importcv2ascv

param1=25
param2=0.25
param3="lena.jpg"

#寫文件
model_settings=cv.FileStorage("mytest.yaml",cv.FILE_STORAGE_WRITE)
model_settings.write('version','v1.0')
model_settings.write('author','gloomyfish')
model_settings.write('param1',param1)
model_settings.write('param2',param2)
model_settings.write('param3',param3)
model_settings.release()

#讀文件
cv_setting=cv.FileStorage("mytest.yaml",cv.FileStorage_READ)
param1=cv_setting.getNode('param1').real()
param2=cv_setting.getNode('param2').real()
param3=cv_setting.getNode('param3').real()
YAML文件內容截圖:

7d20453e-3019-11ee-9e74-dac502259ad0.png

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

    關注

    23

    文章

    4612

    瀏覽量

    92894
  • 文件
    +關注

    關注

    1

    文章

    566

    瀏覽量

    24744
  • OpenCV
    +關注

    關注

    31

    文章

    635

    瀏覽量

    41350
  • JSON
    +關注

    關注

    0

    文章

    117

    瀏覽量

    6966
  • YAML
    +關注

    關注

    0

    文章

    21

    瀏覽量

    2325

原文標題:OpenCV中YAML配置文件讀寫使用演示

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    求助,無法找到rdquo;OpenCV ldquo提供的封裝配置文件求分享

    運行下列命令以構建 Open Model Zoo 遇到以下錯誤: 無法找到 OpenCV* 提供的帶有以下名稱的軟件包配置文件: OpenCVConfig.cmake opencv-config.cmake
    發表于 08-15 06:43

    xml和YAML文件的寫入_OpenCV3編程入門

    OpenCV3編程入門》書本配套源代碼:xml和YAML文件的寫入
    發表于 06-06 15:20 ?6次下載

    xml和YAML文件的讀取_源代碼

    OpenCV3編程入門》書本配套源代碼:xml和YAML文件的讀取
    發表于 06-06 15:20 ?6次下載

    OpenCV3編程入門-源碼例程全集-xml和YAML文件的讀取

    OpenCV3編程入門-源碼例程全集-xml和YAML文件的讀取
    發表于 09-18 16:38 ?0次下載

    OpenCV3編程入門-源碼例程全集-xml和YAML文件的寫入

    OpenCV3編程入門-源碼例程全集-xml和YAML文件的寫入
    發表于 09-18 16:38 ?0次下載

    ICD配置文件的詳細介紹和配置內容的詳細概述

    配置文件配置文件是利用SCL語言描述變電站設備對象模型后生成的文件,用于在不同廠商的配置工具之間交換配置信息。
    的頭像 發表于 06-02 11:16 ?1.8w次閱讀
    ICD<b class='flag-5'>配置文件</b>的詳細介紹和<b class='flag-5'>配置</b>內容的詳細概述

    AD8283評估板設計和配置文件

    AD8283評估板設計和配置文件
    發表于 05-31 16:04 ?9次下載
    AD8283評估板設計和<b class='flag-5'>配置文件</b>

    labview讀寫配置文件實例分享

    labview讀寫配置文件實例分享
    發表于 11-01 16:05 ?45次下載

    KT142C語音芯片配置文件總是不起作用?配置文件的問題集中歸納

    KT142C語音芯片配置文件總是不起作用?配置文件的問題集中歸納
    的頭像 發表于 10-20 15:04 ?580次閱讀
    KT142C語音芯片<b class='flag-5'>配置文件</b>總是不起作用?<b class='flag-5'>配置文件</b>的問題集中歸納

    linux修改網卡ip配置文件

    、子網掩碼、網關等參數。本文將詳細介紹如何修改Linux的網卡ip配置文件。 首先,在Linux,網絡接口的配置文件一般位于/etc/sysconfig/network-scripts/目錄下,
    的頭像 發表于 11-17 10:51 ?2250次閱讀

    ROS編寫參數配置文件示例程序

    _config.yaml這三個文件,這三個文件均位于下圖所示的目錄下,下面依次進行詳細的介紹 1、編寫user_config.yaml
    的頭像 發表于 11-26 17:35 ?1619次閱讀
    ROS編寫參數<b class='flag-5'>配置文件</b>示例程序

    springboot的全局配置文件有幾種

    Spring Boot是一種快速開發框架,其通過提供配置文件來實現對應用程序的配置。全局配置文件在Spring Boot起著非常重要的作用,可以用于
    的頭像 發表于 12-03 15:28 ?1575次閱讀

    springboot的核心配置文件有哪些

    的工作量。 Spring Boot的核心配置文件主要有以下幾個: application.properties:Spring Boot應用程序的主要配置文件。它使用Java的鍵值對格式來定義各種配置屬性
    的頭像 發表于 12-03 15:30 ?1176次閱讀

    zookeeper的核心配置文件是什么

    Zookeeper是一個常用的分布式協調服務,它被廣泛應用于大型分布式系統。Zookeeper的核心配置文件是zoo.cfg,它包含了Zookeeper服務器的各種配置參數,可以通過修改這些參數
    的頭像 發表于 12-04 10:33 ?814次閱讀

    php的配置文件是什么

    PHP的配置文件是一種用于配置PHP解釋器的文本文件。它包含了一系列的指令和選項,用于影響PHP的行為和性能。通過修改配置文件,可以改變PHP解釋器的默認行為,從而滿足不同的需求。 在
    的頭像 發表于 12-04 15:55 ?1552次閱讀
    主站蜘蛛池模板: 午夜久久久久久网站| 久草男人天堂| a在线免费| 干一干操一操| 91在线免费观看网站| 日本边添边爱边摸边做边爱| 四虎永久在线精品国产免费| 色婷婷狠狠| freesex欧美| 视频网站黄| 天堂网最新版中文| www.黄网| toyota东热综合网| 色婷婷免费视频| 亚洲vv| 一区二区三区影视| 婷婷激情五月综合| 久久婷婷五综合一区二区| 2020夜夜操| 国产成人1024精品免费| 一级做a爰片久久毛片一| 狠狠色噜噜狠狠狠狠| 天天操天天噜| 精品福利视频网| 欧美午夜影视| 夜夜爱网站| 免费人成网ww777kkk手机| 色视频在线看| 手机视频在线播放| 亚洲欧美强伦一区二区另类| 欧美一级视频高清片| 奇米7777影视| 同性男男肉交短文| 久久久噜久噜久久综合| 国产小视频在线观看| 国产区亚洲区| 国产精品美乳在线观看| 精品一区二区在线观看| 国产在线麻豆自在拍91精品| 国产一区高清| 女人精69xxxxxx|