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

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

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

3天內不再提示

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

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

前言

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

FileStorage類介紹

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

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

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

    關注

    23

    文章

    4701

    瀏覽量

    94853
  • 文件
    +關注

    關注

    1

    文章

    578

    瀏覽量

    25234
  • OpenCV
    +關注

    關注

    32

    文章

    642

    瀏覽量

    42488
  • JSON
    +關注

    關注

    0

    文章

    121

    瀏覽量

    7282
  • YAML
    +關注

    關注

    0

    文章

    21

    瀏覽量

    2447

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

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

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

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

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

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

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

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

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

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

    AD8283評估板設計和配置文件

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

    labview讀寫配置文件實例分享

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

    SpringBoot配置文件application

    Map配置 YML配置文件: sys-num: mymap: "{'a':'aaa','b':'bbb'}" 方法內: public class learnMap { @Value
    的頭像 發(fā)表于 01-13 15:28 ?806次閱讀

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

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

    linux修改網卡ip配置文件

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

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

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

    springboot的全局配置文件有幾種

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

    springboot的核心配置文件有哪些

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

    zookeeper的核心配置文件是什么

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

    php的配置文件是什么

    PHP的配置文件是一種用于配置PHP解釋器的文本文件。它包含了一系列的指令和選項,用于影響PHP的行為和性能。通過修改配置文件,可以改變PHP解釋器的默認行為,從而滿足不同的需求。 在
    的頭像 發(fā)表于 12-04 15:55 ?1854次閱讀
    主站蜘蛛池模板: 夜夜欢视频 | 国产女人视频免费观看 | 中文三 级 黄 色 片 | 天天做天天爱天天爽综合区 | 天天操天天射天天舔 | 欧美特黄一级视频 | 亚洲一区二区三区四区在线 | 日本免费人成黄页在线观看视频 | 精品特级毛片 | 国产日本久久久久久久久婷婷 | 午夜视频在线 | 高清午夜线观看免费 | 黄色免费的视频 | 毛片福利 | 日本久操 | 午夜在线播放视频 | 明星三级国产免费播放 | 四虎国产| 秋霞特色大片18入口私人高清 | 亚洲成人综合网站 | 天天干天天色天天干 | 狠狠躁夜夜躁人人躁婷婷视频 | 特级片在线观看 | xxxx欧美xxxx黑人 | 亚洲成成品网站有线 | 午夜一级毛片看看 | 日本在线视频一区二区三区 | 亚洲欧美日韩另类精品一区二区三区 | 最新人妖shemaletube人妖 最新日本免费一区二区三区中文 | 精品美女在线观看 | 国产一级特黄在线播放 | 无毒不卡在线播放 | 免费理论片在线观看播放 | 国产美女亚洲精品久久久综合 | 美女下面小内内的沟 | 国产成人精品影视 | 4hu44四虎在线观看 | 日本美女搞黄 | 四虎国产永久在线观看 | 国产精品偷伦费观看 | 亚洲色图综合图区 |