基于Otsu算法的图像自适应阈值分割系统
项目介绍
本项目实现了一个基于Otsu算法的图像分割系统,能够自动计算灰度图像的全局最优阈值,并将图像分割为前景和背景两个区域。该系统包含图像预处理、阈值计算、分割执行和结果可视化四个核心模块,适用于医学图像处理、工业检测等多种需要图像二值化的应用场景。
功能特性
- 自适应阈值计算:采用Otsu算法自动寻找图像灰度直方图的最优分割阈值
- 多格式图像支持:支持.jpg、.png、.bmp等常见图像格式输入
- 完整处理流程:包含图像读取、预处理、阈值计算、二值化分割全流程
- 可视化展示:可选显示原始图像、灰度直方图、分割结果的对比图
- 性能评估:提供类间方差最大值等分割效果评估指标
使用方法
基本使用
% 直接处理图像矩阵
binary_image = main(gray_image);
% 通过文件路径处理图像
[binary_image, threshold] = main('image.jpg');
% 显示可视化结果
[binary_image, threshold] = main('image.jpg', true);
输入参数
gray_image: 灰度图像矩阵(uint8格式,M×N尺寸)image_path: 图像文件路径(支持.jpg、.png、.bmp格式)show_plot: 是否显示可视化结果(布尔值,默认false)
输出结果
binary_image: 分割后的二值图像(logical格式)threshold: 计算得到的最优阈值(0-255范围)- 可选可视化图形:原始图像、灰度直方图、分割结果对比
- 可选评估指标:类间方差最大值
系统要求
- MATLAB R2018a或更高版本
- Image Processing Toolbox
- 支持的操作系统:Windows/Linux/macOS
文件说明
主程序文件整合了图像读取与验证、灰度化预处理、Otsu阈值计算、图像二值化分割、结果可视化展示以及分割效果评估等核心功能模块,构成了完整的图像自适应阈值分割处理流程。