2012-03-23 55 views
1

有没有办法将图像加载到现有的垫子?如果没有,有没有办法控制下降cv :: imread时OpenCV分配内存的位置?加载图像到现有的垫子

+0

为什么你需要做的是什么呢?如果你有一系列想要处理的图像,就好像它是一个视频文件一样,FFmpeg可以做到这一点......如果没有,那么这里的用例是什么? – 2012-03-24 03:12:08

+0

我正在使用OpenCV将图像加载到我的应用程序中。但是,我使用自己的图像类,因此我将OpenCV Mat转换为我自己的图像类。我不想复制图像,所以我想要一种方式告诉OpenCV在哪里加载图像。 – Pibben 2012-03-24 17:35:49

+0

我看到...... OpenCV定义了一个'cv :: imread _()'函数,它接受'loadsave.cpp'内的'cv :: Mat'作为参数,但它被声明为'static',所以你需要修改源代码并重新编译访问它..我不认为有这个问题的答案,否则:( – 2012-03-27 07:47:25

回答

0

我只是简单地为你的类创建一个构造函数,它接受imread的输入参数并将图像直接加载(并分配)到你的类中。

因此,像这样:

class myClass { 
private: 
    Mat img; 
public: 
    myClass(const string fileName) { 
     this->img = imread(fileName); 
    } 
}