各位遨游在OpenCv世界但还在挣扎的伙伴们好,让我们一起努力努力再努力,奋斗奋斗再奋斗,争取早日到达彼岸(虽然代码的世界没有彼岸,不学习就会被淘汰的喔)。
下载Visual Studio 2019
- 首先,当然是下载我们的Visual Studio Community2019,下载地址:visualstudio.microsoft.com/zh-hans/vs/

下载opencv4.3.0
- 接着下载opencv4.3.0,下载地址:opencv.org/releases/

安装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矩阵的相关用法。