如何使用浮点数组中的数据初始化 cv::Mat

2024-04-23

我需要创建一个cv::Mat用我的数据初始化的变量float *大批。 这应该是基本的,但我很难弄清楚。

我有代码:

float *matrixAB = <120 floating point array created elsewhere>;
cv::Mat cv_matrixAB = cv::Mat(12, 10, CV_32F, &matrixAB);

but cv_matrixAB从来不包含float值,更重要的是与其中包含的数据不匹配matrixAB.

如果我将该行更改为:

cv::Mat cv_matrixAB = cv::Mat(12, 10, CV_32F, matrixAB);

那么cv_matrixAB.data都是0。我也尝试过使用CV_64F作为类型,但我看到相同的行为。

谁能帮我确定我哪里出了问题?根据cv::Mat构造函数文档,我应该能够以 a 的形式提供我的数据float * array.

Update:这里有更多信息: 即使下面的代码也不起作用。这printf显示63,这当然不是一个值dummy_query_data.

float dummy_query_data[10] = { 1, 2, 3, 4,
                               5, 6, 7, 8 };
cv::Mat dummy_query = cv::Mat(2, 4, CV_32F, dummy_query_data);
printf("%f\n", (float)dummy_query.data[3]);

你做的不错。但是您应该使用以下方式访问 mat 元素at<float>()代替.data http://docs.opencv.org/modules/core/doc/basic_structures.html#mat(这会给你uchar *)。或者简单地使用cout << mat;打印它的所有元素。它会给你预期的结果。

float dummy_query_data[10] = { 1, 2, 3, 4, 5, 6, 7, 8 };
cv::Mat dummy_query = cv::Mat(2, 4, CV_32F, dummy_query_data);

cout << dummy_query.at<float>(0,2) << endl;
cout << dummy_query << endl;

它将输出:

3
[1, 2, 3, 4;
  5, 6, 7, 8]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用浮点数组中的数据初始化 cv::Mat 的相关文章

随机推荐

  • 错误“无法复制文件,因为它正在被另一个进程使用

    我使用 C 语言使用 Windows 窗体应用程序 我有很多窗体 当我想从一个窗体遍历到另一个窗体时 我使用this Hide 当我使用此方法时 我收到显示的错误 我知道解决方案是使用 Windows 任务管理器结束进程 但问题是有什么方法
  • “忙等待”与“睡眠”的权衡是什么?

    这是我之前问题的延伸 unix linux 套接字中的阻塞模式如何工作 https stackoverflow com questions 1107391 how does blocking mode in unix linux socke
  • 是否有可嵌入的 Java 替代 Redis?

    根据这个线程 https stackoverflow com questions 3047010 best redis library for java 如果我想从Java中使用Redis Jedis是最好的选择 然而 我想知道是否有任何库
  • GetTokenInformation、TOKEN_OWNER 和 LookupAccountSidA

    我正在尝试使用这些功能来获取运行该进程的用户名 这是代码 include
  • 是否可以在GPU中实现Huffman解码?

    我们有一个用霍夫曼编码编码的数据库 这里的目的是将其及其关联的解码器复制到 GPU 上 然后在 GPU 上对数据库进行解码 并在解码后的数据库上执行操作 而无需将其复制回 CPU 上 我还远远不是霍夫曼专家 但我所知道的少数人表明 它似乎是
  • 如何在基于eclipse的Spring项目中添加bean配置文件?

    我从头开始处理 Spring 项目 当我尝试添加新的 Spring bean 配置文件时 我只是在那里看不到它 项目结构和选择向导如下 Figure 选择向导中没有 弹簧 部分 Figure project structure 如何在项目中
  • Scala 中的类型参数化

    所以我现在正在学习 Scala 我正在尝试创建一个向量空间为 3 x y z 坐标 的抽象向量类 我正在尝试将其中两个向量与以下代码相加 package math class Vector3 T ax T ay T az T def x a
  • 学习 CIL [已关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 EC2 实例创建中使用“无需密钥对继续”?

    我对 AWS 比较陌生 正在探索不同的可用选项 创建实例时 如果选择 在没有密钥对的情况下继续 我们将无法连接到该实例 文档中还有一条说明 说明不应选择此选项 那么这个选项的主要用途是什么呢 我们应该在哪些场景下使用它 选项Proceed
  • PDO 在 UTF-8 字符处截断字符串[重复]

    这个问题在这里已经有答案了 我使用的是 PHP 5 5 当我尝试在 MySQL 数据库中插入 UTF 8 字符时 PDO 在第一个非 ASCII 字符处将其截断 我已将连接设置为 DB TYPE host DB HOST dbname DB
  • 应用程序图标在 Android 设备上不可见

    我正在开发一款安卓游戏 它工作正常 但我有一个问题 如果我从我的android manifest我的应用程序图标可见 如果我不删除这些行 那么我的应用程序图标在我的 Android 上将不可见
  • 为什么在 CSS 中使用 div 宽度的百分比值?

    我正在阅读有关 css 的文章 我发现许多作者建议对 div 的宽度或高度使用 值 我一直在使用像素 为什么我应该使用 值来表示 div 的宽度或高度而不是像素 有什么优点 我个人不喜欢主要内容区域有 宽度的网站 因为不一致 整个网站最好使
  • 如何从 Java watchservice 取消注册目录?

    我向我的 watchService 注册了一个文件夹 path register watchService ENTRY CREATE ENTRY DELETE ENTRY MODIFY 后来我想取消这个注册 我知道我需要以某种方式告诉 wa
  • Ember 数据保存关系

    我很难在 ember 数据中保存一对多关系 我有这样的关系 App ParameterSet DS Model name DS attr string regions DS hasMany App Region App Region DS
  • 针对 xsd 的 xml 模式转换问题在 Android 应用程序中给出非法异常

    我已经编写了一段代码来根据我的 android 应用程序中给定的 xsd 文件验证给定的 xml 文件 但它给出了非法异常错误 在一些帖子中我看到它是因为 java 版本较低 但我的java版本是1 6 0 20 请检查下面的代码 错误日志
  • UnicodeEncodeError:“ascii”编解码器无法编码字符[...]

    我已阅读如何非 Unicode http docs python org howto unicode html来自官方文档和完整 非常详细的article http boodebr org main python all about pyt
  • Django - 显示 ModelForm 外键字段

    型号及形式 class Book models Model author models ForeignKey User name models CharField max length 50 class BookForm forms Mod
  • 使用 applescript 在 Outlook 中创建带附件的邮件

    我正在尝试在 Microsoft Outlook 版本 15 6 中打开一个新消息窗口并填充包括附件在内的字段 这是我的动作脚本代码 tell application Microsoft Outlook set newMessage to
  • 如何通过反射区分值类型、可为空值类型、枚举、可为空枚举、引用类型?

    如何通过反射区分值类型 可为空值类型 枚举 可为空枚举 引用类型 enum MyEnum One Two Three class MyClass public int IntegerProp get set public int Nulla
  • 如何使用浮点数组中的数据初始化 cv::Mat

    我需要创建一个cv Mat用我的数据初始化的变量float 大批 这应该是基本的 但我很难弄清楚 我有代码 float matrixAB lt 120 floating point array created elsewhere gt cv