opencv-c++

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

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

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</

要在 PyCharm 中搭建 OpenCV C++ 开发环境,可按以下步骤进行: 1. **安装 Python 和 pip**:这是搭建环境的基础,确保 Python 和 pip 已经正确安装,以便后续安装 OpenCV - python 包等操作 [^2]。 2. **安装 OpenCV - python 包**:使用 pip 安装 OpenCV - python 包,对于 OpenCV4,可以安装 “opencv - python==4.XX”,这里 XX 表示版本号 [^2]。 3. **创建新的 Python 项目**:打开 PyCharm,创建一个新的 Python 项目。若安装 OpenCV - python 包时未遇问题,PyCharm 会自动识别,可在 Python 代码中使用 “import cv2” 导入 OpenCV 库 [^2]。 4. **配置 C++ 环境**:虽然上述引用未直接提及在 PyCharm 中配置 C++ 版本 OpenCV 开发环境的详细步骤,但在 Ubuntu16.04 环境下配置 C++ 版本 OpenCv 开发环境时,要注意图片路径需为要显示图片的具体路径,并且 find_package() 中 OpenCV 大小写要对应安装的目录名称,例如默认安装目录是 /usr/local/share/OpenCV [^3]。在 PyCharm 中,可能也需要类似注意配置文件中路径和名称的正确性。 以下是一个简单的示例代码,展示如何在 C++ 中使用 OpenCV 显示图片: ```cpp #include <opencv2/opencv.hpp> #include <iostream> int main() { // 读取图片 cv::Mat image = cv::imread("your_image_path.jpg"); if (image.empty()) { std::cout << "Could not open or find the image" << std::endl; return -1; } // 创建窗口并显示图片 cv::namedWindow("Display window", cv::WINDOW_AUTOSIZE); cv::imshow("Display window", image); // 等待按键 cv::waitKey(0); return 0; } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值