用matlab怎么实现图像灰度级的量化,也就是灰度级压缩,从256级量化到16级
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用matlab怎么实现图像灰度级的量化,也就是灰度级压缩,从256级量化到16级相关的知识,希望对你有一定的参考价值。
可以参考下面的方法。
直接从灰度矩阵转换,转换到A级:
if isa(im_mat,'uint8')
im_mat = floor(im_mat/255*A-1);
end
本题,则为
if isa(im_mat,'uint8')
im_mat = floor(im_mat/255*15);
end
即可
扩展资料:
Matlab参考函数
ones( )创建一个所有元素都为1的矩阵,其中可以制定维数,1,2….个变量
zeros()创建一个所有元素都为0的矩阵
eye()创建对角元素为1,其他元素为0的矩阵
diag()根据向量创建对角矩阵,即以向量的元素为对角元素
magic()创建魔方矩阵
horcat C=[A,B],水平聚合矩阵,还可以用cat(1,A,B)
参考资料来源:百度百科-MATLAB
参考技术A 直接从灰度矩阵转换,转换到A级:if isa(im_mat,'uint8')
im_mat = floor(im_mat/255*A-1);
end
本题,则为
if isa(im_mat,'uint8')
im_mat = floor(im_mat/255*15);
end
即可 参考技术B 你要实现均匀量化还是非均匀量化的
matlab图像转灰度图像
在matlab里怎么使得图像转换为只跟亮度有关的灰度图像?然后怎么获取这个灰度图像亮度值?这个亮度值是可以表示一个平面凹凸不平的平均深度吗?非常感谢。
参考技术A如果是彩色图片的话 转成hsv色彩空间,然后v通道内好像就是亮度分量 直接显示v通道得到的就是基于亮度的原图的灰度化。
图像在matlab里面实际就是矩阵,矩阵每个值反映的就是这个像素点的灰度值,v通道的话对应的即为亮度值。
这个只是一个理解上的问题了, 平时我们所说的图像深度指的是 用来表示像素值的bit个数 例如深度为1的为 二值图 深度为8的则为256灰度图 ,当然 你用8bit也可以做成伪彩色图片 只是8比特表示三个通道的值 所能区分的颜色比较少而已 关键在于你想进行什么样的处理了
rgb2gray
取亮度值就直接取就行了比如
彩色图象im
gray = rgb2gray(im); 得到灰度图像
gray(i,j)就是第i行第j列的亮度值
这个亮度值是可以表示一个平面凹凸不平的平均深度吗? 不懂是什么问题。。追问
比如一个凹凸不平的面,我想知道这个面底面和顶面的平均距离,用亮度值可以表示吗?
追答这个要看你的图片到底什么样子了,用灰度值减一下得到的结果肯定可以反应深度的信息,但是这个值和真实深度之间应该会有一些尺度变换之类的东西,这个要具体问题具体分析了
本回答被提问者采纳 参考技术C 请查看rgb2ind函数。以上是关于用matlab怎么实现图像灰度级的量化,也就是灰度级压缩,从256级量化到16级的主要内容,如果未能解决你的问题,请参考以下文章