当前位置:   article > 正文

opencv最全图像阈值threshold处理方式汇总Python实现_将图像内所有大于阈值的地方用最近小于阈值的数值代替

将图像内所有大于阈值的地方用最近小于阈值的数值代替

不点赞白嫖的都是流氓

本文从一个简单的例子进行扩展解释opencv实现的基础阈值处理的所有方式,用的图片是三通道彩色图片,单通道当然也可以进行阈值处理,很多教程都是处理单通道彩色图片,所以我给大家换个口味
原图
在这里插入图片描述
请看代码

import cv2

img = cv2.imread("../data/1.jpg")
t, dst = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)  # t表示返回的阈值
# 这个函数的使用关键是第四个参数的理解上面,第四个参数表示阈值分割的类型,
# 不同的方式有不同的分割效果,接下来会一一解释
cv2.imshow('img', img)
cv2.imshow('dst', dst)
cv2.waitKey()
cv2.destroyAllWindows()
cv2.imwrite('../data/thre.jpg', dst)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

方式一,二值化阈值处理(cv2.THRESH_BINARY),定义如下
将图像内所有像素值大于阈值的像素点的值设为255;将图像内所有像素值小于或等于阈值的像素点的值设为0
示例结果
在这里插入图片描述

方式二,反二值化阈值处理(cv2.THRESH_BINARY_INV),定义如下
将图像内所有像素值大于阈值的像素点的值设为0;将图像内所有像素值小于或等于阈值的像素点的值设为255
示例结果
在这里插入图片描述
方式三,截断阈值化处理(cv2.THRESH_TRUNC),定义如下
将图像中大于阈值的像素点的值设定为阈值,小于或者等于该阈值的像素点的值保持不变
效果图
在这里插入图片描述
方式四,超阈值零处理(cv2.THRESH_TOZERO_INV),定义如下
将图像中大于阈值的像素点的值设定为0,小于或者等于该阈值的像素点的值保持不变
效果图
在这里插入图片描述
方式五,低阈值零处理(cv2.THRESH_TOZERO),定义如下
将图像中大于阈值的像素点的值保持不变,小于或者等于该阈值的像素点的值设定为0
效果图如下
在这里插入图片描述

该阈值处理的方式就有这五种,知道这些只是你进入图像处理领域的入门而已,要做到灵活使用还需要继续学习,做到融会贯通才行,好啦,拜拜

我们总会说自己是为了未来,那么未来又在多远的未来?

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/379568
推荐阅读
相关标签
  

闽ICP备14008679号