GNU Octave错误“imfill:不支持交互模式”

时间:2017-10-01 22:48:49

标签: image octave

我正在尝试使用Octave-Forge图像包中的imfill函数。我尝试制作.m脚本,并尝试从Octave GUI执行imfill函数。两次我都得到同样的错误:

  

错误:imfill:尚不支持交互式使用

什么是“互动使用”?我认为交互式使用是在您使用交互式解释器时。我认为编写一个脚本,使其可执行,并从CLI运行它更像是“批处理模式”。

如果不支持“交互式使用”,那么支持哪种用法?我如何使用imfill

下面我列出了违规代码。

fn   = args{1};                                                                                                                                              
I    = imread(fn);                                                                

Igray = rgb2gray(I);                                                           
Ibw   = im2bw(Igray);                                                          

se_2x2square = strel("square", 2);                                             

Iedge  = edge(uint8(Ibw));                                                     
Iedge2 = imdilate(Iedge, se_2x2square);                                        
Ifill  = imfill(Iedge2);

这是来自imfill的实际代码抛出错误。

   if (islogical (img))
      ## imfill (BW)
      error ("imfill: interactive usage is not yet supported");
    else
      ## syntax: imfill (img)
      fill_holes = true;
    endif

1 个答案:

答案 0 :(得分:0)

我对术语"互动"感到困惑。错误是因为我只给了imfill一个参数。目前仅使用一个参数调用imfill(我猜是交互模式)仅针对灰度图像实现。使用第二个参数可以解决问题。

Ifill  = imfill(Iedge2, "holes");

,可以调整参数以获得更好的结果。