图像形态学处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五:图像形态学处理
一、实验目的:
(1)了解二值形态学的基本运算
(2)掌握基本形态学运算的实现
(3)了解形态操作的应用
二、实验内容与要求
(1)设计程序实现对图1,实现去除图像中的噪声。
(2)设计程序,实现将图2转化为二值图像,并计算图中鸡块中骨头的比重。
(3)设计程序,实现去除图3中的矩形区域外的噪声,并填充矩形区域内部了。
三、实验代码及结果
1、(1)实验代码
>> i=imread('C:\Users\Administrator\Desktop\图片1.png');
>> se=ones(3);
>> I=imopen(i,se);
>> I=imclose(I,se);
>> subplot(1,2,1),imshow(i),title('图片1'),subplot(1,2,2),imshow(I),title('先开后闭');
(2)实验结果
2、(1)实验代码
.m文件:
function [new] =jisuan(original,T)
new=original;
m=size(original,1);
n=size(original,2);
for i=1:m
for j=1:n
if new(i,j)>=T
new(i,j)=1;
elseif new(i,j) new(i,j)=0; end end end end 命令行窗口代码: >> i=imread('C:\Users\Administrator\Desktop\图片2.png'); >> i1=double(i)./255; >> imhist(i1); >> i2=jisuan(i1,0.25); >> I=jisuan(i1,0.785); >> subplot(1,3,1),imshow(i),title('原图'),subplot(1,3,2),imshow(i2),title('鸡肉'),subplot(1,3,3),imshow(I),title('骨头'); >> n=bwarea(i2); >> m=bwarea(I); >> k=m/n k = 0.0471 (2)实验结果 3、(1)实验代码 >> i=imread('C:\Users\Administrator\Desktop\图片3.png'); >> se=ones(20); >> I=imerode(i,se); >> I=imdilate(I,se); >> I=imdilate(I,se); >> subplot(1,2,1),imshow(i),title('图片3'), subplot(1,2,2),imshow(I),title('先腐蚀后膨胀'); (2)实验结果 四、实验总结 1、图像二值化的时候,自己设置阈值可以使得到的答案更准确,但需要一些经验; 2、先腐蚀后膨胀或者是先膨胀后腐蚀并不一定能恢复原图。