MATLAB中怎么用fill填充指定区域?

 我来答
床前明月枕在梦
推荐于2019-11-15 · TA获得超过2万个赞
知道小有建树答主
回答量:235
采纳率:100%
帮助的人:6.8万
展开全部

 MATLAB 图像处理工具箱中提供了函数 roifill 用于对特定区域的填充,其语法格式为:

  •    J = roifill(I,c,r)

  •    J = roifill(I)

  •    J = roifill(I,BW)

  •    [J,BW] = roifill(⋯)

  •    J = roifill(x,y,I,xi,yi)

  •     [x,y,J,BW,xi,yi] = roifill(⋯)

1、其中 J=roifill(I,c,r)填充由向量 c、r 指定的多边形,c 和 r 分别为多边形各顶点的 x、y 坐标。它是通过求解边界的拉普拉斯方程,利用多边形边界点的灰度平滑的插值得到多边形内部的点。通常可以利用对指定区域的填充来“擦”掉图像中的小块区域。

2、J=roifill(I)表示由用户交互选取填充的区域。选择多边形的角点后,按 Enter 键表示结束,空格键或 Del 键表示取消一个选择。

3、J=roifill(I,BW)用掩模图像 BW 选择区域。

4、 [J,BW]=roifill(⋯)在填充区域的同时还返回掩模图像 BW。

5、 J=roifill(x,y,I,xi,yi)和[x,y,J,BW,xi,yi]=roifill(⋯)表示在指定的坐标系 xy 下填充由向量 xi和 yi 指定的多边形区域。按照这个理解就可以完成特定区域的填充。

语法格式的示例如下:

  • I=imread('eight.tif');
    %matlab自带的素材图,不需要指定路径,在MATLAB的工作路径下,C:\Program

  • Files\MATLAB\R2014a\toolbox\images\imdata

  • c=[222 272 300 270 221 194];

  • r=[21 21 75 121 121 75];

  • J=roifill(I,c,r);

  • figure,imshow(I),title('原图');

  • >> figure,imshow(J),title('填充后的图')

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式