⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 matlab灰度图像的按位分割.txt

📁 MATLAB绘制出权值wv和阀值bv确定的误差曲面
💻 TXT
字号:
这是我在数字图像处理作业上写的一些小程序,主要功能是实现灰度图像的按位分割:


主程序 :

   I=imread('FIG5.jpg');

subplot(2,4,1),imshow(bit_seg(I,0)),title('bit1');

subplot(2,4,2), imshow (bit_seg(I,1)),title('bit2');

subplot(2,4,3), imshow (bit_seg(I,2)),title('bit3');

subplot(2,4,4), imshow (bit_seg(I,3)),title('bit4');

subplot(2,4,5), imshow (bit_seg(I,4)),title('bit5');

subplot(2,4,6), imshow (bit_seg(I,5)),title('bit6');

subplot(2,4,7), imshow (bit_seg(I,6)),title('bit7');

subplot(2,4,8), imshow (bit_seg(I,7)),title('bit8');


函数bit_seg:

%函数输入参数为需要位分割的图像image,和分割所依据的是第几位bit,输出为%位分割后的标记矩阵。

%位图象分割程序
%author:zdq,any question please contact:zdq823@gmail.com
%this fuction is to segment a gray picture with bit
function result=bit_seg(image,bit)
[height,width]=size(image);
result=zeros(height,width);   
for i=1:height
    for j=1:width
        k=1;
        flag=0;
        while k<(2^(8-bit))
            if image(i,j)<k*(2^bit)
                  result(i,j)=0;
                  flag=1;
           elseif k*(2^bit)<=image(i,j)&&image(i,j)<(k+1)*(2^bit)
                   result(i,j)=255;
                   flag=1;
             end
             k=k+2;
             if(flag)
              break;
          end
        end          
   end
end


上面这程序需要循环的次数较多,我们可以考虑采用下面的改进算法,可提高效率:

function result=bit_seg1(image,bit)
[height,width]=size(image);
result=zeros(height,width);   
for i=1:height
    for j=1:width
            if mod((fix(double(image(i,j))/(2^bit))+1),2)
                  result(i,j)=0;
              else
                   result(i,j)=255;
               end
          end
        end          
   end
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -