cv::Mat 或 CvMat* 中的大数据

发布于 2025-01-04 12:30:03 字数 218 浏览 0 评论 0原文

CV_64F 是可使用 OpenCV 存储在矩阵(cv::Mat 或 CvMat*)中的单个数据单元的最大维度/大小>?还有比这更大的东西吗?

我想在 cv::Mat 中存储大型数据,例如 long double 。有什么办法可以在不使用数组的情况下做到这一点吗?

Is CV_64F largest dimension/size of a single unit of data that can be stored in a Matrix (cv::Mat or CvMat*) using OpenCV? Is there anything larger than that?

I want to store large sized data like a long double in a cv::Mat. Is there any way I can do it without using arrays?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

明媚殇 2025-01-11 12:30:03

据我所知,您可以这样做某种程度。您可以使用 Mat_ 模板类。下面是我写的一个简短的例子:

#include <opencv2/core/core.hpp>    
#include <iostream>

using namespace std;
using namespace cv;


int main(int argc, char* argv[])
{
    Mat_<long double> testing(Size(5, 5));

    // initialize matrix to ones
    for(int i = 0; i < testing.rows; i++)
    {
        for(int j = 0; j < testing.cols; j++)
        {
            testing.at<long double>(i, j) = 1;
        }
    }

    cout << "Element size in bytes is " << testing.elemSize() << "." << endl;

    return 0;
}

现在需要注意的是...如果您尝试使用许多辅助方法,oneszerosoperator<< ; 等),您可能会看到此错误:

OpenCV Error: Unsupported format or combination of formats () in scalarToRawData

希望这足以让您可以将它用于某些用途,但它不会像平常那样干净。

As far as I can tell, you can do this sort of. You can use the Mat_ template class. Below is a short example I wrote:

#include <opencv2/core/core.hpp>    
#include <iostream>

using namespace std;
using namespace cv;


int main(int argc, char* argv[])
{
    Mat_<long double> testing(Size(5, 5));

    // initialize matrix to ones
    for(int i = 0; i < testing.rows; i++)
    {
        for(int j = 0; j < testing.cols; j++)
        {
            testing.at<long double>(i, j) = 1;
        }
    }

    cout << "Element size in bytes is " << testing.elemSize() << "." << endl;

    return 0;
}

Now for the caveat... If you try to use many of the helper methods, ones, zeros, operator<<, and others), you will likely see this error:

OpenCV Error: Unsupported format or combination of formats () in scalarToRawData

Hopefully that will be enough that you can use it for some things, but it won't be as clean as usual.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文