Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Memuatkan Tikar OpenCV Besar dengan Cekap?
Pemuatan Tikar Besar yang Cekap dalam OpenCV: Panduan Komprehensif
Apabila berurusan dengan objek Mat intensif memori yang luas, kecekapan dalam memuatkannya menjadi terpenting. Walaupun kaedah FileStorage OpenCV menyediakan pendekatan yang mudah, ia mungkin tidak selalu mencukupi.
Alternatif: Pemuatan Data Perduaan
Untuk prestasi yang dipertingkatkan dengan ketara, pertimbangkan untuk menyimpan dan memuatkan objek Mat dalam format binari mentah. Ini memintas overhed yang dikaitkan dengan FileStorage, yang membawa kepada penjimatan masa yang banyak.
Pelaksanaan dengan Fungsi matwrite dan matread
Untuk melaksanakan pemuatan binari, gunakan matwrite dan matread fungsi:
void matwrite(const string& filename, const Mat& mat) { ... } Mat matread(const string& filename) { ... }
Perbandingan Prestasi
Tanda aras mendedahkan perbezaan besar dalam kelajuan pemuatan antara FileStorage dan pemuatan binari:
Using FileStorage: 5523.45 ms Using Raw: 50.0879 ms Using FileStorage: (out of memory) Using Raw: 197.381 ms
Tambahan Nota
Kod Contoh
Kod berikut menunjukkan penggunaan matwrite dan matread untuk menyimpan, memuatkan dan ujian prestasi:
#include <opencv2/opencv.hpp> #include <iostream> #include <fstream> using namespace std; using namespace cv; int main() { // Save randomly generated data Mat m(1024*256, 192, CV_8UC1); randu(m, 0, 1000); matwrite("raw.bin", m); // Load saved matrix double tic = getTickCount(); Mat m1 = matread("raw.bin"); // Calculate loading time double toc = (getTickCount() - tic) * 1000. / getTickFrequency(); cout << "Using Raw: " << toc << " ms" << endl; }
Dengan menggunakan pemuatan binari untuk objek Mat yang besar, anda boleh dengan ketara meningkatkan kecekapan dan mengurangkan masa pemuatan, mengoptimumkan aplikasi OpenCV anda untuk prestasi optimum.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memuatkan Tikar OpenCV Besar dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!