MATLAB也称为Matrix Laboratory,它是一个数值计算环境和一种用于编程语言的平台。它是由MathWorks设计和开发的。 MATLAB是一个框架,可让您执行矩阵处理,实现算法,绘制函数和数据,创建用户界面以及与使用不同编程语言(例如C,C++, Python, Java等)编写的程序进行接口。
OTSU阈值处理: OTSU阈值处理是一种分割算法,通过该算法,我们可以将图像分割为两个或两个以上的区域。该算法检查每个阈值是否可以最佳地分离两种像素。
通过OTSU阈值,我们可以分离前景像素和背景像素。
方法:
- 读取的图像使用imread()函数和使用rgb2gray()函数将其转换为灰度图像。
- 使用greythresh()函数将图像灰度化。
- 检测图像的前景和背景像素。
- 选择背景像素并将其上色为蓝色。
以下是上述方法的实现–
% 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);
输入图片:
输出: