【发布时间】:2014-09-11 22:06:02
【问题描述】:
我正在尝试使用带有传入数据选项的 OpenCV Mat::Mat 构造函数。
我在这个论坛上读到,您可以将浮点指针传递给数组,但每次我这样做时,它都会尝试传递地址(我认为这是正在发生的事情)而不是来自大批。
我尝试了两种不同的方式来创建浮点数组:
float *outputimg = (float*)malloc(img1.rows*img1.cols*sizeof(float));
和
float *outputimg = (float*)malloc(img1.step*img1.elemSize());
然后我尝试了 Mat 构造函数如下:
Mat contrastimg(img1.rows, img1.cols, CV_32F, outputimg, img1.step);
Mat contrastimg(img1.rows, img1.cols, CV_32F, outputimg);
Mat contrastimg(img1.rows, img1.cols, CV_32F, outputimg, img1.cols*sizeof(float));
这些都不适合我。有什么想法吗?
【问题讨论】:
-
您的第二次尝试应该适用于第一个浮点数组...您如何测试它是否有效?!?
-
Mat contrastimg(img1.rows, img1.cols, CV_32F, floatptr);是有效的。
标签: c++ arrays opencv constructor mat