opencv各个模块介绍(1)

目录

Core 模块:核心模块,提供了基本的数据结构和功能。

Imgproc 模块:图像处理模块,包括图像过滤、几何变换等功能。

Video 模块:视频处理模块,提供了视频捕获、光流估计等功能。

HighGUI 模块:图形用户界面模块,用于创建简单的GUI应用程序。

Objdetect 模块:对象检测模块,包括Haar级联检测器等功能。


Core 模块:核心模块,提供了基本的数据结构和功能。

常用的核心函数:

  1. cv::Mat:表示多维数组的数据结构,是OpenCV中最常用的类之一,用于存储图像数据和进行矩阵运算。

  2. cv::Scalar:用于表示多通道数据的标量,通常用于颜色表示。

  3. cv::Size:用于表示二维空间中的尺寸大小,常用于图像尺寸的表示。

  4. cv::Pointcv::Point2f:用于表示二维空间中的点坐标

  5. cv::Rect:用于表示二维平面上的矩形区域

  6. cv::Range:用于表示一维数据的范围

  7. cv::Mat_< >:模板类,用于创建特定类型的矩阵

  8. cv::splitcv::merge:用于通道分离和合并操作。

  9. cv::cvtColor:用于颜色空间转换,例如RGB到灰度、RGB到HSV等。

  10. cv::resize:用于图像缩放操作。

  11. cv::flip:用于图像翻转操作。

  12. cv::transpose:用于矩阵转置操作。

Imgproc 模块:图像处理模块,包括图像过滤、几何变换等功能。

  1. 图像滤波函数:

    • cv::GaussianBlur:高斯模糊。
    • cv::medianBlur:中值滤波。
    • cv::bilateralFilter:双边滤波。

高斯模糊(Gaussian Blur)是图像处理中常用的一种平滑滤波方法,它利用了高斯函数的特性对图像进行模糊处理。在OpenCV中,cv::GaussianBlur函数就是用来实现高斯模糊的。

高斯模糊的原理如下:

  1. 对图像中的每个像素,以该像素为中心取一个固定大小的邻域(通常是一个正方形或矩形区域)。
  2. 对这个邻域内的所有像素值按照高斯分布进行加权平均,即距离中心像素越远的像素权重越小。
  3. 最后将加权平均后的值赋给中心像素,从而实现模糊效果。

高斯模糊的主要思想是利用高斯函数对像素值进行加权平均,使得图像中的噪声被平滑掉,同时保留图像的整体结构和边缘信息,避免产生锐化等不良效果。

高斯模糊的核(Kernel)由一个二维的高斯函数构成,通常是一个正态分布曲线。核的大小(即邻域的大小)以及标准差(控制高斯函数的宽度)可以影响模糊的程度,一般情况下,标准差越大,模糊效果越明显。

双边滤波的原理如下:

  1. 对图像中的每个像素,以该像素为中心取一个固定大小的邻域。
  2. 对这个邻域内的所有像素值进行加权平均,权重由两部分组成:
    • 空间上的权重:根据像素之间的空间距离计算得出,距离越近的像素权重越大。
    • 强度上的权重:根据像素值之间的差异计算得出,差异越小的像素权重越大。
  3. 最后将加权平均后的值赋给中心像素,从而实现平滑效果。

双边滤波相比于传统的高斯模糊具有更好的性能,因为它考虑了像素之间的空间关系和强度差异,能够保留图像中的边缘信

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ai智享

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值