入门OPENCV,创建第一个程序

OPENCV是一个开源程序库,包含了 500 多个用于图像和视频分析的优化算法。

我们可以利用它进行图像处理,现在来创建一个简单的程序。

1.在官网上下载OPENCV

网址:https://opencv.org/
链接:link
在这里插入图片描述
点击这里来下载最新的版本。

2.安装OPENCV

解压生成 opencv 目录。
在这里插入图片描述
其中build是OpenCV使用时要用到的一些库文件。

3.配置环境变量

我的电脑—>属性—>高级系统设置—>环境变量,找到Path变量,选中并点击编辑。
在这里插入图片描述

将OPENCV的目录添加上去。这里填写的OPENCV目录是D:\software\opencv\build\x64\vc14\bin。x64文件夹下分为vc14和vc15两个文件夹,我这里使用的VS2015,所以应该选择vc14目录下的bin文件夹。VS与VC详细对应关系见附1。
在这里插入图片描述
环境变量配置完毕之后,需要重启电脑才能生效!

4.创建项目

新建一个空项目
在这里插入图片描述
更改项目属性,链接器->系统->子系统设置为控制台。
在这里插入图片描述
添加一个源文件main.cpp,输入代码(附2)。
在这里插入图片描述
此时发现编译器会提示错误,这是因为我们没有将OPENCV的内容导入项目中。在项目属性下添加
包含目录D:\software\opencv\build\include
库目录D:\software\opencv\build\x64\vc14\lib
在这里插入图片描述
链接器的输入设置附加依赖项添加对应
D:\software\opencv\build\x64\vc14\lib的.lib文件,根据选择的Debug和Release模式进行添加。
在这里插入图片描述
这里opencv_world451.lib是Release模式版本,而opencv_world451d.lib是Debug模式版本:
在这里插入图片描述

5.运行程序

此时编译成功,程序无错误提示。
在这里插入图片描述
在项目下添加名为"test.bmp"的图片。
在这里插入图片描述
运行程序,先后弹出两张照片,第一张照片为"test.bmp"原图,第二张为处理过的图片(水平翻转)。
在这里插入图片描述
在这里插入图片描述
附1:VS版本与VC版本对应关系

VSVC
Microsoft Visual Studio 6.0VC6.0
Microsoft Visual Studio .NET 2002VC7.0
Microsoft Visual Studio .NET 2003VC7.1
Microsoft Visual Studio 2005VC8.0
Microsoft Visual Studio 2008VC9.0
Microsoft Visual Studio 2010VC10.0
Microsoft Visual Studio 2012VC11.0
Microsoft Visual Studio 2013VC12.0
Microsoft Visual Studio 2015VC14.0
Microsoft Visual Studio 2017VC15.0

附2:代码

#include <opencv2/core.hpp> 
#include <opencv2/highgui.hpp>
#include <iostream>

int main()
{
	cv::Mat image; // 创建一个空图像
	std::cout << "This image is " << image.rows << " x "
		<< image.cols << std::endl;
	image = cv::imread("test.bmp"); // 读取输入图像
	if (image.empty()) { // 错误处理
						 // 未创建图像……
						 // 可能显示一个错误消息
						 // 并退出程序
		std::cout << "no image!\n";
	}
	else
	{
		// 定义窗口(可选)
		cv::namedWindow("Original Image");
		// 显示图像
		cv::imshow("Original Image", image);
		cv::waitKey(0); // 0 表示永远地等待按键
						// 键入的正数表示等待的毫秒数
		cv::Mat result; // 创建另一个空的图像
		cv::flip(image, result, 1); // 正数表示水平
									// 0 表示垂直
									// 负数表示水平和垂直
		cv::namedWindow("Output Image"); // 输出窗口
		cv::imshow("Output Image", result);
		cv::waitKey(0); // 0 表示永远地等待按键
						// 键入的正数表示等待的毫秒数
		cv::imwrite("output.bmp", result); // 保存结果
	}
	system("pause");
	return 0;
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值