小编use*_*204的帖子

USB3 Vision 和/或 GigE Vision 相机会有类似 libdc1394 的 API 吗?

由于火线相机因其带宽限制而变得过时,相机制造商似乎正在转向 USB 3.0 或千兆以太网接口。两者都有许多制造商都遵守的标准 USB3 Vision 和 GigE Vision。

然而,似乎每个制造商——Basler、Pointgrey、Ximia 和其他制造商——都有自己的 SDK 来连接他们的相机。在开发应用程序时,开发人员需要学习并与每个 API 进行交互,这很痛苦,或者坚持一个制造商。我可能会被误解,但在这种情况下,如果开发人员需要使用制造商相关的 API,那么行业标准的意义何在?

对于火线相机,开发人员可以访问 libdc1394 跨平台、高级 API。他们无需担心相机的制造商,也不必编写单独的驱动程序。USB3 Vision 和 GigE Vision 是否也有这种可能?如果是这样,谁来开发它?

standards camera computer-vision

4
推荐指数
2
解决办法
2726
查看次数

Yaml-cpp(新API) - 嵌套的映射/序列组合和迭代

我对这个api处理地图与序列的处理有很基本的问题.说我有以下结构:

foo_map["f1"] = "one";
foo_map["f2"] = "two";
bar_map["b1"] = "one";
bar_map["b2"] = "two";
Run Code Online (Sandbox Code Playgroud)

我希望将其转换为以下YAML文件:

Node: 
    - Foo:
      f1 : one
      f2 : two
    - Bar:
      b1 : one
      b2 : two
Run Code Online (Sandbox Code Playgroud)

我会这样做:

node.push_back("Foo");
node["Foo"]["b1"] = "one";
...
node.push_back("Bar");
Run Code Online (Sandbox Code Playgroud)

但是在最后一行节点现在已经从一个序列转换为一个映射,我得到了一个例外.我能做到这一点的唯一方法是输出地图地图:

Node:
    Foo:
      f1 : one
      f2 : two
    Bar:
      b1 : one
      b2 : two
Run Code Online (Sandbox Code Playgroud)

这个问题是我无法读回这些文件.如果我迭代Node,我甚至无法获得节点迭代器的类型而不会出现异常.

YAML::Node::const_iterator n_it = node.begin();

for (; n_it != config.end(); n_it++) {
        if (n_it->Type() == YAML::NodeType::Scalar) {
            // throws exception
        }
    }
Run Code Online (Sandbox Code Playgroud)

这应该很容易处理,但一直让我发疯!

c++ yaml-cpp

2
推荐指数
1
解决办法
3134
查看次数

标签 统计

c++ ×1

camera ×1

computer-vision ×1

standards ×1

yaml-cpp ×1