发布时间:2024-04-29 16:01
二值化处理对于图像处理的重要意义就不多说了。
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 查看。