当前位置: 首页 > article >正文

【数字图像处理+MATLAB】将图像转换为二值图像(Binary Image):使用 imbinarize 函数进行二值化运算(Binarize)

引言

二值图像是一种特殊类型的数字图像,其中每个像素只有两种可能的强度值或颜色值。这两种值通常表示为黑色和白色,或者0和1。

二值化是一个常见的图像处理步骤,它将灰度或彩色图像转换为二值图像。在二值化过程中,会设定一个阈值,所有大于这个阈值的像素会被设置为1(通常表示白色),所有小于或等于这个阈值的像素会被设置为0(通常表示黑色)。这个阈值可以是手动设定的,也可以通过各种算法(例如Otsu方法)自动计算得出。


语法详解

imbinarize是MATLAB中的一个函数,用于将灰度图像或者彩色图像转换为二值图像。

基本语法:

BW = imbinarize(I);
BW = imbinarize(I, level);
BW = imbinarize(I, 'adaptive', Name, Value);

参数详解:

  1. I:输入的图像,应为灰度图像。
  2. level:一个介于0和1之间的数值,用来确定阈值。所有小于level的像素值都会被设置为0,所有大于或等于level的像素值都会被设置为1。如果不指定levelimbinarize函数会默认使用Otsu方法来自动计算阈值。
  3. 'adaptive':指定使用自适应阈值化方法。在这种模式下,imbinarize会对图像的每个局部区域分别计算阈值,而不是使用一个全局阈值。
  4. Name, Value:用于指定额外的参数,例如'Sensitivity'

返回值详解:

  • BW:输出的二值图像。它和输入图像I有相同的大小。所有像素值都是逻辑值,即0(表示黑色)或1(表示白色)。

应用案例

用Otsu方法自动计算阈值

I = imread("Fig0304(a)(breast_digital_Xray).tif");

figure;

subplot(1, 3, 1);
imshow(I);
title("Original image");

negI = imcomplement(I);
subplot(1, 3, 2);
imshow(negI);
title("Negative image");

binI = imbinarize(I);
subplot(1, 3, 3);
imshow(binI);
title("Binary image");

以平均亮度作为阈值

I = imread("Fig0304(a)(breast_digital_Xray).tif");

figure;

subplot(1, 3, 1);
imshow(I);
title("Original image");

negI = imcomplement(I);
subplot(1, 3, 2);
imshow(negI);
title("Negative image");

mean = mean(I, "all");
binI = imbinarize(I, mean / 255);
subplot(1, 3, 3);
imshow(binI);
title("Binary image");


http://www.kler.cn/a/394461.html

相关文章:

  • ubuntu22.04安装PaddleX3
  • Spring(三)-SpringWeb-概述、特点、搭建、运行流程、组件、接受请求、获取请求数据、特殊处理、拦截器
  • UML图【重要】
  • vscode添加全局宏定义
  • 【从零开始入门unity游戏开发之——C#篇21】C#面向对象的封装——`this`扩展方法、运算符重载、内部类、`partial` 定义分部类
  • 【C语言】动态内存管理:详解malloc和free函数
  • 算法--解决熄灯问题
  • libigl 基于射线选择面片
  • 从JVM的角度,来分析为什么Java中是值传递?
  • 小程序服务商常见问题
  • 公共检查点(checkpoints)+探针(Probe)详解
  • 蓝队基础3 -- 身份与数据管理
  • 图论-代码随想录刷题记录[JAVA]
  • 11个c语言编程练习题
  • 干货满满!13个有趣又有用的Python 高级脚本
  • C#中的TCP通信
  • 低代码牵手 AI 接口:开启智能化开发新征程
  • ab (Apache Bench)的使用
  • 快速建造高品质音乐厅:声学气膜馆打造专业降噪空间—轻空间
  • N80PLC系列通信介绍(CAN与Modbus RTU)
  • 【商城系统搭建流程】
  • go+powershell脚本实现预填写管理凭据安装软件
  • 【WRF后处理】提取某要素数据并绘制地图
  • 基于Java Springboot剧本杀管理系统
  • webSocket的使用文档
  • MySQL【四】