您的位置:首页 > 编程语言 > MATLAB

比特平面分层原理及matlab实现

2017-10-27 10:52 786 查看
比特分层作用: 可以直观的看到某一灰度范围对图像的贡献,白色为有贡献,黑色无贡献;最终,可以通过某几层主要贡献层重建原图,实现图像压缩。



【0~2)对应第1比特层,

【2~4)对应第2比特层,

【4~8)对应第3比特层,

【8~16)对应第4比特层,

【16~32)对应第5比特层,

【32~64)对应第6比特层,

【64~128)对应第7比特层,

【128~256)对应第8比特层。

若图像存在对应比特层的灰度值,像素值赋值为255(白),不在该范围内,赋值为0(黑).

matlab实现:

A=imread('a.bmp');%读取图像
A=rgb2gray(A);
A1=A;
[m,k,s]=size(A1);

subplot(3,3,1)
imshow(A);
for n=1:8
for i=1:m
for j=1:k
if(A(i,j)>=2^(n-1)&&A(i,j)<2^n)%判断是否在该比特层中
A1(i,j)=255;
else
A1(i,j)=0;
end
end
end
subplot(3,3,n+1)
imshow(A1);
end


效果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息