opencv-c++

本文介绍了OpenCV库的基础类型,包括InputArray、Mat等,并讲解了图像视频的读取与保存。接着,重点讨论了图像显示、色彩学方面的内容,如二值化、色彩空间转换。还涉及图像几何学变换,如裁剪、拼接、翻转和旋转。最后提到了形态学操作和映射变换,如滤波、轮廓处理、仿射变换和透视变换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、基础类型与图像视频读取

1、基础类型

1、接口类

类型 说明
InputArray 只读输入数组传递到 OpenCV 函数的代理类
OutputArray 这种类型与 InputArray 非常相似,只是它用于输入/输出和输出函数参数
InputOutputArray 继承了OutputArray,作为输入输出接口,增加了一些功能
InputArrayOfArrays typedef InputArrayInputArrayOfArrays
OutputArrayOfArrays typedef OutputArrayOutputArrayOfArrays
InputOutputArrayOfArrays typedef OutputArrayInputOutputArrayOfArrays

输入排列:InputArray
输出排列:OutputArray
输入输出排列:InputOutputArray

后三者是ArraysOfArrays,是前三者的排列,即排列的排列,定义使用了typedef。

2、Mat图像类

Mat本质是一个n维密集运算数组,是Matrix的简写。相似的有UMat,表示GPU Mat,GMat,表示G-API的Mat接口。

3、运算类

类型 说明
Matx 定阶矩阵类,即确定规模大小的矩阵类
Vec 向量类

4、定义类

类型 说明
Point 二维点类
Point3 三维点类
Rect 矩形类
RotatedRect 旋转矩形类
Range 范围类
Scalar 通道类
Size 规格类

2、图像视频io

1、函数

  • Mat cv::imread (const String&filename,int flags = IMREAD_COLOR)
  • //从指定文件加载图像,如果无法读取,那么函数会返回一个空矩阵(Mat::data==NULL)
  • bool cv::imwrite ( const String & filename,InputArray img,const std::vector> & params = std::vector< int >() )
  • //imwrite函数将图像保存到指定的文件中。根据文件扩展名选择图像格式(有关扩展名列表,请参阅cv::imread)。通常,使用此功能只能保存8位单通道或3通道(具有“BGR”通道顺序)图像

2、类

1、VideoCapture

常用函数

VideoCapture (const String &filename, int apiPreference=CAP_ANY)

VideoCapture (int index, int apiPreference=CAP_ANY)

virtual bool open (const String &filename, int apiPreference=CAP_ANY)

virtual bool open (int index, int apiPreference=CAP_ANY)

virtual bool isOpened () const</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值