C++ OpenCv教程(1):搭建VS2019与OpenCv开发环境

2,477 阅读2分钟

各位遨游在OpenCv世界但还在挣扎的伙伴们好,让我们一起努力努力再努力,奋斗奋斗再奋斗,争取早日到达彼岸(虽然代码的世界没有彼岸,不学习就会被淘汰的喔)。

下载Visual Studio 2019

下载opencv4.3.0

安装Visual Studio 2019

  • 安装完成后,我们需要编辑环境变量,将下载的opencv的路径加入到环境变量中;

环境变量包括D:\Software\opencv\build\x64\vc15\bin以及D:\Software\opencv\build\x64\vc15\lib,此处我将opencv文件夹下载到了D:\Software文件夹下,如果你放在了其它文件夹,则需要替换路径前缀;

创建空项目

  • 接下来我们开始编写opencv的代码,新建一个C++的空项目;

  • 我们将这个项目命名为ChangePicColor,因为现在证件照一键换底大多数需要收费,作为程序员的我们何不自己写一个证件照一键换底的工具呢,希望在后面的学习中我们能一起进步;

  • 添加一个新建项:

  • 包含我们opencv的库,此时你会发现有报错,这是因为项目属性还没有配置包含目录和库目录;

修改项目属性,添加opencv相应目录

  • 我们将图中包含目录和库目录添加一下,我们选择ChangePicColor属性;

  • 编辑包含目录和库目录,将图片中的平台选择x64,再增加包含目录;

包含目录:D:\OpenCv Project\testOpenCv\opencv\build\include\opencv2,以及:D:\OpenCv Project\testOpenCv\opencv\build\include,只要你将下载的opencv文件夹拷贝到你电脑对应的相应目录,然后将路径前缀替换成你的路径就可以了;

  • 添加包含目录:D:\OpenCv Project\testOpenCv\opencv\build\include\opencv2,D:\OpenCv Project\testOpenCv\opencv\build\include

  • 添加库目录:D:\OpenCv Project\testOpenCv\opencv\build\x64\vc15\lib

  • 添加附加依赖性:在链接器-->输入-->附加依赖项中增加字段:opencv_world430d.lib,记得图片中平台仍然选择x64喔!

大功告成,让我们来试验一下编写一段Opencv的代码吧。

main.cpp

#include "PicProcess.h"

using namespace std;

//主函数
int main()
{
	string sPicPath = "D:\\OpenCv Project\\images\\test.jpg";
	PicProcess cPicProcessBase(sPicPath, IMREAD_COLOR);
	cPicProcessBase.setWindowsName("A drinking moose");
	cPicProcessBase.showPicture();
	cPicProcessBase.needWaitKey(0);
	return 0;
}

PicProcess.h

#pragma once
#include <opencv2/opencv.hpp>
#include "Data_Common.h"
#include <string>

using namespace cv;

class PicProcess
{
private:
	Mat m_PicMat;
	std::string const m_sFilePath;
	DWORD m_dwImReadMode;
	std::string m_sWinName;
public:
	PicProcess(std::string sFilePath,DWORD dwImReadMode);
	void showPicture()
	{
		imshow(m_sWinName, m_PicMat);
	}
	Mat getmPicMat()
	{
		return m_PicMat;
	}
	void setWindowsName(std::string sWinName)
	{
		m_sWinName = sWinName;
	}
	void needWaitKey(DWORD delayTime)
	{
		waitKey(delayTime);
	}
};

PicProcess::PicProcess(const std::string sFilePath,DWORD dwImReadMode) :m_sFilePath(sFilePath), m_dwImReadMode(dwImReadMode), m_sWinName("NULL_WINDOW")
{
	m_PicMat = imread(m_sFilePath, m_dwImReadMode);
}

Visual Studio中点击运行

  • 这样就弹出了opencv中加载的图片

接下来的内容

  • 下一节我们将讲opencv中至关重要的Mat矩阵的相关用法。