wndows平台VS2019+OpenCV+cmake简单应用

wndows平台VS2019+OpenCV+cmake简单应用

  • 1.下载并解压文件
  • 2.结合人脸检测demo在vs中进行配置
    • 2.1 人脸检测代码
    • 2.2 在VS项目—属性中配置
      • 2.2.1 配置包含目录
      • 2.2.2 配置库目录
      • 2.2.3 配置链接器附加依赖项
    • 2.3 通过cmake进行配置与编译
      • 2.3.1 添加CMakeLists.txt文件
      • 2.3.2 cmake命令行执行
    • 2.4 执行代码测试效果
  • 参考文献

1.下载并解压文件

在opencv 官网下载对应平台的版本,我这里选择当前最新的OpenCV–4.7.0。
wndows平台VS2019+OpenCV+cmake简单应用_第1张图片
解压到指定目录,方便起见,直接加压到C盘或D盘根目录下。
wndows平台VS2019+OpenCV+cmake简单应用_第2张图片

2.结合人脸检测demo在vs中进行配置

2.1 人脸检测代码

在vs中创建项目demo,代码文件名为main.cpp

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
    std::string filepath("test.jpg");
    Mat img, gray;
    img = imread(filepath, 1);
    cvtColor(img, gray, CV_BGR2GRAY);

    CascadeClassifier classifier;
    classifier.load("C:/opencv/sources/data/haarcascades/haarcascade_frontalface_default.xml");
    Scalar color = Scalar(0, 255, 255);

    vector<Rect> faceRects;
    classifier.detectMultiScale(gray, faceRects, 1.1, 3, 0, Size(32, 32));
    cout << faceRects.size() << endl;

    for (size_t i = 0; i < faceRects.size(); i++)
    {
        rectangle(img, faceRects[i], color);
    }

    namedWindow("Display window", WINDOW_AUTOSIZE);
    imshow("Display window", img);
    waitKey(0);
    return 0;
}

haarcascade_frontalface_default.xml文件在C:/opencv/sources/data/haarcascades目录下。

此时会提示opencv2下的那些库函数找不到。

2.2 在VS项目—属性中配置

2.2.1 配置包含目录

wndows平台VS2019+OpenCV+cmake简单应用_第3张图片

2.2.2 配置库目录

wndows平台VS2019+OpenCV+cmake简单应用_第4张图片

2.2.3 配置链接器附加依赖项

DEBUG版本使用opencv_world470d.lib,RELEASE版本使用opencv_world470.lib

wndows平台VS2019+OpenCV+cmake简单应用_第5张图片
注意这里不需要添加完整目录。

2.3 通过cmake进行配置与编译

2.3.1 添加CMakeLists.txt文件

cmake_minimum_required(VERSION 3.10)
project(demo)
find_package( OpenCV REQUIRED )
include_directories(${OpenCV_INCLUDE_DIRS})
link_libraries( ${OpenCV_LIBS})
#message( STATUS "OpenCV_INCLUDE_DIRS: ${OpenCV_INCLUDE_DIRS}\n" )

###也可以手动添加include文件及lib
#include_directories("D:/opencv/build/include")
#LINK_LIBRARIES("D:/opencv/build/x64/vc16/lib/opencv_world470.lib")

add_executable(demo main.cpp)

2.3.2 cmake命令行执行

cmd中执行:

cd project_dir
cmake .
cmake --build . --config release

生成对应的exe文件。

2.4 执行代码测试效果

把lena.jpg,放到项目文件目录下:
wndows平台VS2019+OpenCV+cmake简单应用_第6张图片

执行代码,可以看到人脸正确圈出来了:
wndows平台VS2019+OpenCV+cmake简单应用_第7张图片

参考文献

[1] windows下OpenCV的安装配置部署详细教程
[2] OpenCV 最新版windows下安装教程
[3] LINK : fatal error LNK1104: 无法打开文件“opencv_world400d.lib”—VS2017+OpenCV配置过程
[4] Jetson Nano 从入门到实战(案例:Opencv配置、人脸检测、二维码检测)
[5] VS的VC++目录和C/C++
[6] opencv实现人脸识别(c++实现)

你可能感兴趣的:(c++,opencv,c++,cmake)