levelset2image.m

来自「关于偏微分方程进行图像处理的电子书,对于学习动态轮廓实现图像的分割非常有用」· M 代码 · 共 33 行

M
33
字号
function levelset2image(out_filename)
% 水平集检验  体现图象与水平集的关系
% out_filename: 输出文件名

cd('level_set');
% 生成各层水平集-----------------------
temp=imread('level_set_0.bmp');
[size_r,size_c]=size(temp);
level_image=zeros(size_r,size_c,255);

for N=0:254         
    level_image(:,:,N+1)=imread(strcat('level_set_',num2str(N),'.bmp'));    
end

% 求各层矩阵最大值
conduct_image=zeros(size_r,size_c);

% 由各层水平集重构图像--------------------
for row=1:size_r
    for col=1:size_c
        for i=255:-1:1
            if level_image(row,col,i)==255
                conduct_image(row,col)=i;  %%%%%%            
                break;
            end
        end
    end
end

imshow(conduct_image,[]);
title('重构出的图像');
imwrite(uint8(conduct_image),out_filename);
cd('..');

⌨️ 快捷键说明

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