美文网首页图像处理
图片处理-opencv-4.图像阈值化

图片处理-opencv-4.图像阈值化

作者: lk311 | 来源:发表于2020-10-15 16:30 被阅读0次

图像阈值化

图像的二值化或阈值化(Binarization)旨在提取图像中的目标物体,将背景以及噪声区分开来。通常会设定一个阈值T,通过T将图像的像素划分为两类:大于T的像素群和小于T的像素群。
灰度转换处理后的图像中,每个像素都只有一个灰度值,其大小表示明暗程度。二值化处理可以将图像中的像素划分为两类颜色


图像阈值化处理操作,包括二进制阈值化、反二进制阈值化、截断阈值化、反阈值化为0、阈值化为0

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

  • src:表示的是图片源
  • thresh:表示的是阈值(起始值)
  • maxval:表示的是最大值
  • type:表示的是这里划分时使用的算法,常用值为0(cv2.THRESH_BINARY)
    1. 二进制阈值化(cv2.THRESH_BINARY):大于等于阈值的像素点的灰度值设定为最大值,灰度值小于阈值的像素点的灰度值设定为0
    2. 反二进制阈值化(cv2.THRESH_BINARY_INV):大于阈值的像素点的灰度值设定为0,小于该阈值的灰度值设定为255
    3. 截断阈值化(cv2.THRESH_TRUNC):大于等于阈值的像素点的灰度值设定为该阈值,小于该阈值的灰度值不改变
    4. 反阈值化为0(cv2.THRESH_TOZERO_INV):大于等于阈值的像素点变为0,小于该阈值的像素点值保持不变
    5. 阈值化为0(cv2.THRESH_TOZERO):大于等于阈值的像素点,值保持不变,小于该阈值的像素点值设置为0
import cv2
import numpy as np
import matplotlib.pyplot as plt
plt.figure(figsize=(15, 10))

#读取图像
img = cv2.imread('data/test1.jpg')
lenna_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
GrayImage = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

#阈值化处理
#二进制阈值化
ret, thresh1 = cv2.threshold(GrayImage, 127, 255, cv2.THRESH_BINARY)
#反二进制阈值化
ret, thresh2 = cv2.threshold(GrayImage, 127, 255, cv2.THRESH_BINARY_INV)
#截断阈值化
ret, thresh3 = cv2.threshold(GrayImage, 127, 255, cv2.THRESH_TRUNC)
#阈值化为0
ret, thresh4 = cv2.threshold(GrayImage, 127, 255, cv2.THRESH_TOZERO)
#反阈值化为0
ret, thresh5 = cv2.threshold(GrayImage, 127, 255, cv2.THRESH_TOZERO_INV)

#显示结果
titles = [
    'Gray Image', 'BINARY', 'BINARY_INV', 'TRUNC', 'TOZERO', 'TOZERO_INV'
]
images = [GrayImage, thresh1, thresh2, thresh3, thresh4, thresh5]
for i in range(6):
    plt.subplot(2, 3, i + 1)
    plt.imshow(images[i], 'gray')
    plt.title(titles[i])
    plt.xticks([]), plt.yticks([])
plt.show()
image.png

相关文章

  • 图片处理-opencv-4.图像阈值化

    图像阈值化 图像的二值化或阈值化(Binarization)旨在提取图像中的目标物体,将背景以及噪声区分开来。通常...

  • openCV:图像的阈值处理

    阈值处理 定义 阈值处理即图像二值化。是图像分割的一种最简单的方法。二值化可以把灰度图像转换成二值图像。把大于某个...

  • 阈值处理

    阈值处理 阈值处理即图像二值化。是图像分割的一种最简单的方法。二值化可以把灰度图像转换成二值图像。把大于某个临界灰...

  • 自适应阈值处理与Otsu处理---OpenCV-Python开发

    为什么需要自适应阈值处理 对于色彩均衡的图像来说,直接使用一个阈值就能完成对图像的阈值化处理。但是,有时候图像的色...

  • 1.10 openCV-python 图像阈值

    图像阈值 简单阈值,自适应阈值,Otsu’s 二值化等

  • 阈值化

    OpenCV-图像阈值-简单阈值、自适应阈值、Otsu’s 二值化

  • 图像膨胀腐蚀——opencv

    图像腐蚀: 图像二值化,将图像的灰度值根据阈值进行0,1处理得到的图像; 卷积核,对应信号处理中的高低频滤波器。常...

  • OpenCV--图像处理 图像阈值

    3、图像处理 图像阈值 thresh 通过对像素点与阈值的比较,当大于阈值或小于阈值时分别进行取值 ret, ds...

  • 阈值处理

    阈值处理是指剔除图像内像素高于一定值或者低于一定值的像素点 二值化阈值处理(cv2.THRESH_BINARY) ...

  • OpenCV-Python系列三:图像分割(1)--阈值

    阈值分割是图像处理中非常实用的操作,对我们提取目标区域,使图像信息更加简单(0和1)来加速后续的处理速度。图像阈值...

网友评论

    本文标题:图片处理-opencv-4.图像阈值化

    本文链接:https://www.haomeiwen.com/subject/bsampktx.html