首页 > 代码库 > 分段线性变换函数——比特平面分层

分段线性变换函数——比特平面分层

1.比特平面分层
比特平面。取代突出灰度级范围,突出特定比特来为整个图像外观做出贡献。

(数字图像处理(中卫第3版))
以下的样例是该书上使用的实例。这里在matlab中进行实现,帮助大家理解,同一时候请大家提出宝贵的改动意见。


思想:使用书中的图片(到官网进行下载)。在8比特下,遍历整个图像,用像素值与各比特面的值(2^(n-1),n为比特面)进行位与操作,推断该像素值在该比特面是否存在即该比特位是否为1,假设存在进行二值化给该像素值所在位赋值为255,这也是突出显示该比特的核心,否则赋值0。
2.实现代码
%%
%图像的分段线性变换——比特平面分层
%作者:褚凯
%日期:2015.07.30
%%
originalImg = imread(‘Fig0314(a)(100-dollars).tif‘);
tempImg = originalImg;
figure;
subplot(3,3,1);
imshow(originalImg);
title(‘原始图像‘);
height = size(originalImg,1);
width = size(originalImg,2);
for n = 1:8
    for i=1:height
        for j=1:width
            gray =bitand( originalImg(i,j), 2^(n-1) );%位与操作推断
           if(gray==2^(n-1))
                tempImg(i,j) = 255;%二值化 突出比特平面            
            else
                tempImg(i,j) = 0;
           end                          
        end
    end
    subplot(3,3,n+1);
    imshow(tempImg);
    title([‘第‘,num2str(n),‘比特图像 ‘]);

end

技术分享

分段线性变换函数——比特平面分层