【问题标题】:Compiling OpenCV without sse for use in ROS在没有 sse 的情况下编译 OpenCV 以在 ROS 中使用
【发布时间】:2013-03-06 00:46:44
【问题描述】:

所以我遇到了一个似乎与在不支持 SSE 的处理器上在 ROS 中使用 OpenCV 相关的问题。具体来说,每当尝试使用 OpenNI 或 freenect 与 Xbox Kinect 交互时,就会出现此问题。每当我尝试启动其中任何一个时,都会收到“非法指令”错误。根据我的阅读,这个问题可以追溯到 opencv 并且它使用 SSE,这在我的处理器上不受支持(Roboard RB100 上的 Vortex86DX)。我找到了有关如何从源代码编译 OpenCV 以及使用标志在没有 SSE 的情况下进行编译的说明,但无法弄清楚如何在 ROS 中使用它。有人知道如何在 ROS 中使用自定义编译版本的 OpenCV 来缓解这个问题吗?

谢谢!

如果您需要任何进一步的信息,请询问。

【问题讨论】:

    标签: opencv sse ros


    【解决方案1】:

    如果您在旧 CPU 上尝试使用 opencv 和 ROS 时遇到“非法指令”错误,请尝试构建不带 SSE3 的 opencv 库,然后将它们复制到 ROS 版本上。

    例如,像这样的:

    $ cd ~/opencv-2.4.9
    $ mkdir build && cd build && cmake -DENABLE_SSE3=OFF .. && make && sudo make install
    $ sudo cp `ls /usr/local/lib/libopencv*.2.4.9` /opt/ros/hydro/lib
    

    然后看看是否有效:

    $ python
    > import cv
    

    【讨论】:

      【解决方案2】:

      我遇到了类似的问题。 检查旧的库是否不在 ROS 库路径中,例如 /opt/ros/groovy/lib

      您还可以更新环境变量以确保之前已加载新库。

      【讨论】:

        猜你喜欢
        • 2013-02-16
        • 2015-12-27
        • 1970-01-01
        • 2019-04-22
        • 1970-01-01
        • 2022-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多