如何在 Android Opencv c++ 中获取 abs Mat?

Posted

技术标签:

【中文标题】如何在 Android Opencv c++ 中获取 abs Mat?【英文标题】:How to get abs Mat in Android Opencv c++? 【发布时间】:2017-10-22 11:36:04 【问题描述】:

我想在 android Opencv c++ 库中获取绝对矩阵。 我正在使用 abs(Mat m) 函数,但它会返回 MatExpr 对象。您知道如何仅使用矩阵的绝对值获取 Mat 对象吗?

    Mat * laplacian = getMat(byteArray, counter);
    MatExpr absolute = abs(*laplacian);

    Mat * absoluteMat = ????

我没有找到任何 Mat 构造函数,你能帮我重新输入这个 MatExpression 吗?非常感谢

解决方案:

Mat * absolute = new Mat(abs(*(laplacian)));

感谢所有试图提供帮助的人:)

【问题讨论】:

Mat absoluteMat = abs(*laplacian); Miki,它不会返回 Mat 对象,而是 MatExpr。 是的,我知道。你试过了吗? 是的,它适用于 MS Visual Studio,但不适用于 android NDK。不过还是谢谢你的小费:) 不同的行为有点奇怪,但也有适用于 android NDK 的解决方案。感谢您抽出时间三木! 【参考方案1】:

这是本参考文献中的第一个函数:https://docs.opencv.org/2.4/modules/core/doc/operations_on_arrays.html

C++: MatExpr abs(const Mat& m)

【讨论】:

我需要返回 Mat 对象,而不是 MatExpr。我在问题描述中使用了这个函数

以上是关于如何在 Android Opencv c++ 中获取 abs Mat?的主要内容,如果未能解决你的问题,请参考以下文章

Android:如何使用 OpenCV C++ 打开文件?

如何在适用于 Android 和 iOS 的 C++ 跨平台库中正确链接 OpenCV?

如何在 Android Opencv c++ 中获取 abs Mat?

android:如何将 int[] 转换为 OpenCV Mat c++?

在Android中c++里调用opencv

如何跟踪运动物体的轨迹openCV C++