帮助中心帮助中心
数字转换图像使用指定的量子化水平和输出值
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 (“foggysf2.jpg”);I = rgb2gray(我);imshow (I)标题(“灰度图像”)
计算两个阈值水平。
打= multithresh(我,2);
使用图像分割成三个层次imquantize。
标签= imquantize(我打);
分割的图像转换成彩色图像使用label2rgb和显示。
label2rgb
labelsRGB = label2rgb(标签);imshow (labelsRGB)标题(“分割图像”)
阅读真彩图像(RGB)和显示它。
我= imread (“peppers.png”);imshow (I)轴从标题(“RGB图像”);
从整个生成阈值7水平RGB图像。
threshRGB = multithresh (7);
为每架飞机的RGB图像生成阈值。
threshForPlanes = 0 (3、7);为i = 1:3 threshForPlanes(我:)= multithresh(我(:,:,i), 7);结束
过程整个图像的阈值计算整个图像。
值= [0 threshRGB(结束)2:255];quantRGB = imquantize(我threshRGB价值);
分别处理每个RGB飞机使用阈值向量计算从给定的平面。数字转换每个RGB飞机使用阈值向量生成的平面。
quantPlane = 0(大小(I));为我= 1:3价值= [0 threshForPlanes(结束),2:255];quantPlane(:,:我)= imquantize(我(:,:,i), threshForPlanes(我:),值);结束quantPlane = uint8 (quantPlane);
显示两个色调分离图像和注意的视觉差异在两个阈值方案。
imshowpair (quantRGB quantPlane,“蒙太奇”)轴从标题(“完整的RGB图像量化Plane-by-Plane量化”)
比较结果,计算独特的RGB的数量在每个输出图像像素矢量。注意,plane-by-plane阈值方案收益率约23%比完整的RGB图像颜色方案。
昏暗的大小= (quantRGB);quantRGBmx3 =重塑(quantRGB prod(暗(1:2)),3);quantPlanemx3 =重塑(quantPlane prod(暗(1:2)),3);colorsRGB =独特(quantRGBmx3,“行”);colorsPlane =独特(quantPlanemx3,“行”);disp ([的独特的颜色RGB图像:int2str(长度(colorsRGB))));
独特的颜色RGB图像:188
disp ([“Plane-by-Plane形象:独特的颜色”int2str(长度(colorsPlane))));
在231年Plane-by-Plane形象:独特的颜色
减少图像的离散水平的数量从256年到8。这个示例使用两种不同的方法将值分配给每个8输出水平。
读取图像并显示它。
我= imread (“coins.png”);imshow (I)轴从标题(灰度图像的)
把图像分割成八个水平获得七的阈值multithresh函数。
multithresh
打= multithresh(我,7);
构建valuesMax向量,这样每个量化区间的最大值是分配到输出图像的八个级别。
valuesMax
valuesMax =(打max(我(:)))
valuesMax =1×8 uint8行向量65 88 119 149 169 189 215 255
[quant8_I_max,指数]= imquantize(我打valuesMax);
同样,构建valuesMin向量的最小值在每个量化间隔分配给八个级别的输出图像。而不是打电话imquantize再次与向量valuesMin,使用输出参数索引指定这些值输出图像。
valuesMin
我(:)valuesMin = [min()打)
valuesMin =1×8 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。
数据类型:双
imquantize万博1manbetx支持C代码的生成(需要MATLAB®编码器™)。有关更多信息,请参见图像处理代码生成。
backgroundPool
ThreadPool
这个函数完全支持线程的环境。万博1manbetx有关更多信息,请参见MATLAB函数线程环境中运行。
全部展开
imquantize现在支持万博1manbetx线程的环境。
multithresh|label2rgb|rgb2ind
rgb2ind
你有一个修改版的这个例子。你想打开这个例子与编辑?
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
联系你当地的办公室