MATLAB中图像格式的转换

在MATLAB中,主要支持的图像类型有彩色图像、灰度图像、二值图像和索引图像。

彩色图像,也称为RGB图像,分别用R、G、B三个亮度值为一组,代表每个像素的颜色。这些亮度值直接存放在图像数组中。图像数组为m*n*3,m和n表示图像像素的行列数。

灰度图像,是指每个像素只有一个采样颜色的图像,这类图像通常显示为从最暗黑色到最亮白色的灰度。灰度图像是保存在一个矩阵中的,矩阵中的每个元素代表一个像素点。

二值图像,也称黑白图像,是指每个像素点只有两种可能,0和1,0代表黑色,1代表白色。

索引图形,包括图像矩阵和颜色图数组,其中,颜色图是按照图像中颜色值进行排序后的数组;对于每个像素,图像矩阵包含一个值,这个值就是颜色图数组中的索引。

现要从当前工作目录中读取某原始彩色图像文件,然后分别转换为灰度图像、二值图像和索引图像。

可在命令窗口输入以下程序:

Matlab 复制代码
I=imread('paowuxianqumian.jpg');
subplot(2,2,1)
imshow(I)
title('原始图像')
I1=rgb2gray(I);
subplot(2,2,2)
imshow(I1)
title('灰度图像')
I2=im2bw(I1);
subplot(2,2,3)
imshow(I2)
title('二值图像')
I3=rgb2ind(I,100);
subplot(2,2,4)
imshow(I3)
title('索引图像')

运行后得到如图1所示图形。

图1 图像格式的转换

相关推荐
叼烟扛炮11 小时前
[LangChain] 学习笔记(07):大模型长出手脚——工具(Tools)定义与调用闭环
笔记·学习·langchain
Wang's Blog15 小时前
Java 项目实战: 交友项目 - FastDFS:入门案例
java·开发语言·交友
叼烟扛炮15 小时前
[LangChain] 学习笔记(06):突破大模型限制——结构化输出(Structured Output)
windows·笔记·学习·langchain
apcipot_rain16 小时前
C++转Java日记(03)
java·开发语言·c++
布莱克60516 小时前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?
开发语言·数据结构·c++·算法·map
且从容.16 小时前
VUE3学习笔记(根据黑马教程总结)
笔记·学习
xys_67816 小时前
深挖C++:类和对象(中)
开发语言·c++
灿飞屋17 小时前
Rust 编程其实很简单
开发语言·rust
蒸蒸yyyyzwd18 小时前
关于 AI 开发相关的一些面经。
笔记·学习
MOONICK19 小时前
QT元数据
开发语言·qt