opencv自适应阈值

本文介绍了如何使用OpenCV库中的自适应阈值方法对图像进行处理。通过代码示例,展示了该技术在图像二值化中的应用,适用于复杂光照条件下的图像分割和增强。
在图像阈值化操作中,我们更关心的是从二值化图像中分离目标区域背景区域,仅仅通过设定固定阈值很难达到理想的分割效果。在实践应用中,目标及背景区域通常相互依存在图像块中,我们可以通过图像像素领域快的分布特征来自适应确定阈值的二值化阈值。对于图像块中亮度变化明显的区域,自适应阈值通常会设置的比较大或者比较小,进而保证图像中各个像素的阈值会随着周围领域的变化而变化。
opencv中提供了自适应阈值化函数adaptiveThreshold,该函数有两种自适应阈值化类型参数可供选择,用来对当前像素点与领域像素块进行阈值计算。
void adaptiveThreshold(InoutArray src, OutputArray dst, double maxVal, int adaptiveMethod, int thresholdType, int blockSize, double C
实现图像的自适应阈值化操作。参数src表示源图像数组(单通道8位图像)。参数dst表示输出图像组(与输入图像同样的尺寸和类型)。参数maxVal表示预示满足条件的最大值。参数 adaptiveMethod表示自适应阈值算法选择ADAPTIVE_THRESHOLD_MEAN_C或者ADAPTIVE_THRESHOLD_GAUSSIAN_C。参数 thresholdType表示阈值类型THRESHOLD_BINARY和THRESHOLD_BINARY_INV。参数 blockSize表示领域块的大小,用来计算区域阈值,一般选择3、5、7............。参数C表示常数,它是一个从均值或者加权均值提取的常数,可以是负数。

代码如下:

  1. #include "opencv2/highgui/highgui.hpp"
  2. #include "opencv2/imgproc/imgproc.hpp"
  3. #include "opencv2/opencv.hpp"
  4. #include "opencv2/core/core.hpp"
  5. #include <stdio.h>
  6. #include <string>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值