欢迎光临
我们一直在努力

计算机视觉---图像阈值处理

一、什么是阈值处理?

阈值处理是指剔除图像内像素值高于一定值或低于一定值的像素点

二、使用的方法为:

retval,dst=cv2.threshold(src,thresh,maxval,type) r

etval代表返回的阈值 dst代表阈值分割结果图像,与原始图像具有相同的大小和类型

src代表要进行阈值分割的图像,可以是多通道的,8位或32位浮点型数值

thresh代表要设定的阈值

maxval代表type参数位THRESH_BINARY或者THRESH_BINARY_INV类型时,需要设定的最大值 type代表阈值分割的类型

三、具体内容为

选项 像素值>thresh 其他情况
cv2.THRESH_BINARY maxval 0
cv2.THRESH_BINARY_INV 0 maxval
cv2.THRESH_TRUNC thresh 当前灰度值
cv2.THRESH_TOZERO 当前灰度值 0
cv2.THRESH_TOZERO_INV 0 当前灰度值

四、代码

import cv2
image = cv2.imread('zl.png',0) #灰度图,
ret, binary = cv2.threshold(image, 175, 255, cv2.THRESH_BINARY)
ret1, binaryinv = cv2.threshold(image, 175, 255, cv2.THRESH_BINARY_INV)
ret2, trunc = cv2.threshold(image, 175, 255, cv2.THRESH_TRUNC)
ret3, tozero = cv2.threshold(image, 175, 255, cv2.THRESH_TOZERO)
ret4, tozeroinv = cv2.threshold(image, 175, 255, cv2.THRESH_TOZERO_INV)

cv2.imshow('gray', image) #原灰度图
cv2.waitKey(0)
cv2.imshow('binary', binary) #偏白的变纯白,偏黑的变纯黑
cv2.waitKey(0)
cv2.imshow('binaryinv', binaryinv) #偏白的变纯黑,偏黑的变纯白
cv2.waitKey(0)
cv2.imshow('trunc', trunc) #白色变得一样灰蒙蒙,偏黑的不变
cv2.waitKey(0)
cv2.imshow('tozero', tozero) #偏白色不变,偏黑的就变纯黑
cv2.waitKey(0)
cv2.imshow( 'tozeroinv', tozeroinv) #偏白色变纯黑,偏黑的不变
cv2.waitKey(0

赞(0)
未经允许不得转载:171主机测评 » 计算机视觉---图像阈值处理
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址