© 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是常量。
<