本系列博文主要记录各种库或者知识点使用过程中常用的一些操作,将这些操作汇总在一起,形成一个参考手册(CheatSheet),方便快速查看!
列表:
CheatSheet——PCL
CMakeLists.txt文件书写
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
target_link_libraries(<project_name> ${OpenCV_LIBS})
常用操作
头文件包含
//opencv数据结构声明
#include <opencv2/opencv.hpp> //包含所有相关处理头文件
Mat
Mat类型用在函数参数中时默认传递矩阵头,即不是真正的用实参去复制构造出一个形参,所以可以不用传递引用也不会造成大数据复制引起的运算量。
a.矩阵定义
特殊矩阵初始化:
Mat::eye(4,4,CV_16U) //4x4单位阵
Mat::ones(4,4,CV_16U)//4x4全1矩阵,可以乘以系数变成想要的数值
Mat::zeros(4,4,CV_16U)//4x4全0矩阵
b. Mat矩阵元素类型定义
c. 读入图片操作
imread函数原型
Mat imread( const String& filename, int flags = IMREAD_COLOR );
特别注意第二个参数,其决定了是否正确读入了想要的图片数据,其取值及含义如下:
/* 8bit, color or not */
CV_LOAD_IMAGE_UNCHANGED =-1,
/* 8bit, gray */
CV_LOAD_IMAGE_GRAYSCALE =0,
/* ?, color */
CV_LOAD_IMAGE_COLOR =1,
/* any depth, ? */
CV_LOAD_IMAGE_ANYDEPTH =2,
/* ?, any color */
CV_LOAD_IMAGE_ANYCOLOR =4,
经测试,返回Mat类型如下:
flag=-1, 原深度,原通道
flag=0, 8位深度,1通道
flag=1, 8位深度,3通道
flag=2, 原深度,1通道
flag=3, 原深度,3通道
flag=4, 8位深度,原通道