从没有临时变量的 cv::FileNode 读取 cv::Mat 时出现编译错误

2024-01-05

我有一段代码可以保存一行cv::Mat使用 OpenCV FileStorage API 保存到文件中。我试图将此矩阵读入一行,而不使用指向该行本身的临时变量。完成这项工作的代码如下:

#include <opencv2/highgui/highgui.hpp>

using namespace cv;

int main(int argc, char **argv) {
    Mat src = imread(argv[1], -1);

    FileStorage fs("test.yml", FileStorage::WRITE);
    fs << "imgs" << "[" << "{" << "img" << src.row(500) << "}" << "]";
    fs.release();

    FileStorage fs2("test.yml", FileStorage::READ);
    Mat src2(src.size(), src.type(), Scalar(0));
    FileNode imgsNode = fs2["imgs"];
    for (FileNodeIterator it = imgsNode.begin(); it != imgsNode.end(); ++it)
        (*it)["img"] >> src2.row(500);
    fs2.release();

    imwrite("res.pgm", src2);
}

我正在尝试使用以下 Makefile 来编译它:

# Makefile for Test

CXX = g++

CXXFLAGS = -O2 -g -Wall -fmessage-length=0 -std=c++0x
LDFLAGS =

# OpenCV
CXXFLAGS += `pkg-config opencv --cflags`
LDFLAGS += `pkg-config opencv --libs`

SOURCES = $(wildcard *.cpp)
OBJECTS = $(SOURCES:.cpp=.o)

BIN = Test

all: $(BIN)

$(BIN): $(OBJECTS)
    $(CXX) $(OBJECTS) -o $(BIN) $(LDFLAGS)

.cpp.o:
    $(CXX) -c $(CXXFLAGS) $< -o $@

clean:
    rm -rf $(OBJECTS) $(BIN) *~

当我尝试编译时,它抛出以下错误:

Test.cpp:23:31: error: no match for ‘operator>>’ in ‘cv::FileNode::operator[](const char*) const(((const char*)"img")) >> cv::Mat::row(int) const(500)’

这个问题是从答案中衍生出来的这另一个问题 https://stackoverflow.com/a/20065582/378647声称此代码可以工作的地方。

我的系统是基于 x86_64 架构的 Ubuntu 12.10。我使用 g++ 4.7.2 作为编译器,并使用与 ROS Groovy 捆绑在一起的 OpenCV 2.4.6.1,这是我通过 PPA 安装的。

我也尝试了发行版存储库中的 OpenCV 2.3.1 以及 PPA 中的 OpenCV 2.4.2,但得到了相同的结果。在每个 OpenCV 安装中,我都有所有可用的库。

非常感谢您的任何见解。


None

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

从没有临时变量的 cv::FileNode 读取 cv::Mat 时出现编译错误 的相关文章

  • 查找哪些页面不再与写入时复制共享

    假设我在 Linux 中有一个进程 我从中fork 另一个相同的过程 后forking 因为原始进程将开始写入内存 Linux写时复制机制将为进程提供与分叉进程使用的不同的唯一物理内存页 在执行的某个时刻 我如何知道原始进程的哪些页面已被写
  • OpenCv读/写视频色差

    我试图简单地使用 openCV 打开视频 处理帧并将处理后的帧写入新的视频文件 我的问题是 即使我根本不处理帧 只是打开视频 使用 VideoCapture 读取帧并使用 VideoWriter 将它们写入新文件 输出文件看起来比输入更 绿
  • 在搜索 List 时,为什么 Enumerable.Any(Func predicate) 比带有 if 语句的 foreach 慢

    最近有件事引起了我的好奇心 Why is the Enumerable Any Func
  • 迭代变量并查找特定类型实例的技术

    我想迭代进程中内存中的变量 通过插件动态加载 并查找特定类型的实例 以前我可以找到特定类型 或内存中的所有类型 我可以创建类型的实例 我可以获取作为不同类型的字段包含的实例 但我无论如何都不知道只是 搜索 特定类型的实例 一种方法是使用 W
  • 显示异常时的自定义错误消息:从客户端检测到潜在危险的 Request.Form 值

    我在我的 Web 应用程序中使用 ASP NET 的登录控件 当发生此异常时 我想在标签上显示一种有趣的错误类型System Web HttpRequestValidationException A potentially dangerou
  • C 语言中 =+(等于加)是什么意思?

    我碰到 与标准相反 今天在一些 C 代码中 我不太确定这里发生了什么 我在文档中也找不到它 In ancientC 版本 相当于 它的残余物与最早的恐龙骨头一起被发现 例如 B 引入了广义赋值运算符 使用x y to add y to x
  • Qt 创建布局并动态添加小部件到布局

    我正在尝试在 MainWindow 类中动态创建布局 我有四个框架 它们是用网格布局对象放置的 每个框架都包含一个自定义的 ClockWidget 我希望 ClockWidget 对象在调整主窗口大小时相应地调整大小 因此我需要将它们添加到
  • 将数据打印到文件

    我已经超载了 lt lt 运算符 使其写入文件并写入控制台 我已经为同一个函数创建了 8 个线程 并且我想输出 hello hi 如果我在无限循环中运行这个线程例程 文件中的o p是 hello hi hello hi hello hi e
  • 无法将类型“System.IO.Stream”隐式转换为“Java.IO.InputStream”

    我提到了一些类似的问题 但没有一个涉及IO 当我使用时 我在java中使用了相同的代码Eclipse 那次就成功了 但现在我尝试在中使用这段代码Mono for Android C 它不起作用 我正在尝试运行此代码来创建一个InputStr
  • 生产代码中的 LRU 实现

    我有一些 C 代码 需要使用 LRU 技术实现缓存替换 目前我知道两种实现LRU缓存替换的方法 每次访问缓存数据时使用时间戳 最后比较替换时的时间戳 使用缓存项的堆栈 如果最近访问过它们 则将它们移动到顶部 因此最后底部将包含 LRU 候选
  • 为什么我不应该对不是由 malloc() 分配的变量调用 free() ?

    我在某处读到 使用它是灾难性的free删除不是通过调用创建的对象malloc 这是真的 为什么 这是未定义的行为 永远不要尝试它 让我们看看当您尝试时会发生什么free 自动变量 堆管理器必须推断出如何获取内存块的所有权 为此 它要么必须使
  • 当“int”处于最大值并使用 postfix ++ 进行测试时,代码定义良好吗?

    示例 未定义行为的一个示例是整数溢出的行为 C11dr 3 4 3 3 int溢出是未定义的行为 但这是否适用于存在循环的以下内容 并且不使用现在超出范围的副作用i 特别是 这是否后缀增量规格帮助 结果的值计算在副作用之前排序 更新操作数的
  • 获取 2 个数据集 c# 中的差异

    我正在编写一个简短的算法 它必须比较两个数据集 以便可以进一步处理两者之间的差异 我尝试通过合并这两个数据集并将结果更改放入新的数据集来实现此目标 我的方法如下所示 private DataSet ComputateDiff DataSet
  • BRISK 特征检测器检测零个关键点

    下面显示的 Brisk 探测器没有给我任何关键点 有人可以提出一个问题吗 我将尝试用一些代码解释我在下面所做的事情 include opencv2 features2d features2d hpp using namespace cv u
  • 在类的所有方法之前运行一个方法

    在 C 3 或 4 中可以做到这一点吗 也许有一些反思 class Magic RunBeforeAll public void BaseMethod runs BaseMethod before being executed public
  • 是否可以有一个 out ParameterExpression?

    我想定义一个 Lambda 表达式out范围 有可能做到吗 下面是我尝试过的 C Net 4 0 控制台应用程序的代码片段 正如您在 procedure25 中看到的 我可以使用 lambda 表达式来定义具有输出参数的委托 但是 当我想使
  • 剪贴板在 .NET 3.5 和 4 中的行为有所不同,但为什么呢?

    我们最近将一个非常大的项目从 NET Framework 3 5 升级到 4 最初一切似乎都工作正常 但现在复制粘贴操作开始出现错误 我已经成功制作了一个小型的可复制应用程序 它显示了 NET 3 5 和 4 中的不同行为 我还找到了一种解
  • 运算符“==”不能应用于“int”和“string”类型的操作数

    我正在编写一个程序 我想到了一个数字 然后计算机猜测了它 我一边尝试一边测试它 但我不断收到不应该出现的错误 错误是主题标题 我使用 Int Parse 来转换我的字符串 但我不知道为什么会收到错误 我知道它说 不能与整数一起使用 但我在网
  • 带重定向标准流的 C# + telnet 进程立即退出

    我正在尝试用 C 做一个 脚本化 telnet 项目 有点类似于Tcl期望 http expect nist gov 我需要为其启动 telnet 进程并重定向 和处理 其 stdin stdout 流 问题是 生成的 telnet 进程在
  • 使用 Crypto++ 获取 ECDSA 签名

    我必须使用 Crypto 在变量中获取 ECDSA 签名 我在启动 SignMessage 后尝试获取它 但签名为空 我怎样才能得到它 你看过 Crypto wiki 吗 上面有很多东西椭圆曲线数字签名算法 http www cryptop

随机推荐

  • 如何删除R中箱线图中的异常值? [复制]

    这个问题在这里已经有答案了 可能的重复 更改箱线图中的异常值规则 https stackoverflow com questions 4994313 changing the outlier rule in a boxplot 我需要使用箱
  • 验证 ASP.NET 中的查询字符串

    是否有一个库可以在我当前的 ASP NET 应用程序中使用来验证查询字符串 编辑 使用正则表达式查找模式 例如字符串 仅 仅数字 长度为x的字符串 等 Thanks 不知道库 但您可以使用它来检查查询字符串是否存在 if String Is
  • 可以在工具栏中添加图像视图吗?

    我需要有关的信息Toolbar 我想在我的中添加四张图片Toolbar例如主页 新闻 搜索和消息 所以我把Imageview是在Toolbar 现在我不知道如何在这些图像上添加侦听器 我该怎么做 我还有一个导航抽屉 我想要它 如果你按Ima
  • 身份不是使用 WIF 的 IClaimsIdentity(在 ASP.NET MVC 4 / Azure 上)

    我有 VS2012RC 的 WIF 工具 并且我正在尝试让我的 ASP NET MVC 4 项目使用它们 我已经安装了NuGet包 https nuget org packages Microsoft IdentityModel 3 5 0
  • LuaSocket、Lua 5.2 和 Redis

    有谁能够让这些一起工作吗 我已经得到 5 2 工作得很好 它可以找到 lua redis redis lua 但是它无法加载套接字模块 我似乎无法使用 lua LuaSocket 版本 2 0 2 有人有任何建议可以让这个工作吗 我尝试过制
  • 向 iOS 应用程序添加一个对所有视图可见的顶栏

    在选项卡栏 iOS 应用程序中添加顶部栏 视图 的最佳方法是什么 该顶部栏始终保留在所有视图的顶部 无论选择哪个选项卡 如下图所示 我会使用 UIViewController Containment 看一眼 https developer
  • VBA 求解器不循环

    我试图在多个列上使用求解器 用户定义的确切列数 看完这里的问题后 我仍然找不到我的代码有什么问题 我对 VBA 还很陌生 当我运行它时 它在第一年运行良好 但不适用于接下来的几年 Dim wsFM B3 As Worksheet Set w
  • 如何使用Traceur在ES6类中实现私有方法[重复]

    这个问题在这里已经有答案了 我现在使用 Traceur Compiler 来利用 ES6 功能 我想从 ES5 实现这些东西 function Animal var self this sayHi sayHi function self h
  • 如何使用 JDBC 驱动程序和 SSL 连接连接到 Sybase ASE

    我尝试使用 JDBC 驱动程序建立与 Sybase ASE 15 7 的 SSL 连接 但没有成功 我尝试了以下选项 使用 JTDS 1 25 驱动程序 jtds 1 2 5 jar 使用以下连接字符串 jdbc jtds sybase h
  • MATLAB 中的套接字编程?

    我有两台运行 MATLAB 的机器 我需要在它们之间交换信息 数字 图像 MATLAB 有没有办法可以做到这一点 如果你有并行计算工具箱 http www mathworks com products parallel computing
  • Spring MVC ajax 重新渲染用户界面重复

    首先我主要是JSF背景 我最近开始学习Spring MVC 困扰我的一件事是使用时ajax重新渲染Spring MVC and JQuery 让我们想象一下我在我的代码中定义了一个复杂的形式people jsp view
  • 使用命名空间访问 XML 属性

    如何使用命名空间访问属性 我的 XML 数据采用某种形式 val d
  • 类似图像映射的 Blackberry 控件 - CLDC 应用程序

    有谁知道我可以在 CLDC 应用程序中使用类似图像映射的 Blackberry Control 如果没有 是否有一种方法可以获取 MainScreen 或 BitmapField 派生控件上的单击 x y 坐标 Thanks 我假设您正在考
  • getch() 按一次箭头键读取两个字符

    今天我正在测试按键在 C 中如何工作 并为其制作了简单的循环 发现 getch 由于某种原因重复自身或不知道到底发生了什么 只需看看 include
  • 使用 PHP 读取“块”文件

    在 php 中通过相对较小的数据块读取文件的最佳方法是什么 例如 读取 5MB 然后释放该内存并读取另外 5MB 我正在用 php 编写一个解析工具 需要读取一个巨大的文件并将其转换为 CSV 我的问题是我不断超出允许的内存限制 并且在我的
  • Ansible 在 Windows 主机上创建 zip 文件备份

    我想将 windows 目录压缩成 zip 文件 存档功能不起作用 对于我看到的窗户win unzip模块 但我没有找到win zip module 我们如何备份Windows中现有的文件夹 name Backup existing ins
  • 如何在 Spring 4 中混合使用 Cglib 和 JDK Proxy

    我是 Spring AOP 的新手 目前正在使用基于注释的方面方法 我对 spring 4 中的代理策略有疑问 有什么方法可以强制 spring 为具体类创建 cglib 代理 并为在同一应用程序上下文中实现接口的类创建 jdk 代理 这就
  • 仅在测试期间使用特殊的构造函数是否有代码味道?

    假设我有一堂课Foo仅用类的实例实例化Bar public Foo Bar x this a x a this b x b 现在我想测试一下Foo 进一步假设一个实例Bar想要达到的状态是很难创造的 作为附加约束 字段a b 被声明为最终的
  • 获取 url 列表的 HTTP 状态代码的脚本?

    我有一个需要检查的 URL 列表 看看它们是否仍然有效 我想编写一个 bash 脚本来为我做到这一点 我只需要返回的 HTTP 状态代码 即 200 404 500 等 而已 EDIT请注意 如果页面显示 404 not found 但返回
  • 从没有临时变量的 cv::FileNode 读取 cv::Mat 时出现编译错误

    我有一段代码可以保存一行cv Mat使用 OpenCV FileStorage API 保存到文件中 我试图将此矩阵读入一行 而不使用指向该行本身的临时变量 完成这项工作的代码如下 include