OpenCV_Python官方文档11——图像阈值

本文介绍了OpenCV-Python中图像阈值的概念,包括简单阈值、自适应阈值和Otsu二值化的应用。简单阈值通过全局阈值将图像二值化;自适应阈值根据图像局部区域计算阈值,适用于不同亮度条件;Otsu二值化利用最大类间方差自动寻找最优阈值,特别适合于灰度直方图具有双峰的图像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OpenCV-Python Tutorials

https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_tutorials.html

阈值(二值化操作),阈值又叫临界值,是指一个效应能够产生的的最低值或最高。

简单阈值

选取一个全局阈值,整个图像都和这个阈值比较,然后就把整幅图像分成了非黑即白的二值图像。

主要函数

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

  • dst: 输出图像
  • src: 输入图像,只能输入单通道图像,一般为灰度图
  • thresh: 阈值
  • maxval: 当像素值大于阈值(或者小于阈值,根据type来决定),所赋予的值
  • type:阈值操作的类型
    • cv2.THRESH_BINARY #二元阈值
    • cv2.THRESH_BINARY_INV #逆二元阈值
    • cv2.THRESH_TRUNC
    • cv2.THRESH_TOZERO
    • cv2.THRESH_TOZERO_INV
import cv2
import numpy as np
import matplotlib.pyplot as plt
import os 
os.chdir('C:/Users/lenovo/Pictures/')

img = cv2.imread('butterfly.jpg',0) #读取图片并直接将图像灰度化
ret,thresh1 = cv2.threshold(img,127,255,cv2.THRESH_BINARY) #如果一个像素值低于127,则像素值转换为255(白色色素值),否则转换成0(黑色色素值)
ret,thresh2 = cv2.threshold(img,127,255,cv2.THRESH_BINARY_INV)
ret,thresh3 = cv2.threshold(img,127,255,cv2.THRESH_TRUNC)
ret,thresh4 = cv2.threshold(img,127,255,cv2.THRESH_TOZERO)
ret,thresh5 = cv2.threshold(img,127,255,cv2.THRESH_TOZERO_INV)

titles = ['Original Image','BINARY','BINARY_INV','TRUNC','TOZERO','TOZERP_INV']
imgs = [
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值