1、opencv的安装
1、vs2017安装
这里首先是安装vs2017,这里直接去官网安装即可,下载2017时因为好像新的有的不太适应,网上一些教程也是2017的比较多,所以直接下载这个版本就好了。
网址如下:
https://my.visualstudio.com/Downloads?q=visual%20studio%202017&wt.mc_id=omsftvscom~older-downloads
下载下面的社区版,社区版是免费的,就和pycharm一样的,直接下载就行,这里是下载的一个安装工具,点击安装工具然后选择一个c++的开发就行了(也可以多选,但是会多很多东西,就是下载的东西变得更多了)
安装好之后可以新建一个工程看看:
#include <iostream>
using namespace std;
int main()
{
std::cout << "Hello World!\n";
}
效果如下
2、opencv的下载和配置
OPENCV的下载位置如下:
opencv/opencv at 4.1.0 (github.com)
在github上选择releases,进入就可以看到每个版本的发布
也不用选太新的,稍微新一点的就行,这里我选的是4.10(这里好像vs2017是针对vc15都是可以的,所以如果他有vc15这个就可以用了。)
之后这个下载下来就是个exe,好像就是个解压的东西,点击选择一个位置进行解压就行了
把解压后的东西添加到环境变量,之后最好是重启一下电脑。
下面是VS2017配置opencv的步骤,这里我参考了,感谢大佬的奉献!
https://blog.csdn.net/qq_43391670/article/details/117550880
任意新建一个空项目(其实是不是空项目我感觉无所谓,这里主要是配置两个包的路径而已)
把属性管理器调出来
之后在debug|64和release|64下面添加新项目属性表,两个属性表自己指定目录,然后指定文件名,只要文件不重名即可,位置最好在同一个位置这样方便后续查找(下面的opencv4_debug和opencv4都是我自己新建的,名字任取即可)。
之后分别对他们右击进入属性表配置页面
在VC++目录下面里面的包含目录还有库目录把opencv的路径添加进去
包含目录添加的内容为:(需要替换为自己的路径)
库目录添加的内容为:(需要替换为自己的路径)
上面两个部分添加的内容相同,下面一个部分有一点点差别(两个部分指debug|64和release|64两个部分进行添加)
下面是debug|64添加的内容
下面是release|64添加的内容,就是在结尾少了一个d
之后再对他们进行分别保存即可
下面新建一个c++文件来进行测试,进入解决方案管理器然后在源文件目录下面新建一个cpp文件
插入如下代码:
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
Mat img = imread("E://证件//2.jpg");
imshow("img", img);
waitKey(0);
destroyAllWindows();
return 0;
}
效果如下(这里这个图片就是我在电脑上截的一张图)
2、基本函数学习
1、读取图片
这个前面已经演示过了,不再赘述
2、读取视频
代码如下
int main()
{
VideoCapture capture;
capture.open("G://OPENCV//learn_opencv//my_work//1.mp4");
if (!capture.isOpened()) {
cout << "视频读取失败!" << endl;
return -1;
}
Mat frame;
while (capture.read(frame)) //这样不会读取到最后一帧的时候报错
{
imshow("camera-demo", frame);
waitKey(30);
}
capture.release();
waitKey(0);
return 0;
}
最终效果如下,可以看到视频成功读取
如果要按键退出的话,对waitkey进行判断,加入下面的代码
3、读取摄像头
代码如下
int main()
{
VideoCapture cap;
cap.open(0);
if (!cap.isOpened())
{
cout << "摄像头打开失败!" << endl;
return -1;
}
while(true)
{
Mat frame;
cap >> frame;
imshow("读取视频", frame);
waitKey(30);
}
return 0;
}
效果如下:
4、图片转换
加入cvtColor函数
int main() //打开文件
{
Mat img = imread("G://OPENCV//learn_opencv//Resources//le.jpg");
Mat img_gray;
cvtColor(img, img_gray, COLOR_BGR2GRAY);
imshow("img", img);
imshow("img_gray", img_gray);
waitKey(0);
destroyAllWindows();
return 0;
}
运行结果如下所示: