Zunächst einmal sollte IplImage mhi32f = ...
IplImage* mhi32f = ...
sein, aber ich gehe davon aus, dass das ein Tippfehler von Ihrer Seite war.
Ihr Beispiel ist in Ordnung, außer dass Sie den convertTo
Aufruf nicht benötigen. Wenn Sie die IplImage
Daten in das Mat
Objekt kopieren möchten, geben Sie einfach true
als zweites Argument an den Konstruktor weiter, wie hier gezeigt.
Hier ist ein Beispiel, das zeigt, dass der Typ bereits CV_32FC1
ist:
#include
#include
#include
#include
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
IplImage* mhi32f = cvCreateImage(cvSize(320, 240), IPL_DEPTH_32F, 1);
cv::Mat mhi32_mat(mhi32f);
assert(mhi32_mat.type() == CV_32FC1);
cout << "Bereits eine CV_32FC1 Matrix..." << endl;
return 0;
}
Hoffe das hilft.