【问题标题】:How to display all values present in Mat variable in OpenCV?如何在 OpenCV 中显示 Mat 变量中存在的所有值?
【发布时间】:2014-08-07 11:00:27
【问题描述】:

我正在使用Eclipse 中的OpenCV 库为Android 最新版本开发闭眼/开眼检测项目。我检索检测到的面部的一部分,然后将其保存在Mat 变量中。

我遇到了如何显示所有值的问题(gray-scale 像素值)。这些是我尝试过的方法:

  • 我发现System.out.println()Android 中不起作用。
  • 我使用 Log.i() 函数在两个 for 循环中显示所有像素值,但它显示的值有限,这意味着我无法看到起始值。
  • 我尝试了Mat_Variable.dump() 函数来显示 Mat 变量的所有值,但我看不到任何输出。

如何显示 Mat_variable 中存在的所有值?

另外,有没有什么办法可以看到矩阵格式的 Mat 变量的所有值(因为System.out.println() 不起作用,否则我可以使用System.out.println() 以矩阵格式显示值)?

【问题讨论】:

    标签: java android c++ eclipse opencv


    【解决方案1】:

    将值写入文件怎么样?

    如果这对您来说是一个解决方案,您可以尝试以下方法:

    // Create access to the file
    cv::FileStorage file("mat.yml", cv::FileStorage::WRITE);
    cv::Mat myMat;
    
    // Write myMat to file!
    file << myMat;
    

    如果您在使用write-permissions 时遇到问题,请查看here 上的答案


    很抱歉没有仔细查看您指定的标签。有两种方法可以继续。第一种方法是按照this 方法手动将Mat 写入文件。第二种方法是使用Android-NDK。由于我对Android-NDK不熟悉,我只能为您指出一些code sample

    【讨论】:

    • 对不起,我是 android-openCV 的新手。如果我没记错的话,您已经给出了基于 Native code language c++ 的解决方案。你能给我基于java的解决方案吗?否则,你能告诉我如何在 c++ 文件中访问基于 java 的 Mat_variable 吗?谢谢。
    猜你喜欢
    • 1970-01-01
    • 2014-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-02
    • 2018-03-01
    • 2018-03-24
    相关资源
    最近更新 更多