我是 C++ 和 OpenCV 的菜鸟,所以如果我的问题很愚蠢,请原谅。基本上我正在尝试关注 this tutorial用于通过 native 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);
}
最佳答案
我不相信这是 C 或 OpenCV 的问题,你遇到的是链接问题
如果您尝试包含 #include <opencv2/core/core.hpp>
它无法读取它,这意味着您的编译器无法在其搜索列表中找到 OpenCV2 文件夹,这是因为它不是 visual studio 的一部分,因此您需要下载 openCV 库,然后将其添加到您的项目中,然后将其链接到您的项目才能使用它!
您需要做的是转到项目属性
先选择ALL configuration
然后在配置属性下选择 C/C++
然后你会看到additional include directories
去添加目录到openCV2
即,如果您在名为 include 的项目中创建文件夹,请在其中添加 opencv2
然后在您的地址中使用 .\include\
并记住始终以 \
结束您的路径为避免链接问题,您可以包括
#include <opencv2/core/core.hpp>
在你的项目中
如果您有特定的库,您可以将其添加到 Linker
中然后转到 additional library directories
如果你有 .lib 文件,你可以在那里添加库
注意:确保设置正确的平台 所以不要对 X86 进行此设置,然后期望它适用于 X64 是的,如果您为 X64 项目进行了设置,这些设置将不适用于 X86 项目,因此您需要确保为正确的平台指定设置
关于如何设置项目的完整描述可以在他们的文档中找到 HERE
关于android - 如何将 OpenCV 头文件包含到 C++ 项目中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53137748/