热门标签 | 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



推荐阅读
  • hlg_oj_1116_选美大赛这题是最长子序列,然后再求出路径就可以了。开始写的比较乱,用数组什么的,后来用了指针就好办了。现在把代码贴 ... [详细]
  • ArcBlock 发布 ABT 节点 1.0.31 版本更新
    2020年11月9日,ArcBlock 区块链基础平台发布了 ABT 节点开发平台的1.0.31版本更新,此次更新带来了多项功能增强与性能优化。 ... [详细]
  • 贡献转移在计算每个元素的作用的时候,我们可以通过反向枚举作用效果,添加到作用元素的身上,这种方法叫做贡献转移。更正式的说, ... [详细]
  • 深入解析 C++ 中的 String 和 Vector
    本文详细介绍了 C++ 编程语言中 String 和 Vector 的使用方法及特性,旨在帮助开发者更好地理解和应用这两个重要的容器。 ... [详细]
  • 使用Matlab创建动态GIF动画
    动态GIF图可以有效增强数据表达的直观性和吸引力。本文将详细介绍如何利用Matlab软件生成动态GIF图,涵盖基本代码实现与高级应用技巧。 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • 本文详细介绍了在Luat OS中如何实现C与Lua的混合编程,包括在C环境中运行Lua脚本、封装可被Lua调用的C语言库,以及C与Lua之间的数据交互方法。 ... [详细]
  • 想把一组chara[4096]的数组拷贝到shortb[6][256]中,尝试过用循环移位的方式,还用中间变量shortc[2048]的方式。得出的结论:1.移位方式效率最低2. ... [详细]
  • 本文详细介绍如何在 Apache 中设置虚拟主机,包括基本配置和高级设置,帮助用户更好地理解和使用虚拟主机功能。 ... [详细]
  • OpenCV中的霍夫圆检测技术解析
    本文详细介绍了如何使用OpenCV库中的HoughCircles函数实现霍夫圆检测,并提供了具体的代码示例及参数解释。 ... [详细]
  • 网络流24题——试题库问题
    题目描述:假设一个试题库中有n道试题。每道试题都标明了所属类别。同一道题可能有多个类别属性。现要从题库中抽取m道题组成试卷。并要求试卷包含指定类型的试题。试设计一个满足要求的组卷算 ... [详细]
  • 本文介绍了如何利用OpenCV库进行图像的边缘检测,并通过Canny算法提取图像中的边缘。随后,文章详细说明了如何识别图像中的特定形状(如矩形),并应用四点变换技术对目标区域进行透视校正。 ... [详细]
  • 本文详细探讨了在Java中如何将图像对象转换为文件和字节数组(Byte[])的技术。虽然网络上存在大量相关资料,但实际操作时仍需注意细节。本文通过使用JMSL 4.0库中的图表对象作为示例,提供了一种实用的方法。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 在使用 Nginx 作为服务器时,发现 Chrome 能正确从缓存中读取 CSS 和 JS 文件,而 Firefox 却无法有效利用缓存,导致加载速度显著变慢。 ... [详细]
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社区 版权所有