opencv 阈值threshold 二值化,反二值化,截断,阈值取零,阈值反取零 python版实现

1、图片展示效果

2、方法定义

二值化 (Binary Thresholding)

描述: 将图像中的每个像素值与设定的阈值进行比较。如果像素值大于或等于阈值,则将其设置为最大值(通常是255),否则设置为0。

应用: 常用于图像分割,将图像转换为黑白图像。

反二值化 (Inverse Binary Thresholding)

描述: 与二值化相反,将图像中的每个像素值与设定的阈值进行比较。如果像素值大于或等于阈值,则将其设置为0,否则设置为最大值(通常是255)。

应用: 用于反转图像的黑白区域。

截断 (Truncation)

描述: 将图像中的每个像素值与设定的阈值进行比较。如果像素值大于阈值,则将其设置为阈值,否则保持不变。
应用: 用于限制图像中像素值的最大值。

阈值取零 (To Zero)

描述: 将图像中的每个像素值与设定的阈值进行比较。如果像素值小于阈值,则将其设置为0,否则保持不变。

应用: 用于将低于阈值的像素值去除。

阈值反取零 (To Zero Inverted)

描述: 将图像中的每个像素值与设定的阈值进行比较。如果像素值大于或等于阈值,则将其设置为0,否则保持不变。

应用: 用于将高于或等于阈值的像素值去除。

3、安装依赖

复制代码
pip install opencv-python
pip install opencv-python-headless matplotlib

4、代码

复制代码
import cv2
import numpy as np
import matplotlib.pyplot as plt

# 读取图片
image = cv2.imread('D:\\img\\test.jpeg', cv2.IMREAD_GRAYSCALE)

# 二值化
_, binary_image = cv2.threshold(image, 128, 255, cv2.THRESH_BINARY)

# 反二值化
_, inverted_binary_image = cv2.threshold(image, 128, 255, cv2.THRESH_BINARY_INV)

# 截断
truncated_image = cv2.threshold(image, 128, 255, cv2.THRESH_TRUNC)[1]

# 阈值取零
to_zero_image = cv2.threshold(image, 128, 255, cv2.THRESH_TOZERO)[1]

# 阈值反取零
to_zero_inv_image = cv2.threshold(image, 128, 255, cv2.THRESH_TOZERO_INV)[1]

# 显示结果
images = [image, binary_image, inverted_binary_image, truncated_image, to_zero_image, to_zero_inv_image]
titles = ['Original Image', 'Binary Image', 'Inverted Binary Image', 'Truncated Image', 'To Zero Image', 'To Zero Inverted Image']

plt.figure(figsize=(12, 8))
for i in range(6):
    plt.subplot(2, 3, i + 1)
    plt.imshow(images[i], cmap='gray')
    plt.title(titles[i])
    plt.axis('off')

plt.show()
相关推荐
深度研习笔记8 小时前
OpenCV工业视觉实战11|多线程解耦+视频流稳流+推理加速,彻底解决卡顿阻塞,实现毫秒级工业实时检测
人工智能·opencv·计算机视觉
大模型码小白8 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
麻雀飞吧9 小时前
最新量化学习路径,交易认知和技术实现要并行
人工智能·python
腾渊信息科技公司9 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
点PY9 小时前
一种从CTA图像中去除扫描床的方法及装置
人工智能·计算机视觉
小白巨白10 小时前
玫瑰花园管理系统:AI识病+3D可视化,一套面向中小型玫瑰种植园的数字化管理工具
css·人工智能·计算机视觉·html5
hhzz12 小时前
Tiger AI Platform平台中增加人脸识别功能
图像处理·人工智能·算法·计算机视觉·大模型
C^h12 小时前
python函数学习
人工智能·python·机器学习
Fanta丶12 小时前
4.Python set()集合、dict(字典、映射)、 数据容器的通用功能
python
决战灬12 小时前
langgraph之interrupt(理论篇)
人工智能·python·agent