MATLAB_图形学_形态学课程_温馨饭店招牌&扣出‘温馨饭店’四个大字

关于温馨饭店的!
原图:

,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg1OTI4MA==,size_16,color_FFFFFF,t_70)
目的:
在这里插入图片描述
思路:
首先转化为二值图:
然后膨胀一下,这个是因为不进行膨胀的话,第二个字:温馨的“馨”。无法进行图像恢复。
没有连接到一起就会得到下面的结果:
在这里插入图片描述
可以看到,上面的那一部分丢失啦。这个就是重建图形只会重建连接在一起的图形。
接下来就是缩小研究范围,通过截取高亮度:im2bw(f,0.99);
im2bw函数的用法
得到:
在这里插入图片描述
接下来去除小对象:

bw_ao=bwareaopen(bw_adjust,100);
figure,imshow(bw_ao)

bwareaopen是matlab函数,作用是删除二值图像BW中面积小于P的对象,默认情况下conn使用8邻域。
本例是用100 邻域。
不去除小对象,直接重建的话:
在这里插入图片描述
使用去除小对象之后的还原;
在这里插入图片描述
因为之前进行了膨胀处理,所以要还原回来:
bw_re=imreconstruct(bw_ao,bw_dilate);
figure,imshow(bw_re);

对比图:
在这里插入图片描述
然后,进行切割就好啦:

[r,c]=find(rr);
result=rr(min(r):max(r),min(c):max(c));
figure,imshow(result)

全部代码:

clc,clear,close all;
f=imread('ws.jpg');
g=rgb2gray(f);
imshow(g)
bw=im2bw(f);
figure,imshow(bw)
se=strel('disk',2);
bw_dilate=imdilate(bw,se);
figure,imshow(bw_dilate);

bw_adjust=im2bw(f,0.99);
figure,imshow(bw_adjust)
bw_ao=bwareaopen(bw_adjust,100);
figure,imshow(bw_ao)
%bwareaopen是matlab函数,
%作用是删除二值图像BW中面积小于P的对象,默认情况下conn使用8邻域。

bw_re=imreconstruct(bw_ao,bw_dilate);
figure,imshow(bw_re);

rr=imreconstruct(bw_re,bw);
figure,imshow(rr)
[r,c]=find(rr);
result=rr(min(r):max(r),min(c):max(c));
figure,imshow(result)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值