opencv(c++)学习记录

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;
}

运行结果如下所示:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_51220742/article/details/124977936
今日推荐