0 OpenCV记录

PS: 环境Ubuntu 20.04, C++11, OpenCV 4.5.1 (2020-12-22) , OpenCV版本不同,API可能会有区别

1 安装OpenCV
2 OpenCV 图像初步
3 OpenCV 像素操作
4 OpenCV 图像处理
5 OpenCV 特征检测与匹配
6 OpenCV xml和yaml读写
7 OpenCV 目标检测
8 OpenCV 相机视觉
9 OpenCV 视频分析
10 OpenCV 机器学习和深度学习





CMakeLists.txt 模板
在这里插入图片描述

  • 源码 .c 或 .cpp 放入 src 文件夹
  • 自定义头文件 .h 或.hpp 放入 include
  • cmake构建后会生成 bin 文件夹, 用于存放生成的二进制文件
# 设置用于构建该项目的最低cmake版本
cmake_minimum_required(VERSION 3.1)

# 设置项目名称和编程语言
project(opencv_demo CXX)

# 寻找opencv的头文件和库文件
find_package(OpenCV REQUIRED)

# opencv头文件路径
include_directories(${OpenCV_INCLUDE_DIRS})
# opencv库路径
link_directories(${OpenCV_LIBRARY_DIRS})
# 自定义头文件路径
include_directories(include)
# 设置二进制文件生成路径
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
# 获取源码的路径
aux_source_directory(src src)

# 设置编译标准和额外参数
add_compile_options(-std=c++20 -Wall -Werror -Wextra -pedantic -Wimplicit-fallthrough -Wsequence-point -Wswitch-default -Wswitch-unreachable -Wswitch-enum -Wstringop-truncation -Wbool-compare -Wtautological-compare -Wfloat-equal -Wshadow=global -Wpointer-arith -Wpointer-compare -Wcast-align -Wcast-qual -Wwrite-strings -Wdangling-else -Wlogical-op -Wconversion -Wno-pedantic-ms-format)

# 从源码构建二进制文件
add_executable(demo ${src})

# 链接opencv库到二进制文件
target_link_libraries(demo ${OpenCV_LIBRARIES})




有时候需要移动程序到没有安装OpenCV的计算机上运行,则需要打包依赖的的而目标计算机上可能没有的库,可以使用下面的命令

ldd [二进制文件] | awk '{print $3}' | xargs -i cp -L {} [目标路径]

[二进制文件]替换为实际生成的可执行文件名
[目标路径]替换为用于存放拷贝的动态库的路径

而程序执行一般默认搜索的动态库路径有 /usr/lib, /lib, . 等等, 我自己写的一般就拷贝到二进制文件所在的路径,即 .




官网是个好东西, 安装教程,开发文档,示例源码… …样样齐全,是个学习的好地方.另外我列举一些可能用到的入口:





程序性能测量

// 返回值为从计算机启动到调用该函数时的时钟周期数
int64 cv::getTickCount();
// 返回值为时钟周期频率
cv::getTickFrequency();
// 示例模板
int main()
{
	int64 e1 = cv::getTickCount();
	// // // // // // // // // // // 中间为程序功能的实现代码


	// // // // // // // // // // //
	int64 e2 = cv::getTickCount();
	// 输出程序运行耗时
	std::cout << (double)(e2 - e1) / cv::getTickFrequency();
}
// 计算

或者也可以使用Linux的time命令计时

time [要执行的程序路径]

第一行是程序中输出的,后面的是time命令统计的(看real就行). 两者有偏差也正常, time计算的是整个程序执行的耗时,而程序内输出的肯定无法做到,就要小一点.
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值