c++图像处理-----自适应阈值操作:`cv::adaptiveThreshold()`

自适应阈值操作:cv::adaptiveThreshold()

cv::adaptiveThreshold()是OpenCV库中的一个函数,用于图像处理中的自适应阈值二值化操作。这个函数通常用于将灰度图像转换为二值图像,其中每个像素的阈值是根据其周围邻域的像素值自动确定的,从而使图像在不同光照条件下能够获得更好的二值化结果。

以下是cv::adaptiveThreshold()函数的一般用法和参数:

void cv::adaptiveThreshold(
    cv::InputArray src,          // 输入灰度图像
    cv::OutputArray dst,         // 输出二值图像
    double maxValue,             // 高于阈值的像素值
    int adaptiveMethod,          // 自适应阈值算法
    int thresholdType,           // 阈值类型
    int blockSize,               // 邻域大小
    double C                     // 从均值中减去的常数
);
  • src: 输入灰度图像。
  • dst: 输出二值图像。
  • maxValue: 高于阈值的像素值,通常为255。
  • adaptiveMethod: 自适应阈值算法,可以是cv::ADAPTIVE_THRESH_MEAN_C(根据邻域均值确定阈值)或cv::ADAPTIVE_THRESH_GAUSSIAN_C(根据邻域加权平均确定阈值)。
  • thresholdType: 阈值类型,通常为cv::THRESH_BINARYcv::THRESH_BINARY_INV,分别表示二值化和反二值化。
  • blockSize: 邻域大小,用于计算自适应阈值。
  • C: 从均值中减去的常数,可以调整阈值的灵敏度。

使用这个函数,你可以根据图像的局部信息自动确定每个像素的阈值,从而获得更好的二值化结果。不同的参数选择会产生不同的效果,你可以根据你的具体需求进行调整。

以下是一个使用cv::adaptiveThreshold()函数的C++示例,该示例演示了如何将输入灰度图像进行自适应阈值二值化处理:

include <opencv2/opencv.hpp>
#include <iostream>

int main() {
    // 读取输入图像
    cv::Mat srcImage = cv::imread("1.jpg", cv::IMREAD_GRAYSCALE);

    if (srcImage.empty()) {
        std::cerr << "Error: Could not read the input image." << std::endl;
        return -1;
    }

    // 创建输出图像
    cv::Mat dstImage;

    // 定义自适应阈值二值化参数
    int blockSize = 11; // 邻域大小
    double maxValue = 255.0; // 高于阈值的像素值
    int adaptiveMethod = cv::ADAPTIVE_THRESH_MEAN_C; // 自适应方法
    int thresholdType = cv::THRESH_BINARY; // 阈值类型
    double C = 2.0; // 从均值中减去的常数

    // 应用自适应阈值二值化
    cv::adaptiveThreshold(srcImage, dstImage, maxValue, adaptiveMethod, thresholdType, blockSize, C);

    // 显示原始图像和处理后的图像
    cv::imshow("Original Image", srcImage);
    cv::imshow("Adaptive Threshold Image", dstImage);

    cv::waitKey(0);

    return 0;
}

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

枭玉龙

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

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

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

打赏作者

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

抵扣说明:

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

余额充值