OpenCV-Python:图像阀值(Thresholding)

下面介绍OpenCV中的两种图像阀值方法:简单阀值(Simple thresholding), 自适应阀值(Adaptive thresholding)。

简单阀值

这个方法很直接。如果一个像素值大于指定阀值,重新给它分配一个值(也许是白色),相反的,如果像素值小于指定阀值,给它分配另一个值(也许是黑色)。使用的函数是cv2.threshold。第一参数是原始图片(为灰度模式图片);第二个参数是阀值,用来分类像素;第三个参事指定大于(有时小于)阀值时,重新给它分配的值;第四个参数指定阀值模式,有五种模式:

  • cv2.THRESH_BINARY
  • cv2.THRESH_BINARY_INV
  • cv2.THRESH_TRUNC
  • cv2.THRESH_TOZERO
  • cv2.THRESH_TOZERO_INV

Screen Shot 2015-12-29 at 10.47.09

 自适应阀值

在上面的简单阀值中,我们使用一个单一的值做为阀值,如果图像的不同区域有不同的光照条件,简单阀值方法不能生成很好的输出。这就用到了自适应阀值,它为图像小区域计算阀值,这样图像的不同区域使用不同的阀值,这在照明不同的情况下会有更好的输出结果。

自适应的两种计算阀值的方法:

  • cv2.ADAPTIVE_THRESH_MEAN_C:相邻区域的平均值做为阀值
  • cv2.ADAPTIVE_THRESH_GAUSSIAN_C

Screen Shot 2015-12-29 at 11.16.57

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注