OpenCV——阈值处理+平滑处理

本文介绍了OpenCV中的阈值处理技术,包括二值化阈值、自适应阈值和Otsu阈值处理,并提供了相关代码示例。接着详细讲解了图像平滑处理,涉及均值滤波、方框滤波、高斯滤波、中值滤波、双边滤波和2D卷积,阐述了各种滤波方法的原理和应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

© Fu Xianjun. All Rights Reserved.


一、阈值处理

OpenCV使用cv2.threshold()函数进行阈值化处理。
语法格式为:ret, dst = cv2.threshold(src, thresh, maxval, type)

  • src: 输入图,只能输入单通道图像,通常来说为灰度图
  • dst: 输出图
  • thresh: 阈值
  • maxval: 当像素值超过了阈值(或者小于阈值,根据type来决定),所赋予的值
  • type:二值化操作的类型,包含以下5种类型
    在这里插入图片描述

1、二值化阈值处理[cv2.threshold()]

使用函数cv2.threshold()对图像进行二值化阈值处理。

编写代码如下(示例):

import cv2
img = cv2.imread(" ")
t , rst = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)
cv2.imshow("img",img)
cv2.imshow("rst",rst)
cv2.waitKey(0)
cv2.destroyAllWindows()

2、自适应阈值[cv2.adaptiveThreshold()]

OpenCV中,函数cv2.adaptiveThreshold()用来实现自适应阈值处理。

  • 定义:使用变化的阈值完成对图像的阈值处理。
  • 操作:通过计算每个像素点周围临近区域的加权平均值获得阈值,并使用该阈值对当前像素点进行处理。
  • 目的:保留了更多的细节信息。

该语法格式为:
dst=cv.adaptiveThreshold (src, maxValue, adaptiveMethod, thresholdType, blockSize, C)

  • dst代表自适应阈值处理结果。
  • src代表要进行处理的原始图像。[!!!该图像必须是8位单通道的图像]
  • maxValue代表最大值。
  • ladaptiveMethod代表自适应方法。
  • lthresholdType 代表阈值处理方式,该值必须是cv2.THRESH_BINARY 或者cv2.THRESH_BINARY_INV中的一个。
  • lblockSize代表块大小。表示一个像素在计算其阈值时所使用的邻域尺寸,通常为3、5、7等。
  • C是常量。

<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值