随笔分类 - 图像算法 / OpenCV
摘要:目录1. 图像对比度2. 对比度调整的原理3. 示例4. 调整对比度的效果 1. 图像对比度 图像对比度是指图像中亮部和暗部之间的差异程度。对比度越高,亮区更亮,暗区更暗;对比度低时,亮区和暗区的差异不明显,图像显得平淡。 2. 对比度调整的原理 图像对比度可以通过线性变换实现,公式如下: \[I_
阅读全文
摘要:目录1. 图像明度(Brightness)2. 明度调整的原理3. 示例 1. 图像明度(Brightness) 明度(Brightness)是图像中反映光亮程度的一个属性,通常用于描述像素的亮度水平。 对于RGB图像,明度(Luminance)每个像素中红、绿、蓝通道的加权和。 \[\text{L
阅读全文
摘要:目录1. 图像饱和度2. 饱和度调整的原理3. 示例3.1 对 RGB 图像进行饱和度的调整。3.2 对 RGB 图像进行饱和度的调整。4. 调整饱和度的效果 1. 图像饱和度 饱和度(Saturation)指的是颜色的纯度或浓度,决定了颜色的鲜艳程度。高饱和度的颜色看起来更加鲜艳,而低饱和度的颜色
阅读全文
摘要:目录1. 函数定义2. 为什么需要 saturate_cast()?3. 工作原理4. 示例代码:4.1 将浮点数转换为 uchar4.2 将负数转换为 uchar4.3 普通类型转换5. 主要优点总结 cv::saturate_cast() 是 OpenCV 中一个非常重要的函数,用于在图像处理过
阅读全文
摘要:目录1. 函数定义2. 工作原理3. 示例 cv::bitwise_not() 是 OpenCV 中用于对图像或矩阵进行按位取反操作的函数。它将输入图像的每个像素的值进行按位反转,生成输出图像。按位取反是对每个位进行反转,即将二进制数中的 0 变为 1,1 变为 0。 1. 函数定义 void cv
阅读全文
摘要:目录1. YCrCb 颜色空间1.1 YCrCb 颜色空间的定义1.2 YCrCb 的转换1.3 应用场景2. HSV 颜色空间2.1 HSV 颜色空间的定义2.2 HSV 的转换2.3 应用场景3. YCrCb 和 HSV 颜色空间的比较4. 总结 在图像处理领域中,除了传统的 RGB 颜色空间之
阅读全文
摘要:目录1. 函数定义2. 函数原理2.1 示例3. 示例代码4. 应用场景5. 注意事项6. 彩色图像直方图均衡化 cv::equalizeHist() 是 OpenCV 中用于图像直方图均衡化的函数。该函数主要用于增强图像的对比度,尤其是在图像的光照条件不均匀或整体对比度较低的情况下,直方图均衡化可
阅读全文
摘要:目录1. 函数定义2. 工作原理3. 示例3.1 矩阵除法3.2 矩阵和标量的除法3.3 使用缩放因子4. 注意事项5. 应用场景 cv::divide() 是 OpenCV 中用于执行数组或标量的逐元素除法操作的函数。它允许对矩阵进行元素级的除法操作,支持两种使用方式:矩阵与矩阵之间的除法,或矩阵
阅读全文
摘要:目录1. 函数定义2. 使用场景3. 示例4. 注意事项 cv::magnitude() 是 OpenCV 中用于计算向量的大小(模)的函数。它可以处理二维向量的模,也可以用于计算图像中每个像素点的梯度大小,通常在处理图像梯度或傅里叶变换时使用。 1. 函数定义 void cv::magnitude
阅读全文
摘要:目录1. 函数定义2. 工作原理2.1 Sobel 核2.2 计算过程(1) x 方向的 Sobel 卷积计算(2) y 方向的 Sobel 卷积计算(3) 合并 x 和 y 方向的梯度(4) 梯度方向2.3 示例3. 示例4. 使用场景总结 cv::Sobel() 是 OpenCV 中用于计算图像
阅读全文
摘要:目录1. 函数定义2. 双边滤波的工作原理3. 应用场景4. 示例5. 与其他滤波器的比较6. 性能优化7. 注意事项结论 cv::bilateralFilter() 是 OpenCV 中用于图像平滑处理。与传统的线性滤波器(如高斯滤波器)不同,它同时考虑空间邻近性和像素值相似性,从而保留边缘的细节
阅读全文
摘要:目录1. 函数定义2. 工作原理3. 示例4. 注意事项总结 cv::merge() 是 OpenCV 中用于将单通道图像合并为多通道图像。这个函数对于处理图像的不同颜色通道或者其他分割的图像数据特别有用。 1. 函数定义 void cv::merge(const std::vector<Mat>&
阅读全文
摘要:目录1. 函数定义2. 工作原理3. 示例4. 使用场景5. 注意事项 cv::split() 是 OpenCV 提供的一个函数,用于将多通道图像分割成单通道。该函数主要用于处理彩色图像和多通道矩阵,通常用于对图像中的每个颜色通道单独进行处理。 1. 函数定义 void cv::split(cons
阅读全文
摘要:目录1. 函数定义2. 工作原理3. 示例4. 应用场景5. 膨胀和腐蚀的对比总结 cv::dilate() 是 OpenCV 中用于图像形态学变换的函数之一,与 cv::erode() 相对,它执行图像的膨胀操作。膨胀是一种将图像中的前景(白色区域)扩展的操作,通常用于填补图像中的小孔洞、连接分离
阅读全文
摘要:目录1. 函数定义2. 工作原理3. 示例4. 应用场景总结 cv::erode() 是 OpenCV 中的图像形态学变换函数之一,用于执行图像的腐蚀操作。腐蚀是一种将图像中的白色区域缩小的操作,通常用于去除噪声、分离相邻的物体,或将小的图像细节消除。 1. 函数定义 void cv::erode(
阅读全文
摘要:目录1. 函数定义2. 高斯模糊原理2.1 高斯核2.1.1 高斯核的创建2.1.2 卷积操作2.1.3 边界处理2.1.4 完成模糊处理2.1.5 总结2.2 高斯核3. 示例4. 高斯核的生成5. 高斯模糊的应用场景6. 高斯模糊与
阅读全文
摘要:目录1. 函数定义2. 工作原理3. 示例4. 效果说明5. 应用场景 cv::blur() 是 OpenCV 提供的一个用于图像模糊处理的函数,它通过卷积运算对图像进行均值滤波。这个函数对于消除噪声、平滑图像非常有效,尤其是在边缘检测等操作之前常用。 1. 函数定义 void cv::blur(
阅读全文
摘要:目录1. 函数原型2. 示例2.1 开运算2.2 闭运算2.3 形态学梯度2.4 顶帽运算2.5 黑帽运算3. 常见的形态学运算4. 应用场景 cv::morphologyEx() 是 OpenCV 中的一个重要函数,用于执行图像的高级形态学运算。形态学运算基于图像中像素邻域的形状(通常是二进制图像
阅读全文
摘要:目录1. 函数原型2. 示例3. 使用场景 1. 函数原型 cv::getStructuringElement() 是 OpenCV 中一个用于生成结构元素(卷积核)的函数,结构元素在形态学操作(如膨胀、腐蚀等)中扮演了重要角色。 cv::Mat cv::getStructuringElement(
阅读全文
摘要:目录1. 函数原型2. 示例 1. 函数原型 cv::drawContours() 用于在图像上绘制轮廓。函数原型: void cv::drawContours( cv::InputOutputArray image, const std::vector<std::vector<cv::Point>
阅读全文