c++ - 将 Mat 对象转换为 double arr (OpenCV)

标签 c++ opencv type-conversion

我希望在 OpenCV 中对 Mat 对象进行各向异性扩散。 各向异性在 C 中实现并接受以下内容:

applyFilter(double* I, Size sz, double theta, double scale, double eta)

我在文档和网上进行了搜索,但没有找到足够的答案,如何将我的 Mat 对象转换为 double[][],这样我就可以运行它通过函数。

问候,

最佳答案

你必须检查你的 Mat 是否有 2 个条件:

  • m.type() == CV_64FC1;//1 channel 双
  • m.isContinuous() == true;//没有填充或 roi

然后你可以安全地使用:

double *I = m.ptr<double>(0); // ptr to 1st row/element

关于c++ - 将 Mat 对象转换为 double arr (OpenCV),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26803716/

相关文章:

c++ - 模板内的递归类型定义

swift - '[任务] ?' is not convertible to ' 可选<[任何]>'

c# - C#中的自动类型转换

python - 返回 _cv.cvHaarDetectObjects(*args)

c++ - 打开 CV 2.2 包含目录丢失

c# - C++ 的 VARIANT 数据类型转换为 C#

c++ - 在 C/C++ 中检查 NULL 指针

c++ - 条件跳转或移动取决于函数调用时未初始化的值

C++基础类

opencv - 将 ffmpeg 流传递给 OpenCV