📜  MATLAB |软件开发工具通过OTSU阈值更改背景像素的颜色

📅  最后修改于: 2021-04-16 08:12:20             🧑  作者: Mango

MATLAB也称为Matrix Laboratory,它是一个数值计算环境和一种用于编程语言的平台。它是由MathWorks设计和开发的。 MATLAB是一个框架,可让您执行矩阵处理,实现算法,绘制函数和数据,创建用户界面以及与使用不同编程语言(例如C,C++, Python, Java等)编写的程序进行接口。

OTSU阈值处理: OTSU阈值处理是一种分割算法,通过该算法,我们可以将图像分割为两个或两个以上的区域。该算法检查每个阈值是否可以最佳地分离两种像素。

通过OTSU阈值,我们可以分离前景像素和背景像素。

方法:

  1. 读取的图像使用imread()函数和使用rgb2gray()函数将其转换为灰度图像。
  2. 使用greythresh()函数将图像灰度化。
  3. 检测图像的前景和背景像素。
  4. 选择背景像素并将其上色为蓝色。

以下是上述方法的实现–

% read the rgb image.
I = imread('leena.png');  
  
% convert it to gray image using rgb2gray() function.  
Ig = rgb2gray(I);    
  
% apply inbuilt otsu thresholding and
% convert the image to binary image.       
T = graythresh(Ig);         
Tg = T*255;  
  
% detect foreground and background
% pixels of the binary image.               
m = Ig > Tg                   
figure, imshow(m)  
         
I1 = I(:, :, 1);              
I2 = I(:, :, 2);
I3 = I(:, :, 3);
I1(~m) = 0;
I2(~m) = 0;
  
% in background pixels, take the third 
% channel and color it blue.
I3(~m) = 255;                 
In=cat(3, I1, I2, I3);
figure, imshow(In);

输入图片:

输出: