使用指定的量化级别和输出值量化图像
quant_A = imquantize(水平)
quant_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
如果(k)≤水平(1),然后quant_A (k) =1.
如果水平(m - 1)<(k)≤水平(米),然后quant_A (k)=米.
如果(k)>水平(N),然后quant_A (k) =N + 1.
请注意,imquantize为两个隐式定义的结束间隔赋值:
imquantize
(k)≤水平(1)
(k)>水平(N)
quant_A= imquantize (___,值)添加了N + 1元素的向量值在哪里N=长度(水平).每一个N + 1的元素值对象之一的量化值N + 1中的离散像素值quant_A.
quant_A= imquantize (___,值)
值
长度
如果(k)≤水平(1),然后quant_A (k) =值(1).
如果水平(m - 1)<(k)≤水平(米),然后quant_A (k)=值(米).
如果(k)>水平(N),然后quant_A (k) =值(N + 1).
[quant_A,指数) = imquantize (___)返回一个数组指数这样:
[quant_A,指数) = imquantize (___)
指数
quant_A=值(指数)
值(指数)
全部折叠
读取图像并显示它。
我= imread (“circlesBrightDark.png”);imshow (I)轴从标题(原始图像的)
计算两个阈值水平。
打= multithresh(我,2);
将图像分割成三个层次使用imquantize.
seg_I = imquantize(我打);
将分割图像转换为彩色图像使用label2rgb和显示。
label2rgb
RGB = label2rgb (seg_I);图;imshow (RGB)轴从标题(RGB图像分割的)
读取真彩色(RGB)图像并显示它。
我= imread (“peppers.png”);imshow (I)轴从标题(“RGB图像”);
从整个RGB图像生成7级阈值。
threshRGB = multithresh (7);
为RGB图像的每个平面生成阈值。
threshForPlanes = 0(3、7);为i = 1:3 threshForPlanes(我:)= multithresh(我(:,:,i), 7);结束
用从整幅图像中计算出的阈值集对整幅图像进行处理。
value = [0 threshRGB(2:end) 255];quantRGB = imquantize(I, threshRGB, value);
使用从给定平面计算的阈值向量分别处理每个RGB平面。使用为该平面生成的阈值向量量化每个RGB平面。
quantPlane = 0 (size(I));为i = 1:3 value = [0 threshForPlanes(i,2:end) 255];quantPlane(:,:我)= imquantize(我(:,:,i), threshForPlanes(我:),值);结束quantPlane = uint8 (quantPlane);
显示两种分割图像并注意两种阈值方案的视觉差异。
imshowpair (quantRGB quantPlane,“蒙太奇”)轴从标题(“全RGB图像量化平面逐平面量化”)
为了比较结果,计算每个输出图像中唯一的RGB像素向量的数量。注意,逐平面阈值方案产生的颜色比全RGB图像方案多23%。
dim = size(quantRGB);qtrgbmx3 =重塑(qtrgb, prod(dim(1:2)), 3);quantPlanemx3 =重塑(quantPlane, 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)轴从标题(灰度图像的)
从多阈值中提取7个阈值,将图像分成8个级别。
打= multithresh(我,7);
构建valuesMax向量,使每个量化区间的最大值被赋给输出图像的八个层次。
valuesMax
valuesMax = [thresh max(I(:))]
valuesMax =1x8 uint8行向量65 88 119 149 169 189 215 255
[quant8_I_max, index] = imquantize(I,thresh,valuesMax);
同样,构建valuesMin向量,使每个量化区间的最小值被赋给输出图像的八个层次。而不是打电话imquantize还是用矢量valuesMin,使用输出参数索引将这些值赋给输出图像。
valuesMin
valuesMin = [min(I(:)) thresh]
valuesMin =1x8 uint8行向量23 65 88 119 149 169 189 215
quant8_I_min = valuesMin(指数);
并排显示两个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的类双.
映射数组,作为与输入图像大小相同的数组返回一个.它包含访问的整型索引值构造输出图像:quant_A=值(指数).如果输入参数值是没有定义的吗指数=quant_A.
数据类型:双
使用注意事项及限制:
这个函数支持C代码的生成使用万博1manbetxMATLAB®编码器™.有关更多信息,请参见用于图像处理的代码生成.
label2rgb|multithresh|rgb2ind
multithresh
rgb2ind
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系
得到审判现在