OpenCV c++ 找不到 <opencv2/face.hpp>

Posted

技术标签:

【中文标题】OpenCV c++ 找不到 <opencv2/face.hpp>【英文标题】:OpenCV c++ cannot find <opencv2/face.hpp> 【发布时间】:2020-12-16 16:48:59 【问题描述】:

我正在尝试使用 opencv2/face.hpp。我用这个在我的代码中调用它...

#include <opencv2/face.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/core.hpp>
#include <opencv2/video.hpp>

除了face.hpp 之外的所有hpp 文件都可以正常工作。我在我的 macOS Catalina 上用这个编译:

clang++ -std=c++11 source.cpp `pkg-config --cflags --libs opencv` -o test

我得到这个错误:

RPPG.cpp:10:10: fatal error: 'opencv2/face.hpp' file not found
#include <opencv2/face.hpp>

奇怪的是我有face.hpp。当我跑步时:

ls /usr/local/Cellar/opencv/4.5.0_4/include/opencv4//opencv2/

我看到 face.hppface/ 以及我包含的所有其他 hpp 文件。我通过 brew 安装,我认为这是 clang 拉库的地方。为什么不找面子?

【问题讨论】:

你能检查pkg-config --libs opencv的输出吗 【参考方案1】:

我看到有一些支持,所以发布我的解决方案。我只需要编辑我的 pkg-config 路径。

因为我在这里安装了我想要的 opencv 版本(来自 brew):

/usr/local/Cellar/opencv/4.5.0_4/include/opencv4//opencv2/

我使用了这个命令:

$ export PKG_CONFIG_PATH="/usr/local/Cellar/opencv/4.5.0_5/lib/pkgconfig/

这将 opencv4 添加到我的 pkg-config 可用的库列表中。当我跑步时:

pkg-config --libs opencv

我得到了同样的东西,但是我现在有 opencv4,所以当我运行时:

pkg-config --libs opencv4

我得到了我想要的。 face.hpp 包含在此版本中。

【讨论】:

【参考方案2】:

您似乎使用的是 macOS。我建议您像这样使用 CMakeLists.txt:

cmake_minimum_required(VERSION 3.17)
project(YOUR_PROJECT_NAME)
find_package( OpenCV REQUIRED )
include_directories( $OpenCV_INCLUDE_DIRS )

set(CMAKE_CXX_STANDARD 20)

add_executable(YOUR_PROJECT_NAME YOUR_FILES)
#for example add_executable(Folder source.cpp)
target_link_libraries(YOUR_PROJECT_NAME $OpenCV_LIBS )

请确保您已经使用 brew (brew install opencv) 安装了 openCV。之后要运行你的程序,你应该:

在下载的文件夹项目中创建一个文件夹。例如:mkdir build 在build文件夹中执行cmake命令:cd build &amp;&amp; cmake .. 执行 make 命令获取 bin。 执行 ./NAME 运行。

Clang 是 macOS 中的默认编译器。例如,如果你想使用 gcc,你应该修改你的 CMakeLists.txt。

【讨论】:

以上是关于OpenCV c++ 找不到 <opencv2/face.hpp>的主要内容,如果未能解决你的问题,请参考以下文章

在 Android Studio 中找不到 opencv2

Project2.exe中的C++ OpenCV“找不到或打开PDB文件”和“(opencv_world310.dll):访问冲突读取位置

MinGW C++ 编译器在系统路径中找不到 OpenCV

如何处理在源代码中找不到 OpenCV

CMake - OpenCV - 找不到 -lDisplayImage

找不到opencv相关的头文件stitcher.hpp