24小时热门版块排行榜    

查看: 3790  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

我爱小虫子

新虫 (正式写手)

[求助] 到底怎么实现,bwfill和imfill

在用MATLAB图像处理中用到填充的算法,在网上搜了也没看到清楚的,真心想搞明白bwfill这个函数到底是什么原理,怎么实现的,望大家给点帮助,万分感谢!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

我爱小虫子

新虫 (正式写手)

引用回帖:
2楼: Originally posted by 月只蓝 at 2013-09-02 13:36:52
认真研读一下MATLAB的help文档吧,解释最权威:

BWFILL Fill background regions in binary image.

    BWFILL is a grandfathered function that has been replaced by
    IMFILL.

    BW2 = BWFILL ...

额,,,好吧,谢谢你。。。
4楼2013-09-03 07:57:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

月只蓝

主管区长 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
认真研读一下MATLAB的help文档吧,解释最权威:

BWFILL Fill background regions in binary image.

    BWFILL is a grandfathered function that has been replaced by
    IMFILL.

    BW2 = BWFILL(BW1,C,R,N) performs a flood-fill operation on
    the input binary image BW1, starting from the pixel (R,C). If
    R and C are equal-length vectors, the fill is performed in
    parallel from the starting locations (R(k),C(k)). N can have
    a value of either 4 or 8 (the default), where 4 specifies
    4-connected foreground and 8 specifies 8-connected
    foreground. The foreground of BW1 comprises the "on" pixels
    (i.e., having value of 1).

    BW2 = BWFILL(BW1,N) displays the image BW1 on the screen and
    lets you select the starting points using the mouse. If you
    omit BW1, BWFILL operates on the image in the current
    axes. Use normal button clicks to add points. Press
    <BACKSPACE> or <DELETE> to remove the previously selected
    point. A shift-click, right-click, or double-click selects
    a final point and then starts the fill; pressing <RETURN>
    finishes the selection without adding a point.

    [BW2,IDX] = BWFILL(...) returns the linear indices of all
    pixels filled by BWFILL.

    BW2 = BWFILL(X,Y,BW1,Xi,Yi,N) uses the vectors X and Y to
    establish a nondefault spatial coordinate system for BW1. Xi
    and Yi are scalars or equal-length vectors that specify
    locations in this coordinate system.

    [X,Y,BW2,IDX,Xi,Yi] = BWFILL(...) returns the XData and YData
    in X and Y; the output image in BW2; linear indices of all
    filled pixels in IDX; and the fill starting points in Xi and
    Yi.

    BW2 = BWFILL(BW1,'holes',N) fills the holes in the binary
    image BW1. BWFILL automatically determines which pixels are
    in object holes, and then changes the value of those pixels
    from 0 to 1. N defaults to 8 if you omit the argument.

    [BW2,IDX] = BWFILL(BW1,'holes',N) returns the linear indices
    of all pixels filled in by BWFILL.

    If BWFILL is used with no output arguments, the resulting
    image is displayed in a new figure.

    Remarks
    -------
    BWFILL differs from many other binary image operations in
    that it operates on background pixels, rather than foreground
    pixels. If the foreground is 8-connected, the background is
    4-connected, and vice versa. Note, however, that you specify
    the connectedness of the foreground when you call BWFILL.

    Class Support
    -------------
    The input image BW1 must be a numeric or logical matrix. The output
    image BW2 is logical.

    See also bwselect, imfill, roifill.
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2013-09-02 13:36:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

感谢参与,应助指数 +1
主要用来填充图像中的孔洞
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
3楼2013-09-02 18:31:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

我爱小虫子

新虫 (正式写手)

引用回帖:
3楼: Originally posted by libralibra at 2013-09-02 18:31:43
主要用来填充图像中的孔洞

恩,这个我知道,我想知道他的比较通俗易懂的原理,,,,谢谢哦
5楼2013-09-03 07:58:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见