【问题标题】:How to include OpenCV header files into C++ project?如何将 OpenCV 头文件包含到 C++ 项目中?
【发布时间】:2019-04-07 19:55:23
【问题描述】:

我是 C++ 和 OpenCV 的新手,所以如果我的问题很愚蠢,请原谅。基本上我正在尝试关注this tutorial 以使用本机 C++ 处理图像。但问题是我无法包含必要的头文件#include <opencv2/core/core.hpp>。谁能帮我解决这个问题?

代码:

#include <jni.h>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include "enhance.h"
using namespace std;
using namespace cv;

JNIEXPORT void JNICALL
Java_org_fossasia_phimpme_editor_editimage_filter_PhotoProcessing_nativeApplyFilter(JNIEnv     *env, jclass type, jlong inpAddr,jlong outAddr) {
   Mat &src = *(Mat*)inpAddr;
   Mat &dst = *(Mat*)outAddr;
   applyFilter(src, dst);
 }

【问题讨论】:

  • “无法”是什么意思?在我看来,您确实包含了头文件。你得到一个编译器错误吗?您收到链接器错误吗?请描述问题。
  • @CrisLuengo 是的,它表明在标题部分不存在像 opencv2 这样的东西
  • 请将实际的错误信息复制粘贴到您的问题中,它会澄清问题。我想你已经安装了 OpenCV。您是否将其安装到标准位置(例如/usr/local)?如果没有,您必须将该位置添加到搜索路径中。

标签: android c++ opencv image-processing


【解决方案1】:

我不相信这是一个 C 或 OpenCV 问题,你所拥有的是链接问题

如果你尝试包含#include &lt;opencv2/core/core.hpp&gt;并且它无法读取它,那么这意味着你的编译器在它的搜索列表中找不到OpenCV2文件夹,这是因为它不是Visual Studio的一部分,所以你需要下载openCV库然后将其添加到您的项目中,然后将其链接到您的项目以使用它!

您需要做的是转到项目属性 首先选择ALL configuration 然后在配置属性下选择C/C++ 然后你会看到additional include directories 去添加目录到openCV2 即,如果您在项目中创建了名为 include 的文件夹,请在此处添加 opencv2 然后在您的地址中使用.\include\ 并记住始终以\ 结束您的路径以避免链接问题然后您可以包括 #include &lt;opencv2/core/core.hpp&gt; 在你的项目中

如果您有特定的库,您可以将其添加到 Linker,然后转到 additional library directories,如果您将其作为 .lib 文件,您可以在那里添加库

注意:确保您设置了正确的平台 所以不要为 X86 做这个设置,然后期望它适用于 X64 是的,如果您为 X64 项目进行了设置,这些设置将不适用于 X86 项目,因此您需要确保为正确的平台指定设置

关于如何设置项目的完整描述可以在他们的文档HERE中找到

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多