想要解决的问题:投影条纹处理的过程中,背景信息无用且影响处理效果,于是准备剔除背景
方法1、计算出图片各点处的幅值,判断小于一个数值,进行赋值处理
问题: 筛选的数值大了物体有缺失,小了有无效点
方法2、圈出物体边界,将边界外的剔除
matlab提取多边形区域_[转载]【转】matlab中地图边界与掩膜(去掉边界外区域)的实现
遇到问题:边界有断点
处理如下:(1)对边界进行处理,另外一个地方出现断点
图像分割——边缘检测——边缘连接的局部处理(Matlab)
(2)将两个边界合并,互相补充
location2=[B1{1};B{1}];%得到的是坐标点
figure;plot(location2(:,2),location2(:,1),'bd-');
bw3=imfill(location2,'holes');
figure;plot(bw3(:,2),bw3(:,1),'bd-');
mymask=fill(location2(:,1),location2(:,2),'b');%如下图,但mymask是1*1的patch,不是掩膜图像
(3) 怎样得到 fill 函数填充后的图像对象
直接用 poly2mask 就可以得到填充后的二值图像
实际得到的是二值边界
matlab中孔洞填充后如何保存为图片
(4)学习杂记十六:matlab—孔洞填充实例
尝试这个
将两个边界图像合并,而不是边界合并
I_edge2=I_edge1+I_edge;
bw4=imfill(I_edge2,'holes');
figure;
imshow(bw4);%如下图,虽然有一些杂点,但是还算满意