MATLAB中的彩色图像表示法

MATLAB图像处理工具箱(IPT)支持两种类型的彩色图像表示法:RGB图像和索引图像。
   a)RGB图像RGB图像存储为大小为3D的数组,其中图像高度和图像宽度。
   MATLAB函数imread用于读取图像文件。 例如,a = imread('peppers.png'); 假设a是RGB图像。
   位置(行= y,列= x)的像素颜色存储在a(y,x,:)中。
   数组项a(y,x,1)是红色值,a(y,x,2)是绿色值,而a(y,x,3)是蓝色值。

要提取三个分量(红色,绿色和蓝色),请使用R = a(:,:,1);  G = a(:,:,2);  B = a(:,:,3); 假设R,G,B是三个颜色分量,我们可以使用b = cat(3,R,G,B)来形成RGB图像。

b)索引图像索引图像由两部分组成:

尺寸为2-D的Hxw矩阵,其中为H图像高度,W为图像宽度。
   颜色图。 颜色图是大小为mX3的二维矩阵,其中每一行存储一种颜色,并且m是颜色的总数。
   假设X是索引图像,并且map是相应的颜色图。
   如果X(x,y)=k为,则像素位置(行= y,列= x)的颜色为:map(k ,:)

从RGB图像到索引图像的转换

MATLAB函数rgb2ind可用于将RGB图像转换为索引图像。此函数支持三种转换方法

:i)均匀量化、ii)最小方差量化和iii)颜色映射近似。
均匀量化:[X,map]=rgb2ind(RGB,tol)使用统一量化将RGB图像转换为索引图像X。输出映射最多包含颜色,其中参数tol必须介于0.0和1.0(公差)之间。例如,如果tol=0.1,此函数将每个颜色维度划分为10个间隔。整个颜色空间将有个立方体,每个立方体表示为一种颜色。

a = imread('peppers.png');
[X, map] = rgb2ind(a, 0.1);

最小方差量化:[X,map]=rgb2ind(RGB,n)使用最小方差量化将RGB图像转换为索引图像X。输出映射最多包含n种颜色,其中n是介于1和216之间的整数输入参数。以下命令仅使用100种颜色表示图像a:[X,map]=rgb2ind(a,100);

颜色贴图近似值:X=rgb2ind(RGB,map)将RGB图像转换为索引图像X。它将RGB中的每种颜色与预定义颜色贴图中最近的颜色匹配。

练习:考虑输入图像peppers.png.
编写MATLAB代码,使用统一量化生成索引图像,公差为0.5。输出颜色映射中n的颜色总数是多少?
编写MATLAB代码,使用最小方差量化生成索引图像。输出颜色的数量应该与均匀量化中的相同。
使用MATLAB函数子图像并排显示两个输出图像。哪个图像的视觉质量更好?为什么?

颜色空间

a)在MATLAB中使用RGB作为主颜色空间来表示图像(图7.3)。然而,还有许多其他颜色空间。在本节中,我们将研究MATLAB支持的另外两个空间:YCbCr和HSV。

YCbCr颜色空间这种颜色空间广泛应用于数字图像和视频压缩(如JPEG、MPEG)。通过线性变换,可以从RGB中得到YCbCr

在MATLAB中,使用IPT函数rgb2ycbcr完成颜色转换:im_ycbcr=rgb2ycbcr(im_rgb);

要从YCbCr颜色空间转换到RGB空间,请使用MATLAB函数ycbcr2rgb:im_rgb=ycbcr2rgb(im_YCbCr);

HSV颜色空间HSV由三个部分组成:

  • 色调(H)是主色。[0,360o]中的每个H值对应一种颜色,例如红色、绿色、蓝色或黄色。
  • 饱和度是原色的饱和度。对于给定的H,S=0表示没有颜色,S=1表示100%颜色。
  • 值(V)为亮度。V=0为最小亮度,V=1为最大亮度。

RGB图像可以使用MATLAB函数rgb2hsvim_hsv = rgb2hsv(im_rgb)

转换为HSV图像;逆变换是通过MATLAB函数hsv2rgb:im_rgb = hsv2rgb(im_hsv);执行的;

练习:考虑形象悉尼.jpg’.
编写MATLAB代码来显示图像的Y、Cb、Cr、H、S、V颜色分量。
编写MATLAB代码创建并显示输出图像,其中S分量增加3倍,而H和V分量保持不变。s=s*3 hv不变

7.5基于颜色的图像分割

a)分割是根据颜色、形状或纹理等标准将图像分割为同质区域的过程。在本节中,我们将学习一种基于RGB颜色的图像分割技术。
b) 假设是一组预定义的N行向量。其中的每一行向量都是一种有三个元素(红、绿、蓝)的颜色:(7.11)平均向量和协方差矩阵可以在MATLAB中计算如下:

m = mean(S,1) C = cov(S)

对于任意像素颜色x:

和之间的欧几里德距离定义为。(7.12)

和之间的马氏距离定义为。(7.13)

如果距离小于预定义阈值,则认为像素颜色与中的颜色相似。

练习E1。彩色量化编写MATLAB脚本对彩色图像进行处理辣椒.png.
计算出现在图像中的不同颜色n的数量。提示:您可以使用MATLAB函数unique来查找矩阵中不同的行或列。
应用最小方差量化,将不同颜色的数量减少一半,并将输出图像保存为辣椒色_量化.bmp.
通过并排显示输入和量化图像,比较它们。

E2。图像分割编写一个MATLAB脚本来执行以下任务。
a) 读取输入图像辣椒.png到一个MATLAB变量a中。
b) 显示图像并从输入图像中的对象中选择像素颜色(图7.4)。
S=impixel(a)单击鼠标左键选择对象中的N个像素。按回车键停止选择。
c) 计算集合S的平均向量和协方差矩阵。
d) 通过处理输入图像中的所有像素来生成输出图像。如果从像素到集合S的欧几里德距离小于阈值,则保持像素颜色不变。否则,将像素颜色更改为白色(红色=绿色=蓝色=255)。
e) 通过处理输入图像中的所有像素来生成输出图像。如果从像素到集合S的马氏距离小于阈值,则保持像素颜色不变。否则,将像素颜色更改为白色(红色=绿色=蓝色=255)。与(d)部分的结果进行比较。
f) 测试脚本中N和的不同值,并对结果进行注释。

感觉有用的博客https://www.cnblogs.com/IClearner/p/6754821.html

实验代码

https://download.csdn.net/download/sereasuesue/14915881

MATLAB彩色图像处理相关推荐

  1. 七、彩色图像处理(MATLAB)

    文章目录 彩色图像处理 一.RGB图像 二.索引图像 三.处理RGB和索引图像的函数 四.彩色空间转换 彩色图像处理 一.RGB图像 一幅RGB图像是一个MN3的彩色像素数组,其中每个彩色色素是一个三 ...

  2. 【图像处理】MATLAB:彩色图像处理

    彩色图像处理基础   将彩色图像处理细分为三个主要类别:(1)颜色变换即彩色映射:(2)单独彩色平面的空间处理:(3)颜色向量处理.第一类处理每个彩色平面的像素,该处理严格地以像素值为基础,而不是以它 ...

  3. matlab 图像读取默认值,实验一MATLAB数字图像处理

    昆明理工大学信息工程与自动化学院学生实验报告 ( 2012 -2013 学年第二学期) 课程名称:图形图像处理开课实验室:信自444 2013年 5月 22日 一.实验目的与要求 1.熟悉及掌握在MA ...

  4. matlab fspeical,MATLAB数字图像处理.doc

    MATLAB数字图像处理 MATLAB常用图像操作 转换图像类型 例1.对一幅图像进行二值化处理,代码及结果如下: load trees BW=im2bw(X,map,0.4); imshow(X,m ...

  5. 精通Matlab数字图像处理与识别nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;

    文章目录 1. 数字图像处理与识别 1.1数字图像 1.2 数字图像处理与识别 1.3 数字图像处理的预备知识 1.4 基本的图像操作 2. MATLAB基础 2.1 常用命令 2.2 矩阵 2.3 ...

  6. Matlab数字图像处理——图像处理工具箱Image Processing Toolbox

    Image Processing Toolbox 图像处理工具箱包含的功能: 图像的读取和保存 图像的显示 创建GUI 图像的几何变换 图像滤波器设计及线性滤波 形态学图像处理 图像域变换 图像增强 ...

  7. 彩色图像处理 彩色空间转换及代码实现

    一.彩色图像基础 为什么要研究彩色图像处理? 符合人类视觉特点:人类可以辨别几千种颜色色调和亮度:只能辨别几十种灰度层次. 有用的描绘子:简化目标物的区分:目标识别,根据目标的颜色特征. 彩色图像处理 ...

  8. 第五章 彩色图像处理

    第五章 彩色图像处理 MATLAB中彩色图像的表示 RGB图像 索引图像 处理RGB和索引图像的函数 彩色空间转换 NTSC彩色空间 YCbCr彩色空间 CMY和CMYK彩色空间 HSI彩色空间 与设 ...

  9. 十二、数字图像处理之彩色图像处理

    数字图像处理之彩色图像处理 (一)在MATLAB中彩色图像的表示 (1)RGB图像 (2)索引图像 (3)处理RGB图像和索引图像的函数 (二)彩色空间之间的转换 (1)NTSC彩色空间 (2)YCb ...

  10. 数字图像处理第六章——彩色图像处理(上)

    数字图像处理第六章 数字图像处理---彩色图像处理 (一) 在 MATLAB 中彩色图像的表示 1.1 RGB图像 1.2 索引图像 1.3 处理 RGB图像和索引 (二)彩色空间之间的转换 2.1 ...

最新文章

  1. Ubuntu安装Anaconda
  2. 腾讯微博快速有效增加广播转播量的方法与技巧
  3. python爬虫入门urllib库的使用
  4. reshape功能介绍_函数 reshape 的用法
  5. SAP卢东明:大数据同样需要小身材
  6. 用什么写php最好用,php用什么开发工具比较好
  7. 移动端H5页面注意事项
  8. 关于甲沟炎的一些办法
  9. 【使用注意】Jsoup的select方法
  10. Windows Azure 安全最佳实践 - 第 4 部分:需要采取的其他措施
  11. POJ 1236 Network of Schools(强连通分量缩点求根节点和叶子节点的个数)
  12. sklearn中的损失函数
  13. 《亲密关系》笔记(1)
  14. AWS Direct connect,VPC Peering,VPC endpoint
  15. Vulkan_Ray Tracing 09_反射
  16. tensorflow 2.0 Layer定义的源码分析
  17. 计算机提示存储空间不足怎么办,电脑提示存储空间不足,无法处理此命令是什么原因?怎么解决?...
  18. ospfdr选举规则_OSPF:DR、BDR选举算法
  19. linux线程篇,linux线程篇 (二) 线程的基本操作
  20. 配置类不加@Configuration竟然也可以注册bean

热门文章

  1. 慢就是快的人生哲理_关于慢的境界的哲理美文
  2. matlab 矩阵平方怎么表示,MATLAB中如何输x的平方
  3. 离散-关系矩阵乘法运算
  4. vmware虚拟机C盘扩容
  5. 云服务器申请退款,腾讯云服务器申请自助退款的操作流程及图文教程
  6. 2013年十大免费空间综合排行榜-稳定,可靠,速度快,可建站免费空间
  7. 台式计算机如何联络无线网,台式电脑怎样设置无线网络
  8. CentOS设置SSH Key登录
  9. win10 计算机网络密码,详细教你Win10怎么查看无线网络密码
  10. linux网卡驱动realtek,Linux系统Realtek网卡驱动安装