南京大学电子科学与工程学院 1 《数字图像处理》 实验报告 姓名 XXX 学号 111111111 专业 XXX 实验 5 一、实验目的 1、初步学习掌握形态学的基本知识; 2、学会和掌握形态学中基本的图像处理,包括膨胀与腐蚀,开操作和闭操作,边界提取,区域填充,细化粗化等。 3、进一步熟练掌握matlab 操作,运用 matlab 对二值图像实现边界提取,在边界提取基础上实现区域填充。在区域填充基础上实现细化,在细化基础上再实现粗化。 二、核心代码及运行截图 首先读取原图像如下: im=imread('E:/matlab/zimu.jpg'); 数 字 图 像 处 理 报 告 形 态 学 --第 1页数 字 图 像 处 理 报 告 形 态 学 --第 1页南 京 大 学 电 子 科 学 与 工 程 学 院 2 将 原 图 转 化 为 灰 度 图 , 命 令 如 下 : im = rgb2gray(im); 对 图 像 进 行 二 值 化 处 理 , 代 码 如 下 : binary.m function [ y ] = binary( im ) [m,n] = size(im); y = zeros(m,n); for i=1:m for j=1:n if im(i,j)>127 y(i,j) = 1; else y(i,j) = 0; end end end end 对 图 像 进 行 膨 胀 处 理 , 代 码 如 下 : expand.m function [ y ] = expand( im,B ) [m,n] = size(im); [a,b] = size(B); y = zeros(m,n); for i=(1+(a-1)/2):(m-(a-1)/2) for j=(1+(b-1)/2):(n-(b-1)/2) if sum(sum(B & im(i-(a-1)/2:i+(a-1)/2,j-(b-1)/2:j+(b-1)/2)),2) ~= 0 y(i,j) = 1; end end end end 以 上 处 理 过 程 命 令 代 码 以 及 所 得 结 果 如 下 : subplot(2,2,1);imshow(im);title('original image'); im=rgb2gray(im); 数 字 图 像 处 理 报 告 形 态 学 --第 2页数 字 图 像 处 理 报 告 形 态 学 --第 2页南 京 大 学 电 子 科 学 与 工 程 学 院 3 subplot(2,2,2);imshow(im);title('gray image'); im=binary(im); subplot(2,2,3);imshow(im);title('binary image'); B=ones(3,3); B1 = [0,1,0;1,1,1;0,1,0]; im1 = expand(im,B); subplot(2,2,4);imshow(im1);title('expand image'); 处 理 结 果 图 片 如 下 : 将 原 二 值 图 像 与 膨 胀 图 像 相 减 得 到 对 比 图 像 , 命 令 如 下...