如何使用 MATLAB 将 RGB 图像转换为二进制图像?
根据定义,图像本质上是描述或记录视觉感知的事物的视觉表示。图像被分类为三种类型之一。
- 二进制图像
- 灰度图像
- 彩色图像
二进制图像:这是存在的最基本的图像类型。二进制图像中唯一允许的像素值是 0(黑色)和 1(白色)。由于只需要两个值来完整定义图像,因此我们只需要一位,因此二进制图像也称为 1 位图像。
灰度图像:根据定义,灰度图像是单色图像。单色图像始终只有一种颜色,每个像素的强度由它对应的灰度级定义。通常,8 位图像是灰度图像遵循的标准,这意味着图像中有 2 8 = 256 个灰度级,索引从 0 到 255。
彩色图像:彩色图像可以通过堆叠在一起的 3 个颜色平面(红色、绿色、蓝色)来可视化。特定平面中的每个像素都包含该平面颜色的强度值。彩色图像中的每个像素通常由 24 位/像素组成,每个颜色平面有 8 个像素。
在本文中,我们将讨论如何使用 MATLAB 将 RGB 图像转换为二进制图像。
方法 :
- 阅读 RGB 图像。
- 使用 MATLAB 中的 im2bw()函数,应用阈值处理并通过与阈值比较将像素值分类为 0 或 1。
- 将两个图像一起显示以进行比较。
示例 1:
Matlab
% Matlab Code to convert an RGB Image to Binary image
% reading image
I = imread('GFG.jpeg');
% Creating figure window for input image
% Displaying the input image
imshow(I);
% Converting the image from rgb to binary using thresholding
J = im2bw(I,0.7);
% Creating figure window for the output image
% Displaying the output image
imshow(J);
Matlab
% Matlab Code to convert an RGB Image to Binary image
% reading image
I = imread('lighthouse.png');
% Creating figure window for input image
% Displaying the input image
imshow(I);
% Converting the image from rgb to
% binary using thresholding
J = im2bw(I,0.5);
% Creating figure window for the output image
% Displaying the output image
imshow(J);
输出:
考虑另一个使用 MATLAB 内置灯塔图像的示例。
示例 2:
MATLAB
% Matlab Code to convert an RGB Image to Binary image
% reading image
I = imread('lighthouse.png');
% Creating figure window for input image
% Displaying the input image
imshow(I);
% Converting the image from rgb to
% binary using thresholding
J = im2bw(I,0.5);
% Creating figure window for the output image
% Displaying the output image
imshow(J);
输出:
代码说明:
- I = imread('lighthouse.png');此行读取图像
- 显示(一);此行在图形窗口中显示输入图像 I
- J = im2bw(I,0.5);此行将 RGB 图像转换为二进制,阈值级别设置为 0.5,用于比较像素的强度级别。基本上所有 256 个强度级别都映射到 0 和 1 之间的数字,然后根据阈值和像素值,将像素分类为黑色或白色。
- 显示(J);此行在另一个图形窗口中显示输出图像 J。
此方法也可以应用于各种其他 RGB 图像,并且可以通过更改不同的阈值并查看如何根据不同的阈值进行分类来切换。