1.编译的目的
不编译也能够直接使用OpenCV自带的库文件(见:永久配置opencv方法),可是假设是为了方便调试:1. 方便调试opencv源代码 。2.为了与某些库兼容
编译用的工具Cmake,这是一个跨平台的安装编译工具。主要用于把OpenCV的源代码生成相应的VSproject
2.下载软件
opencv4.5.0
opencv_contrib-4.5.0
cmake-3.19.6-zip
随便下载一个cmake编译器,这里选择的是zip后缀的,因为不用安装
将opencv和contrib放在一个文件夹下
3.编译opencv
1.打开F:\cmake-3.19.6\bin下的
2.在opencv所在的文件夹新建一个tobuild
3.输入文件路径
4.点击configure
选择vs2017和 x64
再点击generate
接下来就开始漫长的等待编译opencv源码过程了,最后会产生7~8G的文件
5.tobuild文件夹中打开opencv.sln
找到install 鼠标右键 生成即可
4.配置opencv的属性表
属性管理器 —> debug| x64
新建一个属性表,命名为opencv450debug
修改属性表的内容
包含目录
库目录
链接器 --> 输入–>附加依赖项
将tobuild/install/x64/lib下的所有dll加入
获取所有dll的小技巧,如下
import os
file_path = r"F:\opencv4.5\tobulid\install\x64\vc15\lib"
for file in os.listdir(file_path):
if file.endswith('lib'):
print(file)
将输出结果copy一下就可以避免手动一个个输入了…
最后,将F:\opencv4.5\tobulid\install\x64\vc15\bin下相应的dll,copy到
C:\Windows\System32中即可
5.如何只配置一次即可
保留这个属性表,在新的项目里添加现有属性表即可
6.测试代码
#include<opencv2/opencv.hpp>
#include <opencv2/highgui/highgui_c.h>
#include<iostream>
using namespace cv;
int main()
{
Mat src = imread("D:/pycharm/resnet/rose.jpg");//打开图片及照片的路径
if (src.empty())//判断是不是为空
{
std::cout << "不能打开图片!" << std::endl;
return -1;
}
namedWindow("src", 0);//创建窗口,自动开启大小
imshow("src", src);//窗口标题
waitKey(0);//给一个指令关闭,
return 0;
}