主要内容

grayslice

使用多级阈值将灰度图像转换为索引图像

描述

例子

X= grayslice (N)利用多级阈值方法将灰度图像转换为索引图像。该函数根据。自动计算阈值N.要了解有关阈值计算的更多信息,请参见算法

例子

X= grayslice (阈值)通过使用指定的阈值集对输入图像进行多级阈值处理,返回索引图像。

例子

全部折叠

将灰度图像读入工作空间。

I = imread(“snowflakes.png”);

阈值强度图像,返回一个索引图像。

X = grayslice(I,16);

使用一种标准颜色映射显示原始图像和索引图像。

imshow(我)

图中包含一个轴对象。axis对象包含一个image类型的对象。

图imshow (X,喷气(16))

图中包含一个轴对象。axis对象包含一个image类型的对象。

将灰度图像读入工作区。显示图像。

I = imread(“coins.png”);imshow(我)

图中包含一个轴对象。axis对象包含一个image类型的对象。

指定多级阈值的阈值。

阈值= [45 65 84 108 134 157 174 189 206 228];

将输入的灰度图像转换为索引图像。

X =灰度切片(I,阈值);

显示索引图像。将索引图像的颜色映射设置为飞机.colormap的长度,,为索引图像中的最大强度值。

m = double(max(X(:)));图imshow (X, colormap (jet (m)))

图中包含一个轴对象。axis对象包含一个image类型的对象。

输入参数

全部折叠

输入灰度图像,指定为a——- - - - - -n数字矩阵。

数据类型:||int16|uint8|uint16

阈值的个数,指定为正标量。该值表示用于多级阈值的阈值总数。

数据类型:||int16|uint8|uint16

一组阈值,指定为数值向量。用于多级阈值划分的阈值个数等于长度(阈值)

图像数据类型 有效阈值范围
uint8 [0, 255)
int16uint16 [0, 65535)
[0, 1]

请注意

在对数据类型的图像进行阈值设置之前int16,grayslice函数将图像转换为uint16每个像素加32,768。在为数据类型的输入图像指定阈值时,请考虑此附加偏移量int16

数据类型:||int16|uint8|uint16

输出参数

全部折叠

输出索引图像,返回为——- - - - - -n与输入灰度图像大小相同的矩阵。的数据类型X取决于用于多级阈值的阈值的数量。

  • 如果阈值的个数小于256,则X为数据类型uint8.在这种情况下,强度值的范围为X要么是[0,N-1]或[0,长度阈值)]。

  • 如果阈值的个数大于或等于256,则X为数据类型.在这种情况下,强度值的范围为X是[1,N]或[1,长度阈值) + 1]。

数据类型:uint8|

提示

  • 您可以使用imshow (X,地图)配上适当长度的色图。

算法

该函数对输入的灰度图像进行多级阈值处理,并返回一个索引图像作为输出。如果指定了阈值的个数N,然后grayslice将像素赋给N指数根据这些阈值。

  • 第一个索引X由范围内的灰度像素组成 一个 x _ n t e n 年代 t y × 0 1 N )

  • k中第-索引X由范围内的灰度像素组成 一个 x _ n t e n 年代 t y × k 1 N k N )

  • 最后一个索引X由范围内的灰度像素组成 一个 x _ n t e n 年代 t y × N 1 N 1

max_intensity这取决于输入图像的数据类型。

图像数据类型 max_intensity
uint8 255
int16uint16 65535
1

请注意

在对数据类型的图像进行阈值设置之前int16,grayslice函数将图像转换为uint16每个像素加32,768。

扩展功能

版本历史

R2006a之前介绍

全部展开

另请参阅

Baidu
map