📜  OpenCV-简单阈值(1)

📅  最后修改于: 2023-12-03 15:18:07.499000             🧑  作者: Mango

OpenCV-简单阈值介绍

简介

OpenCV是一个基于开源许可发行的计算机视觉和机器学习软件库。简单阈值是图像处理的一种方法,在OpenCV中可以使用函数 cv2.threshold() 来实现。

程序示例

下面是一个简单的程序示例,用于将一张灰度图像按照阈值进行二值化处理。

import cv2

# 加载图像,转换成灰度图像
img = cv2.imread('example.jpg', 0)

# 简单阈值处理
ret, thresh = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)

# 显示图像
cv2.imshow('image', thresh)

# 等待退出
cv2.waitKey(0)
cv2.destroyAllWindows()
代码说明
  1. 首先通过 cv2.imread() 函数加载一张图像,这里将图像转换成了灰度图像。
  2. 然后调用 cv2.threshold() 函数进行简单阈值处理,这里设置阈值为 127,大于 127 的像素点被设置为 255,小于等于 127 的像素点被设置为 0。
  3. 最后调用 cv2.imshow() 函数显示处理后的图像。
参数说明

cv2.threshold() 函数的参数说明如下:

  • src:输入图像,灰度图像。
  • thresh:阈值,如果像素值大于阈值,则被赋值为 maxval,否则赋值为 0。
  • maxval:像素值大于阈值时的替换值。
  • type:阈值处理的方法,包括 cv2.THRESH_BINARY(二值化)、cv2.THRESH_BINARY_INV(反二值化)、cv2.THRESH_TRUNC(截断)、cv2.THRESH_TOZERO(零化),cv2.THRESH_TOZERO_INV(反零化)。
总结

简单阈值是一种常用的图像处理方法,在OpenCV中可以方便地使用 cv2.threshold() 函数进行处理。通过调整阈值和替换值,可以实现不同的图像处理效果。