C++ 将图像加载到现有的Mat中
有没有办法将图像加载到现有的垫子中?如果没有,在调用cv::imread时,是否有方法控制OpenCV在何处分配内存?我只需为您的类创建一个构造函数,该构造函数接受imread的输入参数,并将图像直接加载(并分配)到您的类中 比如说:C++ 将图像加载到现有的Mat中,c++,c,opencv,C++,C,Opencv,有没有办法将图像加载到现有的垫子中?如果没有,在调用cv::imread时,是否有方法控制OpenCV在何处分配内存?我只需为您的类创建一个构造函数,该构造函数接受imread的输入参数,并将图像直接加载(并分配)到您的类中 比如说: class myClass { private: Mat img; public: myClass(const string fileName) { this->img = imread(fileName); } }
class myClass {
private:
Mat img;
public:
myClass(const string fileName) {
this->img = imread(fileName);
}
}
我只需要为您的类创建一个构造函数,它接受imread的输入参数,并将映像直接加载(并分配)到您的类中 比如说:
class myClass {
private:
Mat img;
public:
myClass(const string fileName) {
this->img = imread(fileName);
}
}
你为什么要这么做?如果你有一系列的图像,你想处理,就好像它是一个视频文件,FFmpeg可以做到这一点。。。如果没有,那么这里的用例是什么?我正在使用OpenCV将图像加载到我的应用程序中。但是,我使用自己的image类,所以我将OpenCV Mat转换为自己的image类。我不想复制图像,所以我想知道OpenCV在哪里加载图像。我明白了。。。OpenCV定义了一个
cv::imread
函数,该函数接受cv::Mat
作为loadsave.cpp
中的参数,但它声明为static
,因此您需要修改源代码并重新编译以访问它。。我认为这个问题没有其他答案:(为什么你需要这样做呢?如果你有一系列的图像想像处理视频文件一样处理,FFmpeg可以这样做……如果没有,那么这里的用例是什么?我正在使用OpenCV将图像加载到我的应用程序中。但是,我正在使用我自己的图像类,所以我正在将OpenCV Mat转换为我自己的图像类。我不想使用c复制图像,以便告诉OpenCV在何处加载图像。我看到了…OpenCV定义了一个cv::imread
函数,该函数接受cv::Mat
作为loadsave.cpp
中的参数,但它声明为静态
,因此您需要修改源代码并重新编译以访问它。否则,我认为这个问题没有答案:(