文档帮助中心文档
使用指定的量化级别和输出值量化图像
quant_a = imquantize(a,级别)
quan_a = imquantize(___,价值)
[quant_A,指数]= imquantize (___)
例子
quant_A= imquantize(一个,水平)量化图像一个使用包含的指定量化值N元素的向量水平.输出图像quant_A与尺寸相同一个并包含N + 1范围内的离散整数值1来N + 1由以下标准确定:
quant_A= imquantize(一个,水平)
quant_A
一个
水平
N
N + 1
1
如果a(k)≤水平(1),然后quan_a(k)=1.
如果水平(m - 1)<a(k)≤水平(米),然后quant_A (k)=米.
如果a(k)>水平(N),然后quan_a(k)=N + 1.
请注意,imquantize为两个隐式定义的结束区间赋值:
imquantize
a(k)≤水平(1)
a(k)>水平(N)
quant_A= imquantize(___,价值)添加了N + 1元素的向量价值在哪里N=长度(水平).每一个N + 1要点价值的量化值之一N + 1中的离散像素值quant_A.
quant_A= imquantize(___,价值)
价值
长度
如果a(k)≤水平(1),然后quan_a(k)=价值观(1).
如果水平(m - 1)<a(k)≤水平(米),然后quant_A (k)=价值(m).
如果a(k)>水平(N),然后quan_a(k)=值(n + 1).
[quant_A,指数) = imquantize (___)返回阵列指数这样:
[quant_A,指数) = imquantize (___)
指数
quant_A=值(索引)
值(索引)
全部收缩
读取图像并显示它。
我= imread ('circlesbrightdark.png');imshow (I)轴离开标题(原始图像的)
计算两个阈值水平。
thresh = multithresh(i,2);
将图像分段为三个级别使用imquantize.
seg_i = imquantize(i,thresh);
将分割图像转换为彩色图像使用label2RGB.并显示它。
label2RGB.
RGB = label2rgb (seg_I);图;imshow (RGB)轴离开标题('RGB分段图像')
读取TrueColor(RGB)图像并显示它。
我= imread ('peppers.png');imshow (I)轴离开标题(“RGB图像”);
从整个RGB图像生成7个级别的阈值。
threshRGB = multithresh (7);
为RGB图像的每个平面生成阈值。
threshorplanes = zeros(3,7);为i = 1:3阈值(i,:) = multithresh(i(:,:,i),7);结束
使用从整个图像中计算的阈值集处理整个图像。
value = [0 threshRGB(2:end) 255];quantRGB = imquantize(I, threshRGB,值);/ /
使用从给定平面计算的阈值矢量分别处理每个RGB平面。使用为该平面产生的阈值向量来量化每个RGB平面。
Quantplane =零(尺寸(i));为i = 1:3值= [0阈值(i,2:结束)255];Quandplane(:,:,i)= imquantize(i(:,i),阈值(i,:),值);结束quantPlane = uint8 (quantPlane);
显示两个分离后的图像,并注意两种阈值方案的视觉差异。
imshowpair(Quantrgb,Quantplane,“蒙太奇”)轴离开标题('完整的RGB图像量化平面量化')
要比较结果,请计算每个输出图像中的唯一RGB像素矢量的数量。注意,平面平面阈值方案比完整的RGB图像方案产生的颜色更多约23%。
dim = size(quantrgb);QuantrGBMX3 = REPAPE(QuantrGB,Prod(Dim(1:2)),3);QuantPlanemx3 = REPAPE(Quandplane,Prod(Dim(1:2)),3);ColorSRGB =唯一(QuantRGBMX3,“行”);colorsPlane =独特(quantPlanemx3,“行”);disp ([“独特的RGB图像颜色:”int2str(长度(colorsRGB))));
RGB图像的独特颜色:188
disp (['平面图像中的独特颜色:'INT2STR(长度(Colorsplane))]);
平面图像中的独特颜色:231
将图像中的离散级别从256个减少到8个。这个示例使用两种不同的方法为八个输出级别中的每一个赋值。
我= imread (“coins.png”);imshow (I)轴离开标题('灰度图像')
通过从中获得七个阈值将图像分成八个级别multithresh函数。
multithresh
打= multithresh(我,7);
建造valuesMax向量,使每个量化区间的最大值赋给输出图像的8个级别。
valuesMax
valuemax = [thresh max(i(:))]
RegureMax =1x8 uint8行向量65 88 119 149 169 189 215 255
[quant8_i_max,index] = imquantize(i,thresh,stegsmax);
同样,构建价值素矢量使得每个量化间隔中的最小值被分配给输出图像的八个级别。而不是打电话imquantize还是这个向量价值素,使用output参数索引将这些值赋给输出图像。
价值素
valuesMin = [min(I(:))) thresh]
valuesMin =1x8 uint8行向量23 65 88 119 149 169 189 215
quant8_i_min =值in(索引);
并排显示这两个8级输出图像。
imshowpair (quant8_I_min quant8_I_max,“蒙太奇”) 标题(最小间隔值最大间隔值)
输入图像,指定为任何维度的数字数组。
数据类型:单|双倍的|int8|INT16|INT32.|INT64.|uint8|uint16|uint32|uint64
单
双倍的
int8
INT16
INT32.
INT64.
uint8
uint16
uint32
uint64
量化级别,指定为N元素的向量。离散量化电平的值必须是单调递增的。
量化值,指定为N + 1元素的向量。
量化的输出图像,以数字数组的大小返回一个.如果输入参数价值是指定的,那么quant_A数据类型与价值.如果价值没有指定,那么quant_A是课堂双倍的.
映射数组,返回一个与输入图像大小相同的数组一个.它包含Integer Indices访问权限价值要构建输出图像:quant_A=价值(指数).如果输入参数价值没有定义,然后指数=quant_A.
数据类型:双倍的
imquantize金宝app支持C代码的生成(需要马铃薯草®编码器™).有关详细信息,请参见代码生成图像处理.
Backgroundgool.
螺纹池
这个函数完全支持基于线程的环境。金宝app有关详细信息,请参见在基于线程的环境中运行MATLAB函数.
multithresh|label2RGB.|RGB2IND.
RGB2IND.
您拥有此示例的修改版本。您是否希望使用您的编辑打开此示例?
你点击了一个与MATLAB命令相对应的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在可用的地方获得翻译的内容,并看到当地的活动和提供。根据您的地理位置,我们建议您选择:.
您还可以从以下列表中选择一个网站:
请选择中国网站(中文或英文),以获得最佳网站性能。MathWorks的其他国家站点并没有针对您所在位置的访问进行优化。
联系您当地的办公室