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

Posted 昊虹图像算法

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 查看。

以上是关于OpenCV的二值化处理函数threshold()详解的主要内容,如果未能解决你的问题,请参考以下文章

怎么用halcon软件来实现图像的二值化呢?

OpenCV python图像预处理:二值化 && 滤波操作

OpenCV图像处理二图像的二值化操作

OpenCV入门指南第四篇 图像的二值化

用opencv如何将一个二值化图像反色

opencv中怎么获取二值化图像的每个像素点的值