「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > OpenCVに大きなマットオブジェクトのロードをスピードアップする方法は?

OpenCVに大きなマットオブジェクトのロードをスピードアップする方法は?

2025-04-18に投稿されました
ブラウズ:510

How Can I Speed Up Loading Large Mat Objects in OpenCV?

OpenCV

のメモリに大きなマットオブジェクトをより高速にロードするのは、OPENCVのFilestorageメソッドがマットオブジェクトを保存および取得する便利な方法を提供します。大幅な速度改善を提供できるいくつかの代替アプローチを次に示します。 OpenCVのMATWRITEおよびMATREAD機能により、このプロセスが容易になります。バイナリファイルを使用すると、OpenCVのシリアル化および脱派化手順に関連するオーバーヘッドが回避され、積載時間がはるかに高速になります。 RAWの使用:50.0879 ms(小さな画像) FileStorageの使用:(メモリ外)(大きな画像) rawの使用:197.381 ms(大画像)

コード例

ここにマットライテとマットリードの使用方法を示すコードスニペット:

# #include #include void matwrite(const std :: string&filename、const cv :: mat&mat) { // MATオブジェクトをバイナリファイルに保存します } cv :: mat matread(const std :: string&filename) { //バイナリファイルからマットオブジェクトをロードします } int main() { //ランダムデータを生成します CV :: MAT M = CV :: MAT :: RANDU(1024*256、192、CV_8UC1); //ファイルに保存します matwrite( "fs.yml"、m); matwrite( "raw.bin"、​​m); //ファイルからロードします CV :: MAT M1 = MATREAD( "fs.yml"); CV :: MAT M2 = MATREAD( "RAW.BIN"); }

loadingのより速いロードのためのヒント特に大きなマットオブジェクトを扱う場合、利用可能なメモリを排出します。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3