热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

matlabrgb矩阵,Matlab中rgb2ind函数用法

目录rgb2ind将RGB图像转换为索引图像语法[X,cmap]rgb2ind(RGB,Q)[X,cmap]rgb2ind(RGB,tol)Xrgb2ind(RGB,inmap)_

目录

rgb2ind将 RGB 图像转换为索引图像

语法

[X,cmap] = rgb2ind(RGB,Q)

[X,cmap] = rgb2ind(RGB,tol)

X = rgb2ind(RGB,inmap)

___ = rgb2ind(___,dithering)

说明

[X,cmap] = rgb2ind(RGB,Q) 使用具有 Q 种量化颜色的最小方差量化法并加入抖动,将 RGB 图像转换为索引图像 X,关联颜色图为 cmap。

[X,cmap]= rgb2ind(RGB,tol) 使用均匀量化法并加入抖动,将 RGB 图像转换为索引图像,容差为 tol。

X = rgb2ind(RGB,inmap) 使用逆颜色图算法并加入抖动,将 RGB 图像转换为索引图像,指定的颜色图为 inmap。

___ = rgb2ind(___,dithering) 启用或禁用抖动。

示例

将 RGB 图像转换为索引图像

读取和显示星云的真彩色 uint8 JPEG 图像。

RGB = imread('ngc6543a.jpg');

figure

imagesc(RGB)

axis image

zoom(4)

81756f0f5adea6d9d5f2319630cfcb4b.png

将 RGB 转换为包含 32 种颜色的索引图像。

[IND,map] = rgb2ind(RGB,32);

figure

imagesc(IND)

colormap(map)

axis image

zoom(4)

850b3f7b59dd7f7fccb1add44a1301ca.png

输入参数

RGB - RGB 图像

m×n×3 数组

RGB 图像,指定为 m×n×3 数组。

数据类型:single | double | uint8 | uint16

Q - 量化颜色的数量

正整数

最小方差量化法所用的量化颜色的数量,指定为小于或等于 65536 的正整数。返回的颜色图cmap包含 Q 种或更少的颜色。

tol - 容差

范围 [0, 1] 内的数字

均匀量化法所用的容差,指定为范围 [0, 1] 内的数字。返回的颜色图cmap包含 (floor(1/tol)+1)^3 种或更少的颜色。

inmap - 输入颜色图

c×3 的矩阵

输入颜色图,指定为由范围 [0, 1] 内的值组成的 c×3 矩阵。inmap 的每行都是一个三元素 RGB,指定颜色图的单种颜色的红、绿和蓝分量。该颜色图最多有 65536 种颜色。

数据类型:double

dithering - 执行抖动

'dither' (默认) | 'nodither'

执行抖动,指定为 'dither' 或 'nodither'。抖动以损失空间分辨率为代价来提高颜色分辨率。如果选择 'nodither',则 rgb2ind 不执行抖动。在这种情况下,函数将原始图像中的每种颜色映射到新颜色图中最接近的颜色。

输出参数

X - 索引图像

由非负整数组成的 m×n 矩阵

索引图像,返回由非负整数组成的 m×n 矩阵。如果 map 的长度小于或等于 256,则输出图像可以属于 uint8 类。否则,输出图像可以属于 uint16 类。输出数组 X 中的值 0 对应于颜色图中的第一个颜色。

注意

图像 X 中的值是颜色图 map 的索引且不应该用于数学处理(例如过滤运算)。

数据类型:uint8 | uint16

cmap - 颜色图

c×3 的矩阵

颜色图,返回为由范围 [0, 1] 内的值组成的 c×3 矩阵。cmap 的每行都是一个三元素 RGB,指定颜色图的单种颜色的红、绿和蓝分量。该颜色图最多有 65536 种颜色。

数据类型:double

算法

均匀量化 - 如果您指定tol,则 rgb2ind使用均匀量化来转换图像。均匀量化将 RGB 颜色立方体削减为较小的 tol 长度的立方体。例如,如果您指定 tol 为 0.1,则立方体的边缘为 RGB 立方体长度的十分之一。小立方体总数为: t = (floor(1/tol)+1)^3

每个立方体表示输出图像中的一种颜色。因此,t 为颜色图的最大长度。rgb2ind 会删除不显示在输入图像中的任何颜色,因此实际颜色图可能小于 t。

最小方差量化 - 如果您指定Q,则 rgb2ind 使用最小方差量化。最小方差量化将 RGB 颜色立方体削减为不同大小的较小块(未必是立方体),具体取决于这些颜色在图像中的分布情况。如果输入图像实际使用的颜色数少于指定的数量,则输出颜色图也会变小。

逆颜色图 - 如果您指定输入颜色图inmap,则 rgb2ind 使用颜色图映射。逆颜色图算法可将指定颜色图量化为每个颜色分量 32 个不同色阶。然后,对于输入图像中的每个像素,查找量化的颜色图中最接近的颜色。

参考

[1] Spencer W. Thomas, "Efficient Inverse Color Map Computation", Graphics Gems II, (ed. James Arvo), Academic Press: Boston. 1991. (includes source code)

标签:颜色,cmap,用法,RGB,rgb2ind,Matlab,图像,量化

来源: https://blog.csdn.net/jk_101/article/details/111955964



推荐阅读
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 本文为Codeforces 1294A题目的解析,主要讨论了Collecting Coins整除+不整除问题。文章详细介绍了题目的背景和要求,并给出了解题思路和代码实现。同时提供了在线测评地址和相关参考链接。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • 本文介绍了一种划分和计数油田地块的方法。根据给定的条件,通过遍历和DFS算法,将符合条件的地块标记为不符合条件的地块,并进行计数。同时,还介绍了如何判断点是否在给定范围内的方法。 ... [详细]
  • 本文介绍了解决二叉树层序创建问题的方法。通过使用队列结构体和二叉树结构体,实现了入队和出队操作,并提供了判断队列是否为空的函数。详细介绍了解决该问题的步骤和流程。 ... [详细]
author-avatar
mobiledu2502897207
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有