主要内容

8位和16位图像

索引图像

双精度浮点数(64位)默认MATLAB®数字数据的表示。然而,减少内存需求来处理图像,你可以将图片存储为8位或16位无符号整数使用数字类uint8uint16,分别。图像数据矩阵的类uint8被称为一个8位图像;图像数据矩阵的类uint16被称为一个16位图像。

图像函数可以直接显示8位或16位的图像没有将他们转换为双精度。然而,图像解释当图像矩阵是矩阵值略有不同uint8uint16。具体的解释取决于图像类型。

如果类的Xuint8uint16之前,它的值是1所抵消被用作colormap指数。值0 colormap指向第一行,第二行值1点,等等。的图像命令自动供应适当的补偿,所以显示方法是否相同X,uint8,或uint16:

图像(X);colormap(地图);

colormap指数抵消uint8uint16数据是为了支持标准图像文件格式,通常将图万博1manbetx像数据存储在索引形式colormap 256条目。偏移量允许操作和显示图像的形式使用更节约内存uint8uint16数组。

由于抵消,你必须将加1uint8uint16索引图像。例如:

X64 =双(×8)+ 1;或X64 =双()+ 1;

相反,减去1把索引图像uint8uint16:

×8 = uint8 (X64 - 1);或乘16 = uint16 (X64 - 1);

强度图像

的范围图像阵列通常是[0,1],但8位图像强度的范围通常是[0,255)和16位强度图像的范围通常是[0,65535]。使用以下命令来显示一个8位强度图像灰度colormap:

显示亮度图像(I, 255年[0]);colormap(灰色);

将强度图像uint16,乘以65535:

I16 = uint16(圆(I64 * 65535));

相反,转换后除以65535uint16强度图像:

I64 = (I16) / 65535年翻一番;

RGB图像

一个8位RGB图像的颜色组件是整数的范围(0,255年)而不是浮点值的区间[0,1]。一个像素的颜色组件(255255255)显示为白色。的图像命令显示一个RGB图像类是否正确,uint8,或uint16:

图像(RGB);

将RGB图像uint8,乘以255:

RGB8 = uint8(圆(RGB64 * 255));

相反,转换后除以255uint8RGB图像:

RGB64 = (RGB8) / 255年翻一番

将RGB图像uint16,乘以65535:

RGB16 = uint16(圆(RGB64 * 65535));

相反,转换后除以65535uint16RGB图像:

RGB64 = (RGB16) / 65535年翻一番;

支持uint8和uint16数学操作万博1manbetx

使用下面的MATLAB函数uint8uint16数据,首先将数据转换为类型:

例如,如果X是一个uint8形象,把数据类型:

fft(双(X))

在这些情况下,输出总是

总和函数返回的结果在同一类型作为输入,但提供了一个选择使用双精度计算。

MATLAB整数数学

看到对整数算术操作类更多信息在数学函数是如何工作的数据类型不翻倍。

大多数图像处理工具箱™函数接受uint8uint16输入。如果你计划去做复杂的图像处理印尼t8或uint16数据,考虑包括工具箱MATLAB计算环境。

其他8位和16位数组的支持万博1manbetx

您可以执行其他操作uint8uint16数组,包括:

  • 改造、重新排序和连接数组使用功能重塑,,交换,[]运营商

  • 保存和加载uint8uint16mat文件中的数组使用保存负载。(请记住,如果你加载或保存图形图像文件格式,您必须使用的命令imreadimwrite相反)。

  • 定位非零元素的索引uint8uint16数组的使用找到。然而,返回的数组总是类

  • 关系运算符

将一个8位RGB图像转换为灰度

您可以对整数数据执行算术运算,这使您能够将图像类型没有首先将数字图像数据的类。

这个例子中读取一个8位RGB图像到一个MATLAB变量,并将其转换为灰度图片:

rgb_img = imread (“ngc6543a.jpg”);%加载图片图像(rgb_img)%显示RGB图像轴形象;

彩色图像显示在轴

请注意

这张照片是太空望远镜科学研究所的支持下创建,由大学天文研究协会,万博1manbetxInc .)从美国宇航局合同nas5 - 26555,并与许可复制光环/太空望远镜科学研究所。数字再现的图像产生的光环/太空望远镜科学研究所获得免版税。学分:摩根大通(J.P.哈林顿和kj Orkowski(马里兰大学)和美国国家航空航天局。

计算单色亮度通过结合RGB值根据NTSC标准,这眼睛的灵敏度系数相关适用于RGB颜色:

我= .2989 * rgb_img (:,: 1)…+ .5870 * rgb_img (:: 2)……+ .1140 * rgb_img (:,:, 3);

是一个整数值从最小的强度图像的零:

分钟(我(:))ans = 0

255:

马克斯(我(:))ans = 255

显示图像,使用灰度colormap 256值。这样就避免了需要规模data-to-color映射,这是必需的,如果你使用colormap不同的大小。使用显示亮度图像函数的情况下colormap不包含一个条目为每个数据值。

现在显示图像在一个新的图使用灰色colormap:

图;colormap(灰色(256));图像(I);轴形象;

使用灰度colormap出现灰色的彩色图像显示

相关信息

其他colormaps一系列不同颜色不断从黑暗到光明能产生可用的图像。例如,试着colormap(夏天(256))对于一个典型的示波器。看到colormap更多的选择。

照亮功能使您能够增加或减少的颜色强度colormap弥补计算机显示器差异或增强微弱或明亮的区域的图像的可见性(的范围)的另一端。

摘要图像类型和数字类

这个表总结了数据矩阵元素是如何解读为像素的颜色,这取决于图像类型和数据类。

图像类型

双数据

uint8或uint16数据

索引

图像是一个——- - - - - -n数组的整数范围[1,p]。

Colormap是一个p3的浮点值数组范围[0,1]。

图像是一个——- - - - - -n数组的整数范围(0,p1]。

Colormap是一个p3的浮点值数组范围[0,1]。

强度

图像是一个——- - - - - -n数组的浮点值的线性扩展生产colormap指数。典型的值范围是[0,1]。

Colormap是一个p3数组的浮点值区间[0,1],通常灰度。

图像是一个——- - - - - -n的整数数组线性扩展生产colormap指数。典型的值范围是[0,255]或[0,65535]。

Colormap是一个p3数组的浮点值区间[0,1],通常灰度。

RGB(真彩)

图像是一个——- - - - - -n3的浮点值数组范围[0,1]。

图像是一个——- - - - - -n3的整数数组范围[0,255]或[0,65535]。