《数字图像处理》实验报告学号专业 电子科学与工程学院实验 5一、实验目的本次实验的处理对象是二值图像,关于二值图像的处理运算主要包括腐蚀和膨胀
它们是其他处理过程的主要运算环节
开闭操作通过腐蚀和膨胀的不同顺序组合,能够使图像平滑,开闭操作再组合能够成噪声滤波器
形态学中的击中击不中变换也应用了腐蚀的运算,用于推断图像中能否找到目标结构,这在图像细化中也得到了应用
本次实验主要实现:1.图像的边缘提取;2.在边缘提取的基础上实现区域填充;3.在区域填充的基础上实现图像细化;4.在图像细化的基础上实现图像粗化
在 Matlab 软件的自带函数库中其实本身就包含有以上处理过程的函数,为了深化理解每种处理过程的原理,本次实验所有运算都自行编写实现
二、核心代码与运行后截图主函数:%% 读取图像clear;clc;I = imread('onepiece
jpg');I = im2bw(I);% 转换为二值图像[m,n] = size(I);%% 边界提取f = im2bw([0,1,0;1,1,1;0,1,0]); % 腐蚀用的结构元素F = fs(I,f);BW = im2bw(I-F);% 用原图减去腐蚀获得边缘figure;imshow(I);title('原图');figure;imshow(F);title('腐蚀图像');figure;imshow(BW);title('边界');在上面的运行效果图上看来,由于原图选择的原因,周围一圈白线有一定宽度但不足够粗,大概只有2~3个像素宽度而腐蚀用元素大小为3×3,这导致腐蚀后图像留下的白线看起来残缺不全,用原图减去腐蚀后得到的边缘图像也在白线处有“粘在一块”的现象
只要使用更高一些分辨率的图片即可避开这样的情况
但出于后续试验的运行速度考虑,本