【问题标题】:How to use opencv in embedded system如何在嵌入式系统中使用opencv
【发布时间】:2017-03-03 09:43:23
【问题描述】:

我的问题与嵌入式系统中 OpenCV 的使用有关。我不想在我的嵌入式平台上编译整个 opencv 库,而是想知道是否可以只复制这些库并从我的 .cpp 主文件中调用它们。

到目前为止,我通常做的是在我的嵌入式平台和 main.cpp 调用中编译 openCV

#include <opencv2/opencv.hpp>

然后在我刚刚放入的 cmake 文件中:

find_package( OpenCV REQUIRED )
target_link_libraries( main ${OpenCV_LIBS} )

此方法有效,但我想节省空间并仅使用 .so 或 .a 库。有可能这样做吗?如果是,怎么做?

谢谢

【问题讨论】:

    标签: c++ opencv embedded shared-libraries static-libraries


    【解决方案1】:

    是的,OpenCV 可以正常工作,但您必须确保以下几点:

    1. 要复制的库应事先针对同一平台进行编译。
    2. 应放置在适当的位置。
    3. 您还需要 .h 文件来编译代码。

    【讨论】:

    • 您可以制作 2 个嵌入式硬件,第一个用于开发,其中包含带有 .h 文件的 opencv 编译库,第二个仅包含用于运行代码的 .so 文件
    • 您好 Awais,感谢您的回答。基本上: 1-我必须创建一个“lib”目录,其中放置所有 .so 文件 2-我必须创建一个“include”目录,其中放置所有 .h 文件 然后我必须从 cmake 调用 opencv 目录以与以前相同的方式?谢谢
    • 我没有让你指向“cmake opencv 目录”,你必须在环境变量中设置库路径,否则它会给你错误。或者您可以将它们放在 OS lib 文件夹中。
    • 我坚信我可以做一些类似 find_package( OpenCV REQUIRED ) target_link_libraries( main ${OpenCV_LIBS} ) 的事情。在可导出的环境中设置 OpenCV。
    猜你喜欢
    • 1970-01-01
    • 2010-09-12
    • 2016-07-05
    • 1970-01-01
    • 2015-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多