OpenCV的二值化处理函数threshold()详解

二值化处理对于图像处理的重要意义就不多说了。

OpenCV提供了函数threshold()用于对图像作二值化处理。

其原型如下:

C++原型:

double cv::threshold(	InputArray 	src,
						OutputArray dst,
						double 	thresh,
						double 	maxval,
						int 	type 
					)

Python原型如下:

retval, dst	= cv.threshold(src, thresh, maxval, type[, dst])

参数意义如下:
src—输入图像,可以是多通道,8位或32位符点型数据类型的图像,但是当type选择THRESH_OTSU或THRESH_TRIANGLE时,图像只能8位的单通道图像。
dst—经过二值化处理的输出图像。
thresh—进行二值化处理的阈值。当type选择THRESH_OTSU或THRESH_TRIANGLE时,这个值被忽略,此时函数用通过OTSU法或TRIANGLE法计算出的阈值进行二值化操作。
maxval—二值化处理后的maxval值,详情见参数type的枚举值及其意义。当type选择THRESH_BINARY或THRESH_BINARY_INV时会用到它。
type—这个参数的可选枚举值及意义如下:
在这里插入图片描述
相比于C++的原型,在Python的原型中,返回参数有两个,第一个返回参数retval代表函数threshold()在进行二值化处理时使用的阈值的数值,这一点挺好,特别是对于type选择THRESH_OTSU或THRESH_TRIANGLE时,我们可以知道究竟用的阈值是多少。这个情况我曾经还写过博文,链接:https://blog.csdn.net/wenhao_ir/article/details/125188532

明白了各参数的意义和可取值后,应该就基本了解了这个函数的使用,接下只需要再看几个示例就能掌握了。

示例请各位移步博文 https://blog.csdn.net/wenhao_ir/article/details/125592598 查看。

猜你喜欢

转载自blog.csdn.net/wenhao_ir/article/details/125592684