C++入门实例:创建工程、opencv引用及简单实例
step1:新建空项目
step2:添加.h和.cpp文件
step3:opencv配置
1)配置包含目录:
在通用属性(Common Properties)—>VC ++目录—>包含目录,然后点击右侧三角标志选中Edit进入编辑:
向其中添加下面三个路径(你自己的OpenCv安装的位置):
F:opencvbuildinclude
F:opencvbuildincludeopencv (opencv4.1.1没有)
F:opencvbuildincludeopencv2
2)配置库文件目录:
完成上面的包含目录配置之后,我们还需要进行库文件的配置:回到属性界面,选择包含目录下面的Library Directories(库文件目录):
向库文件目录下添加OpenCV的库文件目录:F:opencvbuildx64vc14lib,这个目录根据每个人自己在第一步安装OpenCV中选择的目录进行选定:
3)配置动态链接库:
我们可以查看步骤2)中添加的库文件目录下面.lib文件列表,发现在3.1.0版本的OpenCV中,仅剩下两个库文件,分别是:opencv_world310.lib和opencv_world310d.lib,这里两个库文件的区别就是:opencv_world310.lib是Release模式版本,而opencv_world310d.lib是Debug模式版本:
我们刚刚选的Debug模式版本,跟上述两个步骤相似,在属性界面中打开Linker(链接库)—>Input(输入)—>Additional Dependencies(添加依赖):
将我们刚刚在OpenCV库文件目录下看到的两个库文件其中一个添加到这里:
上面部分为新建工程时VS的Opencv的配置,配置好了之后可以引入头文件,使用OpenCv了。正常运行:
注意:环境变量
step4:项目代码
img_show.h
#pragma once
#ifndef __IMG_SHOW__
#define __IMG_SHOW__
#include <iostream>
//#include<opencv2corecore.hpp>
//#include<opencv2highguihighgui.hpp>
//#include<opencv2imgcodecsimgcodecs.hpp>
#include<opencv2opencv.hpp>
namespace img_test
{
class test
{
public:
int sum(int a, int b)
{
return a + b;
}
int aa = 10, bb = 15;
private:
int a, b;
};
}
#endif // !
img_show.cpp
#include "img_show.h"
using namespace std;
using namespace img_test;
void ImageShow();
int main() {
test tt;
ImageShow();
cout << "hello world!" << endl;
cout << "sum:" << tt.sum(tt.aa, tt.bb) << endl;
puts("C语言中文网");
system("pause");
return 0;
}
void ImageShow() {
string filename = "Camera20200224122742100.jpg";
cv::Mat src = cv::imread(filename, 0);
cv::imshow("src", src);
cv::waitKey(0);
}
运行结果:
exe:
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- HTTPS三问—腾讯真题
- 神锁离线版插件的安全设计
- 数据分析入门系列教程-数据清洗
- 数据分析入门系列教程-数据采集
- Go 使用标准库 net/http 包构建服务器
- 基于prometheus的监控方案
- Gin 学习之自定义服务器配置信息
- 经验总结 | 关于 reNgine 自动化网络侦查框架的国内安装与报错的解决方法
- CS学习笔记 | 24、C2lints实例演示
- CS学习笔记 | 23、malleable命令
- ASP.NET Core 基于声明的访问控制到底是什么鬼?
- scATAC-seq建库原理,质控方法和新R包Signac的使用
- R语言可视化学习笔记之ggridges包绘制山峦图
- 06 . ELK Stack + kafka集群
- 使用DockerFile构建运行GoWeb