vs2019配置opencv4.5.4---源码编译

  • 0. 前言
  • 1 工具准备
  • 1.1 python
  • 1.2 opencv4.5.4源码
  • 1.3 cmake
  • 2 下载安装编译过程
  • 2.1 安装python
  • 2.1.1 安装过程
  • 2.2 python环境变量配置
  • 2.3 numpy安装
  • 2.4 安装cmake
  • 3 属性配置
  • 3.1 属性表配置
  • 3.2 永久属性表设置
  • 3.3 依赖配置
  • 4 缺失文件替换
  • 测试代码和结果
  • 代码
  • 结果
  • 5.在vs2019下使用CMake构建项目
  • 5.1

0. 前言

在网上查了很多教程,参考了很多方法,最后在实验室同学帮助下完成了配置 主要参考: 链接: https://www.bilibili.com/video/BV13R4y147iA.

链接: https://www.bilibili.com/video/BV1QX4y1T7bX. 链接: https://zhuanlan.zhihu.com/p/344036896.

1 工具准备

1.1 python

需要python(大于2.7),我选用了python3.10、

注意python不要用anaconda虚拟环境,须是系统环境

1.2 opencv4.5.4源码

如果下载的是windows下的.exe文件,解压出来是只支持vc14和vc15

而vs2019基于vc16构建

所以我们需要下载Sources进行编译

opencv源码编译为opencvsharp_ide

1.3 cmake

下载基于windows平台下的cmake-gui工具进行编译

2 下载安装编译过程

2.1 安装python

由于笔者之前安装了anaconda,如果直接在虚拟环境下安装可能会出错(实验室小伙伴力劝)。 而且必须是安装python的编译版本

2.1.1 安装过程

下载:python-installer

opencv源码编译为opencvsharp_visual studio_02

opencv源码编译为opencvsharp_visual studio_03

安装:

opencv源码编译为opencvsharp_visual studio_04

opencv源码编译为opencvsharp_c++_05

你可能之前装过其他python,也许一开始不会跳出上述界面,重新安装一下按照上述操作重新来一遍

注意红线两个debug是必选的

2.2 python环境变量配置

由于你的环境可能有anaconda的python虚拟环境,所以配置一下环境变量使得windows下cmd.exe是你刚刚装的python环境

opencv源码编译为opencvsharp_opencv_06

opencv源码编译为opencvsharp_opencv_07

上述第一行是你的安装路径,配置一下:

一定要加在anaconda环境变量的前面,让系统首先找到你所设置的

2.3 numpy安装

由于编译需要

参考链接: .

上述链接也解释了为什么这么安装

opencv源码编译为opencvsharp_visual studio_08

由于64位安装:amd64

cp310是对应的python3.10版本

所以下载

numpy‑1.21.4+mkl‑cp310‑cp310‑win_amd64.whl

opencv源码编译为opencvsharp_visual studio_09

cd到安装路径下(一定要记住啊,哈哈)的Scripts文件夹

pip install "numpy‑1.21.4+mkl‑cp310‑cp310‑win_amd64.whl"

2.4 安装cmake

opencv源码编译为opencvsharp_python_10

安装过程见:https://www.bilibili.com/video/BV13R4y147iA.

看一下这个:

https://www.bilibili.com/video/BV1QX4y1T7bX.

后面配置过程也跟这差不多,就先写到这里吧

3 属性配置

3.1 属性表配置

opencv源码编译为opencvsharp_ide_11

opencv源码编译为opencvsharp_python_12

opencv源码编译为opencvsharp_c++_13

3.2 永久属性表设置

opencv源码编译为opencvsharp_ide_14

opencv源码编译为opencvsharp_python_15

opencv源码编译为opencvsharp_python_16

3.3 依赖配置

opencv源码编译为opencvsharp_ide_17

opencv源码编译为opencvsharp_python_18

4 缺失文件替换

opencv源码编译为opencvsharp_visual studio_19

测试代码和结果

代码

#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui_c.h>
#include <iostream>
#include <math.h>
using namespace cv;
using namespace std; int main(int argc, char** argv)
{
    Mat src;
    src = imread("D:\\test\\test.png");
    if (src.empty())
    {
        printf(" could not load image...\n ");
        return -1;
    }
    namedWindow("test opencv setup", WINDOW_AUTOSIZE);//创建窗口, 自动大小
    imshow("test opencv setup", src);

    //namedWindow(" output windows", CV_WINDOW_AUTOSIZE);
    Mat output_image;
    cvtColor(src, output_image, CV_BGR2HLS);//修 改图像为某色彩空间
    imshow("output windows", output_image); //保存
    imwrite("D:\\test\\test2.png", output_image);
    waitKey(0);
    return 0;

}

结果

opencv源码编译为opencvsharp_python_20

5.在vs2019下使用CMake构建项目

# CMakeList.txt: chapter2 的 CMake 项目,在此处包括源代码并定义
# 项目特定的逻辑。
#
cmake_minimum_required (VERSION 3.8)

project ("chapter2")
include_directories("C:/tools/opencv-4.5.4-lib/install/include")  #include下面opencv2文件夹
#显然要将“\”替换为“/”
#include_directories("")不是包含windows环境变量下
# 将源代码添加到此项目的可执行文件。
link_directories("C:/tools/opencv-4.5.4-lib/install/x64/vc16/lib")

add_executable (chapter2 "chapter2.cpp" "chapter2.h")



add_executable (ImgWriter "ImgWriter.cpp")
target_link_libraries(ImgWriter opencv_world454d)

# TODO: 如有需要,请添加测试并安装目标。
#配置成功

5.1

如何自动保存在与CMakeLists.txt的同一级文件夹而不是保存在 E:\VisualStudioProject\LearnOpenCV4\chapter2\out\build\x64-Debug